指南

如何在同一个项目仓库同时运行多个 AI 代理(避免 Git 冲突)

让多个代理在一个项目上工作需要三样东西:一台承载它们的机器、一个它们共用的目录,以及一条决定谁写哪里的规则。少了第三样,第二个代理会在没有任何提示的情况下抹掉第一个代理的工作。

步骤

  1. 创建项目. 一块画布会启动自己的机器和一个私有仓库。共用目录就存在这里,之后你打开的每个代理用的都是同一个目录。
  2. 接入你的账号. 连接你在 Anthropic、OpenAI 或其他厂商那里已经付费的订阅或 API 密钥。没有 token 被转售,消耗记在你自己的账号上。
  3. 每个代理开一个窗口. Claude Code、Codex、Kimi 和 OpenCode 各自在自己的窗口里打开,背后是真正的终端。Solo 套餐两个窗口,Pro 五个。
  4. 按文件分工,而不是按任务分工. 给每个代理项目的一个角落,而不是一个横跨全局的任务。两个代理各管一片区域会并行推进,两个代理盯着同一个文件则会互相等待。
  5. 让看板来仲裁. 代理在写入前先占用自己要动的路径,服务器会拒绝其他代理碰这些路径,直到它们被释放。你能看到谁占着什么,谁在等。

手边要准备什么

一个仓库,哪怕是空的,再加一个模型厂商的账号。其余的都由项目本身提供:机器、目录,以及分发文件的看板。

在仓库根目录放一份指令文件,比任何设置都更能改变结果。代理启动时会读取它,它能帮每个代理避开最初的五个错误。

真正有效的分工方式

合适的单位不是功能,而是文件。一个代理管接口,一个管界面,一个管测试:他们很少交叉,几乎不用互相等待。三个代理一起管"支付页面"这种任务划分,会让他们整整一个小时都在争抢同样那三个文件。

过程中你在看什么

终端在各自的窗口里滚动输出,看板显示谁占着哪个路径。一个卡住的代理在造成损失之前就能被看见,这正是它和一条看不见的等待队列的真正区别。这套机制的详细说明。

直接回答

同时用几个代理才有用?

取决于此刻项目里有多少个互不依赖的活儿要干,多数时候是两三个,大的重构能到五个。超过这个数,代理大部分时间都在等文件,而不是在写代码。

需要给每个代理一个 git worktree 吗?

这是大多数教程推荐的方法,确实有效:每个代理拿到自己的工作副本和独立索引,不会冲突。代价是每个副本都要合并一次,冲突到最后才会被发现。在带占用机制的共享目录上,没有什么需要合并,因为从一开始就不存在两个并存的版本。

需要给每个代理开一个分支吗?

不需要,这正是重点。每个代理一个分支只是把冲突挪到了合并的那一刻,而那时已经没人记得当初的思路了。带占用机制的共享目录会在冲突发生的那一秒就解决它。

两个代理都想要同一个文件会怎样?

第二个等着。它在屏幕上看得到,你也看得到,你可以立刻给它安排别的事,而不是一小时后才发现问题。