作者自述不具备编码能力,却通过 AI Agent 维护了一个拥有逾 3600 星、59 次发布和 34 位贡献者的开源桌面应用。其职责集中在需求、决策与验收,并将项目持续交付归因于质量关卡。
我是一名产品经理。我不会写代码——不是“写得不太好”,而是即使性命攸关,我也交付不了一个能正常工作的功能。Git 也是我在开发这个项目的过程中,跟着 AI 一点点学会的。
但现在,我维护着一款开源桌面应用:它有 3,600 多颗 GitHub star、59 次发布、34 位贡献者,UI 已翻译成 10 种语言。每一行代码都是 AI Agent 写的。我的工作是提需求、做决策和验收。架构、代码、测试和发布,则由 Agent 负责。
这篇文章不是要说“AI 很神奇,谁都能做到”。AI 写的代码会以一些可以预见的方式出问题。让这件事行得通的,关键不是 Agent,而是质量门禁。下面是我实际使用的整套机制,以及支撑它的证据。
我最初遇到的是一个自己的问题:这些年来,我在 GitHub 上给几百个仓库点过 star,但之后总是找不回来。GitHub 的 star 列表就是一面按时间倒序排列的墙;搜索匹配的是名称,而不是“那个能把网页转成 Markdown 的工具”。
在一个周末的黑客马拉松期间,bolt.new 可以免费使用。我描述了自己的需求——同步我的 star,让 AI 打标签、分类,再提供语义搜索——它就开始写代码。原型很丑,但确实能用:我的 star 列表自动整理好了,我也能用自然语言搜索它。
于是,我继续做了下去,全程使用 AI 服务的免费额度,一家额度用完就换另一家。(这个限制后来变成了一项产品决策:应用采用 BYOK,不绑定任何 provider。它不绑定厂商,因为作者从一开始就没有条件绑定任何一家。)
“Vibe-coded” 项目的名声大家都知道:演示不错,代码库却逐渐崩塌。我的代码库之所以没有崩塌,是因为任何改动在合并前,都必须通过一套自动化流水线,而它比许多人工开发团队执行的检查还严格。主 CI job 的名字就叫 Quality gates:
就连 CI runner 的镜像也固定了版本,并且留有注释解释原因:浮动的 ubuntu-latest 标签当时已有迁移计划,会在所有门禁脚下悄悄换掉工具链。
有个细节需要坦诚说明:依赖审计目前只生成报告,不阻止合并。CI 文件用直白的语言写明了原因——传递依赖链中有两项已知的高危安全通告,需要对工具链进行大版本升级才能解决;清理完这些积压问题后,审计就会成为阻断项。我宁愿给你看一个明确记录了例外的门禁,也不愿假装所有检查都是绿的。
再看数字:一共创建了 317 个 pull request,合并了 272 个,每一个都走过这条流水线。我也不再是唯一的作者——一位社区贡献者已经交付了多项重要功能,包括 Discovery 中的外部 feed、token 权限配置的入门指南,以及卡片快捷操作。他走的门禁和 Agent 完全一样。门禁不关心代码是谁写的。这正是它的意义。
我的工作流属于产品经理,而不是工程师:
你的护城河从来不是打字速度。在 Agent 时代,稀缺的能力是准确知道要做什么、为谁而做,以及如何判断它做对了——然后建立约束,让自动化工作始终经得起检验。产品经理、客服负责人、领域专家:你们一直都在为这件事积累能力。
这款应用叫 GithubStarsManager,采用 MIT 许可,local-first,免费。如果你的 star 列表已经成了仓库的坟场,它也许能让这些仓库重新派上用场。如果你是一名开发者,对 AI 编写的软件抱有怀疑——这种怀疑完全合理——仓库是公开的,去读读 CI 文件吧。我也读过——好吧,是 Agent 给我解释的。然后,和往常一样,我检查了它的工作。
披露:这篇文章由 AI 辅助起草,并由我审阅——坦白说,这也很符合这个项目一贯的做法。
如需采取进一步行动,你可以考虑屏蔽此人和/或举报滥用行为。