本课就是官方文档最看重的一页「Your first 3-agent session」:从空应用开始,五分钟内让三个 Agent 并行跑同一任务,交付一个 PR。做完这一课,你就走完了 Orca 的全部核心循环。
目标场景
仓库里有个登录竞态 bug(或任意你想修的功能)。我们让三个 Agent 用三种思路各修一份,再挑最好的合并。
第 1 步:创建工作树(×3)
- 点仓库旁 +,任务名
fix-login-race,Agent 选 Claude Code - 再建
fix-login-race-2,Agent 选 Codex - 再建
fix-login-race-3,Agent 选 Cursor CLI(或你有的其他 Agent)
现在你有三个工作树、三个分支、三个独立文件系统。
第 2 步:粘贴同一个 prompt
把完全相同的任务描述粘贴进三个 Agent 的终端,例如:
仓库存在登录竞态:快速双击登录按钮会触发两次请求。请定位根因并修复,补充必要测试。
让它们各自工作。三个 Agent 互不知晓彼此,也不会碰到对方的文件。
第 3 步:分屏观察
把工作树标签拖到面板右缘 / 底缘分屏,三个 Agent 的进度同屏可见。想更聚焦就用上一课的状态指示——转圈 = 干活中,不用点开每个标签。
第 4 步:挑选赢家并交付
Agent 完成后,逐个打开对应工作树的 diff 视图:
- 评审三份 diff,挑最接近你要的方案
- 用 Annotate AI Diff 留下批注,把注释发回给最接近的那个 Agent 修订(进阶课展开)
- 在 Source Control 面板 commit + push,直接开 PR(进阶课展开)
- 另外两个工作树一键删除,分支随之消失
并行安全的原理
三个 Agent 为什么不会互相踩踏?因为隔离是磁盘级的:
主 checkout(base ref origin/main)
├── worktree fix-login-race/ ← Claude Code 在改
├── worktree fix-login-race-2/ ← Codex 在改
└── worktree fix-login-race-3/ ← Cursor CLI 在改
各自独立分支、独立工作区、独立依赖副本。共享的只有 git 对象库——而 git 本身就是为并发设计的。
什么时候用并行,什么时候别用
| 场景 | 是否并行 | 原因 |
|---|---|---|
| 同一个 bug 找多种解法 | ✅ | 赛跑后挑赢家 |
| 互不相关的多个任务 | ✅ | 天然隔离,互不阻塞 |
| 改动同一处核心文件的多个任务 | ⚠️ | 合并时冲突多,先评估 |
| 高度顺序依赖(A 的结果是 B 的输入) | ❌ | 用单个 Agent 顺序做,或用高级课编排 |
落地练习:完整跑一遍
- 在任意仓库创建一个真实的小任务(修一个已知 bug 或加一个小功能)
- 建 2~3 个工作树,用你手上可用的 Agent 并行跑
- 分屏观察,记录每个 Agent 的耗时与方案差异
- 挑一个方案评审,其余工作树删除
怎么判断做对了?——你能在 5 分钟内描述出「三个分支、三份 diff、同一条 prompt」,并说出哪个方案你选了、为什么。
卡住了怎么办? 只有一个 Agent?也没关系,并行数量可减到 2 甚至 1——重点是理解「每个任务一个工作树」的组织方式。Agent 没反应?先检查它是否处于「等待输入」状态(黄色问号)。
小结
- 三 Agent 并行 = 三个工作树 + 同一条 prompt + 三份独立 diff
- 磁盘级隔离让并行安全,git 对象库天然支持并发
- 交付路径:评审 → 批注修订 → commit/push → 开 PR → 清理
- 顺序依赖的任务别硬并行,交给单个 Agent 或编排
下一节,深入工作树模型本身。