743 字
约 2 分钟
11
S24-J03 · 并行与子代理:Worktrees 与 Harness 管控
适用读者:想"同时干几件事"但怕冲突的人。
前置:S24-J02、S21-J02。
覆盖旧文:684(226) 688(191) 165(181) 151(192) = 864 点。
覆盖扩展:E-S24-006(隔离手段)。
上一篇:S24-J02 · 上下文与记忆:压缩、记忆与动态工作流
下一篇:S24-A01 · 权限、沙箱与审批。
1. 一句话结论
并行的前提是"互不碰同一个东西":代码用 worktree 隔离,任务用子代理隔离。隔离不做好,并行只会制造冲突。
| 手段 | 隔离什么 | 代价 |
|---|---|---|
| Git worktree | 工作目录/分支 | 磁盘与切分支成本 |
| 子代理 | 上下文 | 汇总开销(S21-J02) |
| 分支 + PR | 变更集 | 合并冲突 |
2. Worktree 隔离(E-S24-006)
git worktree add ../proj-fix-a fix/a # 同一仓库,不同工作目录
git worktree add ../proj-fix-b fix/b
| 好处 | 注意 |
|---|---|
| 两个 Agent 各自改各自目录 | 共享同一个 .git → 提交要串行 |
| 不互相覆盖文件 | 依赖缓存可能冲突(如 node_modules) |
| 便于并行跑测试 | 磁盘占用翻倍 |
判据:"两件事会改同一批文件吗?" 会 → 不要并行(改串行或先合并)。
3. 子代理:把活拆出去
| 适合拆 | 不适合 |
|---|---|
| 独立模块的调研 | 同一文件的连续修改 |
| 互不依赖的修复 | 需要全局一致性的重构 |
"子代理怎么汇报":结论 + 改动点 + 未决项,不返回全部过程(S21-J02)。
4. Harness 管控(A-165)
| 管控项 | 作用 |
|---|---|
| 每任务独立 worktree | 防互相污染 |
| 统一规则文件 | 保证风格一致 |
| 提交前门禁(钩子) | 挡住不合格改动 |
| 人工合并 | 最终把关 |
"为什么多人协作用 AI 更需要 Harness":AI 的改动量大且快——没有门禁,评审根本跟不上。
5. 五个误区
| 误区 | 真相 |
|---|---|
| "并行一定更快" | 冲突会抵消收益 |
| "worktree 完全隔离" | 共享 .git 与缓存 |
| "子代理越多越好" | 汇总成本上升 |
| "AI 改得多就赚了" | 评审跟不上等于负债 |
| "门禁会拖慢" | 它挡的是返工 |
6. 自检
- 三种隔离手段各隔离什么?
- worktree 的注意点?
- 什么样的任务不该拆?
- 子代理该汇报什么?
- 为什么多人 + AI 更需要 Harness?
7. 下一篇
S24-A01 · 权限、沙箱与审批:放多松、收多紧
并行讲完,进架构师层:最关键的权限问题。
本篇属于系列《S24 · AI 编程工具》。旧文来源:A-684/688/165/151;扩展点 E-S24-006。
S24-J03 · 并行与子代理:Worktrees 与 Harness 管控
https://www.clxhxhhr.top/posts/5569/ 评论
0 条
还没有评论,先写一条吧。