ZON
Supplement

用 worktree 组织多 AI Agent 协作

你可以把 worktree 当作“并行的工作目录”,把每个 AI 会话当作“产出一个可评审分支”的流水线步骤。

← 返回主报告

别人怎么用(抽象成模式)

模式 1:一任务一 worktree(最常见)

  • 把任务拆成可独立合并的小块(最好改不同模块)。
  • 每块任务开一个分支 + worktree;AI 只在该目录工作。
  • 产出:1–N 个 commits 或一个 PR;人工只做审阅与合并。

模式 2:对同一问题跑多个方案(A/B/C)

  • 开多个 worktree:ai/agent-1ai/agent-2
  • 给同一任务不同约束/策略(例如“最小改动”“性能优先”“可读性优先”)。
  • 对比 diff + 测试结果,选一个合并,其余删除。

模式 3:保留一个“干净主工作区”

  • 主工作区只做审阅、合并、发布;尽量不直接写代码。
  • 所有改动来自 worktree(人或 AI 都一样)。
  • 好处:不会被临时实验弄脏,心智负担更小。

模式 4:把验收写死(防止“能跑但不对”)

  • 每个任务固定 3 件事:目标边界必须通过的命令
  • AI 的输出必须包括:改动摘要、执行过的命令、失败/跳过的原因。

最小可用流水线(本地)

# 0) 准备 worktrees 目录(建议加入 .gitignore)
mkdir -p .worktrees

# 1) 为 Agent/任务创建 worktree
git worktree add -b ai/alice/task-1 .worktrees/ai-alice-task-1 origin/main

# 2) 在该目录运行 AI 工具(示意)
#   - 约束:只改指定文件/目录
#   - 验收:必须跑通 tests

# 3) 审阅与合并(在主工作区)
git diff main..ai/alice/task-1
# 通过后 merge/squash

# 4) 清理
git worktree remove .worktrees/ai-alice-task-1
# 可选:git worktree prune

给 AI 的“任务单”模板

目标(Definition of Done):
- ...

边界(Do NOT):
- 不要改动 ...
- 不要引入新依赖

必须通过的命令:
- ...(例如 npm test)

输出格式:
- 你改了什么(列表)
- 你跑了哪些命令 + 输出摘要
- 如果没跑,请说明原因
- 给出最终 diff 或建议的 commit message

冲突与合并(经验法则)