Compound Engineering(CE)v3 来了。最重要的变化有两层。
命名统一:所有 Skill 归到 ce- 前缀
之前 CE 的 Skill 命名混乱——有前缀、有无前缀、有冒号前缀,和其他插件的同名 Skill 冲突,而且冒号在 Windows 文件系统上还需要转义。
v3 统一到 ce- 连字符前缀:ce:work → ce-work,ce-review → ce-code-review,ce-document-review → ce-doc-review。这是一个 breaking change,但统一命名空间后不再和其他插件打架。
需求可溯源:从创意到 commit 全程带 ID
v3 之前,brainstorm 里写下的需求到了 plan 阶段就变成了散文,到了实现阶段就变成了感觉。测试失败或审查者问"这个覆盖了什么需求"时,答案活在某人的脑子里——运行 ce-work 或 ce-code-review 的 Agent 也没有比人类更好的办法来还原意图。
v3 重写了 ce-brainstorm 和 ce-plan 的产物格式,引入稳定 ID 结构:Actors、Key Flows、Acceptance Examples、Requirements,每个都有稳定 ID。ce-plan 把这些 ID 前向传递到 Requirements Trace,并分配 plan-local 的实现单元 ID——即使 plan 深化或重排,这些 ID 也保持稳定。ce-work 在 blocker、verification 和 task 标签里识别这些单元 ID。
这意味着:你可以把失败的测试回溯到它本应覆盖的 Acceptance Example,把 plan 单元回溯到激发它的 flow,把 commit 回溯到最初发起它的 brainstorm 条目。Agent 也能走同一条链路——审查者可以检查实现是否真正满足它声称覆盖的 Acceptance Example,调试者可以看到失败测试在运行哪条 flow。
跨 Harness 支持全面提升
CE 起源于 Claude Code,v3 之前其他 harness 一直是二等公民。v3 改变了这一点:
- Codex:通过原生插件市场安装,Skill 和 MCP Server 直接注册,不需要 Bun 转换步骤
- Pi:不再自己维护与热门社区 subagent 扩展冲突的兼容层,改委托给社区扩展,实现真正的并行 session 和正确的 blocking question UX
- Copilot(CLI 和 VSCode):同样获得原生插件安装支持
审查循环:从 rubber-stamp 到真正 engagement
之前所有 review skill 都问 bucket 级策略问题,导致一个决定覆盖很多 findings,实际上变成了 rubber-stamping 或全面 defer,审查者在一打 findings 里反复重新争论同一个前提。
v3 重塑了整个 review 家族:
- ce-code-review 交互模式:逐条呈现 findings,提供 Apply/Defer/Skip/"LFG the rest" 选项,每次只处理一个
- ce-doc-review:三层自动修复分类 + 前提依赖链分组,把基于同一个根本原因的多条 findings 合并为一次决策
- ce-resolve-pr-feedback:收紧聚合逻辑,跨轮证据成为激活前提
ce-debug 收紧:不再默认 print-debugging
ce-debug 已有四阶段方法论,但实践中默认回退到 print-debugging,在深层追踪前跳过环境检查,有时还把被 instrumentation 驱走的 heisenbug 宣告为"已修复"。
v3 修了这些:
- 深层追踪前先做环境检查:branch、deps、runtime、环境变量、陈旧产物
- 假设审核在假设生成时介入,帮助 Agent 转向
- 并行只读 subagent dispatch 选项
- 新增技术参考:boundary instrumentation、测试顺序污染、重现最小化、stepping debugger vs. instrumentation、heisenbug、Bug 分类清单(时区、编码、浮点、溢出、缓存、认证)
最重要的 Eval 启发式
搜你的对话历史,找到你什么时候说了"卧槽"。这些就是你缺失的测试用例。