跳到正文
原文
Google AI:DEV 作者专属(RSS)· 0x School·· 1 小时前精选AI 评分70

0x School 分享用一组 AI 智能体协作编码的实践,并发布 Claude Code 插件 Larceny

How I Code with a Team of AI Agents

AI 导读

作者用一支 AI 智能体团队运营自己的软件店:协调者把需求拆成小票,分给四个编码智能体并行开发,审查者对每个 pull request 做对抗式检查,第三轮介入、第五轮升级给作者。

推荐理由

作者以自己软件店的实测复盘多智能体协作编码,给出小票拆分、对抗式审查等可迁移做法和成本代价。

正文 · AI 翻译

我用一支 AI 智能体团队来运营我的软件工作室。我和其中一个智能体——协调者——沟通,他负责规划工作,把它拆成小工单,交给四个编码智能体,并确保每个拉取请求在合并前都经过审查者的检查。我把这套配置打包成了一个 Claude Code 插件,叫做 Larceny。

我为什么要搭建这套东西

如今人们用 AI 写代码主要有两种方式。第一种是 AI 辅助编程,编辑器居中,聊天窗口在侧边,你逐条接受或拒绝 AI 建议的每个改动。第二种是智能体编程,你告诉智能体你想要什么,它就自己去把它做出来。

我用的是第二种方式,却总是撞上同一个问题。就拿登录功能来说吧。如果我把整件事交给一个智能体,它会消失很长一段时间,然后带着一个登录页面、一大坨 diff 和一堆垃圾代码回来。接着我要么花几个小时审查它,要么因为 UI 不是我想要的样子而开始重写。智能体写代码的速度比我读代码还快,于是我就成了瓶颈。

我希望智能体能像一支优秀的工程团队那样工作——小工单、并行推进、代码审查——并且我想把协调工作也交给它们。

团队如何运作

Larceny org chart

团队里有一个协调者、四个编码者和一个审查者。另外还有一个顾问,我用来质疑协调者的决定,以及一个老师,负责解释我任何没跟上的地方。我是老板。

当我提出需求时,协调者会把它变成项目看板上的工单,判断哪些可以同时进行,并把每个工单分配给一个编码者。编码者在自己的分支上完成工单,带上测试,然后开一个拉取请求。

审查者被设定成对抗性的。她会挑毛病,留下行内评论,把工作打回去直到它没问题为止。如果审查进入第三轮,协调者会介入;到第五轮,就会升级到我这里。一旦审查者批准,工作就会合并,协调者再向我汇报。

默认团队以《越狱》里的角色命名,那是一部关于一个男人把他哥哥从监狱里救出来的电视剧。Scofield 是协调者,Sucre、Mahone、Whip 和 Sheba 是编码者。审查者是警匪情景喜剧《神烦警探》里的 Amy,顾问是 Yoda,老师是 Sara。你可以在设置时给它们任意改名。我在另一个项目里用过一支《权力的游戏》主题的团队。

这套配置需要什么

Larceny setup: Claude Code on your machine with git, gh and a repo, connected to a tracker and Discord

  • Claude Code,它用我的 Claude 订阅来运行这些智能体。
  • 一个至少有一次提交的 Git 仓库,以及已登录的 GitHub CLI,gh。
  • 一个任务追踪器。我用的是 GitHub Projects。
  • 可选:Discord,这样我就能用手机和协调者沟通。 README 涵盖了其余内容,包括为每个智能体配置可选的 GitHub 账号。

优点

更小的 diff。 每个工单都很小,所以每个拉取请求都小到一个人能一口气读完。我认为巨大的 diff 对智能体也不友好,因为审查者智能体在小改动里能抓到更多问题。

A small pull request: one ticket's change, short enough to read in one sitting

更快的交付。 互不依赖的工单会并行运行。

可追溯性。 每个改动都有工单、分支、拉取请求和审查讨论串。

合并前审查。 审查者会检查每个拉取请求,只有在智能体们无法达成一致时才会把我拉进来。

The reviewer agent's inline comments on a pull request before it merges

规划时间。 现在智能体承担了大部分实现工作,因此构建软件中缓慢的部分已转移到它之前的工作。Andrew Ng 称之为产品管理瓶颈。所以我把时间花在与协调者一起编写工单上,其他工程师会在任何智能体开始之前审查这些工单。我们正是在这里争论权衡取舍,并决定某件事应该如何构建。每个工单随后会链接到其拉取请求,因此审查代码意味着对照我们已经达成一致的内容来检查它。

缺点

  • 成本更高。我一周的 Claude 用量现在大约只够一天,我升级到了 Max 套餐。
  • 对于小修复来说这太过了,所以那些我会让协调者自己完成工作。
  • 设置起来需要花功夫。
  • 智能体仍会跳过步骤,比如在看板上移动卡片。发生这种情况时,协调者会更新它们的技能,这样下一个智能体就不会再跳过。
  • 你必须能坦然接受不再亲自写代码。

试一试

在 Claude Code 中:

/plugin marketplace add nestedmind/larceny
/plugin install larceny@larceny
/larceny:onboard

这个团队自己构建了 Larceny 的大部分内容,因此仓库中的工单、拉取请求和审查展示了实际工作流程。

我想听听任何针对一个仓库运行多个智能体的人的看法。你们如何防止审查成为瓶颈?

来源:Google AI:DEV 作者专属(RSS) · dev.to