双 Agent 并行开发实测:git 干净合并后测试全挂
RunAI_Coder · reddit · 2026-09-23
作者做了一个受控实验:两个 agent 在两个 worktree 上并行处理互相隐性依赖的任务(如一个把字段 done 改名为 completed,另一个写读取该字段的命令),各自跑测试全绿后再合并。
- 10 次合并中 5 次出现冲突标记,另外 5 次「干净合并」后测试套件全部失败——因为 git 只按文本区域对比共同祖先,不理解字段名语义。
- 最典型的失败:stats 读 n["done"] 而存储已改写 completed;importer 拒绝新的版本化文件;edit 命令遇到 hex id 报错。挂掉的都是 agent B 自己几分钟前还绿着的测试。
- 甚至同样任务跑两次结果不同:agent B 把代码块插在不同位置,一次 git 能合并、一次报冲突——冲突与否取决于模型把代码放在哪一行。
- 作者引用 15 年前一项对 1694 次人类合并的重放研究:76% 干净、16% 文本冲突、1% 干净合并破坏构建、6% 干净合并挂测试;其中三分之一的真冲突被 VCS 判为「干净」。
核心拷问:两个 agent 互相读不到对方的 worktree(这正是 worktree 的设计目的,也恰是问题所在)。当你并行跑 agent 时,合并后的树在谁那里真正运行过验证?
「编程与Agent」频道最新
- 评测第一步是发现错误:跳过它就会衡量错误的问题 — FinanceYF5 · 2026-09-23
- AI 产品易改难测:Evals 把「好」变成可重复的上线检查 — FinanceYF5 · 2026-09-23
- MCP 是个坏主意吗?视频引发智能体协议反思 — RelevantEmergency707 · 2026-09-23
- 开发者演示:输入文字即变成对应 UI 的魔法文本框 — BLUECOW009 · 2026-09-23
- 把 Opus 5.5 拉满写 wildcard,它跑了 2 万次迭代只为不写错 a/an — mwoody450 · 2026-09-23
- 独行者用 MiniMax+Tripo+Blender 做出战斗短片,公开完整流程求指点 — Spoonman915 · 2026-09-23