~/VibeHandbook
免费 PDF

19 · 04

后台与并行智能体

一旦你在划定范围的任务上信任某个智能体,下一步就显而易见:一次运行好几个。现代工具让你能启动后台智能体——各自在自己的分支或工作树(worktree,项目的一份单独的工作副本,这样一个智能体的改动永远不会和另一个的相撞)上——这样在你做别的事时,三四个划定范围的任务都在推进。

这是真正的提速,但仅限于独立的工作。你拿来交换的代价是协调。两个智能体编辑同一个文件会产生冲突的 diff,手动合并它们可能比你省下的还贵。

  • 按边界拆分,而非按行数。 给每个智能体一块与其他不重叠的部分——不同的模块、不同的功能、不同的文件。「智能体 A 做导出功能,智能体 B 写文档」很干净。「两个智能体都编辑 app.js」是预约了一场合并头疼。
  • 隔离工作空间。 让每个智能体在自己的 分支或工作树上运行,使它们踩不到彼此未提交的改动。一次合并一个回来,每次合并时都运行你的检查。
  • 诚实地控制数量。 你仍然必须审查每一个结果。四个智能体在跑,就是四份要读的 diff 和四套要信任的测试。超过一小撮之后,瓶颈就成了审查队列,而不是智能体。

每个智能体都在自己隔离的 worktree 里工作,于是它们的编辑永不碰撞;你一次合并回一个,并在每道关卡跑检查:

              ┌─────────────────────────────┐
              │  你按边界拆分               │
              └──────────────┬──────────────┘
            ┌────────────────┼────────────────┐
            ▼                ▼                 ▼
   ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
   │ 智能体 A     │ │ 智能体 B     │ │ 智能体 C     │
   │ worktree-a/  │ │ worktree-b/  │ │ worktree-c/  │
   │ 导出功能     │ │ 文档         │ │ 设置页面     │
   └──────┬───────┘ └──────┬───────┘ └──────┬───────┘
          │ branch-a       │ branch-b       │ branch-c
          └────────────────┼────────────────┘
                           ▼
                  ┌──────────────────┐
                  │  逐个合并        │  每次合并都跑检查
                  │  → main          │
                  └──────────────────┘
   隔离副本 = 无冲突   · 审查队列才是真正的瓶颈

错误在于把并行当成免费。它不是——你把工作从编写挪到了审查与集成。这常常是笔很好的交易,但前提是你真的去审查。

想离线阅读?

免费下载整本书的 PDF 或 EPUB。