给 Claude Code 用的多代理质量 harness。730 行协议,零行应用代码。
把一个复杂任务拆成独立 Chunk,用不同模型对抗规划、并行执行、交叉评审,每次跑完把踩过的坑写回协议自身。下一次启动时,所有代理自动继承上一轮的教训。
为什么做这个
Claude Code 的单代理模式足够应付大多数任务。但碰到跨模块重构、多文件协同、高质量文档这类场景,单代理容易出两个问题:
- 自己审自己,发现不了盲区。 同一个模型写的代码,同一个模型打分,评审形同虚设。
- 犯过的错没有记忆。 上次 pipeline 踩的坑,下次原样再来一遍。
Pipeline 的解法:让不同模型互相挑刺,把机械能验的和主观要评的彻底分开,再把每次返工的根因写回协议本身。
工作流程
Stage 0 启动门槛 确认任务值得用 pipeline,批准预算
Stage 1 访谈对齐 一次一问,收敛到 spec + 验收标准
Stage 2 对抗规划 Opus 和 Codex 各出方案,互相攻击,辩论收敛
Stage 3 并行执行 每个 Chunk 一个 Sonnet,硬闸门先跑,过了再自评软维度
Stage 4 交叉评审 Opus 和 Codex 独立打分,看不到执行过程,只看最终产物
Stage 5 教训沉淀 返工根因可泛化的写入 lessons.md,下次自动注入
任何阶段都可以说"切快速路径"退出。
四个设计决策
对抗,不是协作
规划和评审各用两个不同模型(Opus + Codex)。它们不知道对方的存在,被要求攻击对方的方案。分歧不是 bug,是在暴露真实的设计取舍。
机械验证和主观评审彻底分开
能跑命令验证的(lint、type check、测试、文件存在性),绝不交给代理主观打分。硬闸门不过,直接返工,连评审阶段都不用进。主观评审只负责设计感、可读性、论据力这类没法机械化的维度。
信息隔离
执行者看不到其他 Chunk 的实现细节。评审者看不到执行过程、规划辩论、返工历史。编排者不能对评审者说"这部分比较弱"。每个角色只拿到完成工作所需的最小信息集。
教训是代码,不是感悟
每条教训必须有三个字段:触发条件(什么场景生效)、原则(一句话规则)、改动(具体落在哪个 prompt 或 rubric 的哪一行)。没有具体改动的心得不写进来。下次启动时 lessons.md 自动注入所有代理的 system prompt。
文件结构
pipeline/
SKILL.md 主协议:5 个阶段 + 4 条原则 + 升级/降级规则
lessons.md 教训沉淀,每次 pipeline 运行后持续增长
prompts/
planner.md 规划者 prompt 模板(Opus + Codex 双版本)
executor.md 执行者 prompt 模板(Sonnet)
evaluator.md 评审者 prompt 模板(Opus + Codex 双版本)
rubrics/
code.md 开发类评分矩阵
design.md 设计类评分矩阵
doc.md 文档类评分矩阵
research.md 研究类评分矩阵
templates/
report.md 最终交付报告模板
全部是 Markdown。没有可执行代码,没有依赖,没有构建步骤。
快速开始
- 把
pipeline/目录放到~/.claude/skills/下 - 在 Claude Code 里对任何复杂任务说"用 pipeline"
- Pipeline 会先确认预算,再逐步走访谈、规划、执行、评审
- 每次跑完检查
lessons.md,看新沉淀了什么
不需要配置。唯一的前提是 Claude Code 环境能调用 SubAgent。
适合用的场景
- 多文件重构,改动互相依赖
- 跨模块新功能,接口需要先对齐
- 高质量技术文档或研究报告
- 任何拆解后超过 4 个独立 Chunk 且需要多轮把关的任务
不适合用的场景
- 快速原型、探索性尝试
- 单文件 bug 修复
- 一次性小改动
这些直接用 Claude Code 默认模式更快。Pipeline 的编排开销只在复杂任务上才值得。
人类在回路里的位置
Pipeline 不是全自动的。编排者(Claude Code 主线程)负责调度和裁决,但有一类决策必须升级给人:
- 需求歧义:代理之间的分歧根因是需求没说清楚,不是方案选择问题。这种情况再多轮辩论也没用,必须问人。
- 方案取舍:同一需求下的不同实现路径,编排者按 rubric 自行裁决,把理由写进报告。
这条规则取代了"N 轮后升级"的机械阈值。
自演化机制
Pipeline 跑得越多越好用。
每次评审不通过触发返工时,编排者在阶段 5 回答一个问题:这次返工的根因能不能泛化到未来的任务?能的话写进 lessons.md,格式是触发条件 + 原则 + 具体改动。下次启动时这条教训自动注入所有代理的 system prompt,同样的错不会犯第二次。
当某条教训因模型升级不再需要时,标注删除日期和原因,保留审计痕迹。
目前已沉淀 8 条教训,覆盖 rubric 歧义消解、执行者报告落盘、Codex 越权防护、聚合文件合并协议等实战场景。
pipeline.zip (25.3 KB)
1 个帖子 - 1 位参与者