多智能体软件团队:架构师、编码者、审查者、测试者


文档摘要

多智能体软件团队:架构师、编码者、审查者、测试者 本节摘要:2026 年多智能体工程团队的形态已收敛:架构师规划,N 个编码者在并行 worktree 里干活,审查者把关,测试者验证。SWE-AF 的工厂架构、MetaGPT 的角色提示、AutoGen 0.4 的类型化 Actor 图、Cognition 的 Devin、Factory 的 Droids 都独立落到了这上面。并行 worktree 把墙钟时间换成吞吐。共享状态与交接协议变成失败面。本节要求你构建这个团队,在 SWE-bench Pro 上评估,并报告哪些交接坏了、坏多频繁。你会学到 token 放大这个隐形成本,以及交接失败直方图这套交付物。 对应原课程:Phase 19 · Lesson 10 · (原英文 )。

多智能体软件团队:架构师、编码者、审查者、测试者

本节摘要:2026 年多智能体工程团队的形态已收敛:架构师规划,N 个编码者在并行 worktree 里干活,审查者把关,测试者验证。SWE-AF 的工厂架构、MetaGPT 的角色提示、AutoGen 0.4 的类型化 Actor 图、Cognition 的 Devin、Factory 的 Droids 都独立落到了这上面。并行 worktree 把墙钟时间换成吞吐。共享状态与交接协议变成失败面。本节要求你构建这个团队,在 SWE-bench Pro 上评估,并报告哪些交接坏了、坏多频繁。你会学到 token 放大这个隐形成本,以及交接失败直方图这套交付物。

对应原课程:Phase 19 · Lesson 10 · multi-agent-software-team(原英文 phases/19-capstone-projects/10-multi-agent-software-team/docs/en.md)。

学习目标

阅读完本节,你应当能够:

  1. 解释单 Agent 编程外壳为何在大任务上撞天花板(200k 上下文装不下规划+多切片+审查+测试)。
  2. 把团队拆成类型化角色:架构师(Opus 4.7)、并行编码者(Sonnet 4.7)、审查者(GPT-5.4)、测试者(Gemini 2.5 Pro)。
  3. git worktree add + Daytona 给每个编码者独立分支与沙箱,把墙钟换吞吐。
  4. 实现任务板(文件/Redis)与 A2A 协议类型化交接,加合并协调者做三方合并。
  5. 度量 token 放大(总 token/单 Agent token),并在 50 个 SWE-bench Pro 问题上对比单 Agent 基线。
  6. 产出交接失败直方图(规划太泛/合并冲突/审查误批/测试抖动)。

一、问题与直觉

单 Agent 编程外壳在大任务上撞天花板。不是因为某个 Agent 弱,而是因为一个 20 万 token 上下文装不下架构规划加四个并行代码库切片加审查评论加测试输出。多智能体工厂把问题切开:架构师拥有规划,编码者在并行 worktree 里拥有实现,审查者把关,测试者验证。SWE-AF 的「工厂」架构、MetaGPT 的角色、AutoGen 的类型化 Actor 图——三种描述同一个形态。

失败面是交接。架构师规划了编码者实现不了的东西。编码者产出冲突的 diff。审查者批准了一个幻觉修复。测试者跟一个还在写的编码者赛跑。你要构建这样一个团队,在 50 个 SWE-bench Pro 问题上跑它,追踪每次交接,并发布事后剖析。

二、从零实现

角色是类型化 Agent。架构师(Claude Opus 4.7)读 issue、写规划、把它拆成带显式接口的子任务。编码者(Claude Sonnet 4.7,N 个并行实例,各在一个 git worktree + Daytona 沙箱里)独立实现子任务。审查者(GPT-5.4)读合并后的 diff,批准或要求具体改动。测试者(Gemini 2.5 Pro)在隔离里跑测试套件,带产物报通过/失败。

通信走一个共享任务板(文件或 Redis)。每个角色消费它被允许处理的任务。交接是 A2A 协议类型化消息。协调关注点:合并冲突解决(协调者角色或自动三方合并)、共享状态同步(编码者开始后规划冻结,重规划是独立事件)、审查者把关(审查者不能批准自己的改动或它提议的改动)。

任务板的类型化消息:

MESSAGES = ["plan_request", "subtask", "diff_ready", "review_needed", "test_needed", "approved", "rejected", "replan_needed"] # Agent 按标签订阅,交接 payload 带 size 与所用模型

token 放大是隐形成本。每个角色边界都加摘要提示与交接上下文。一个 40 轮的单 Agent 运行,在四角色上变成总共 160 轮。评分量表专门权衡 token 效率 vs 单 Agent 基线——因为问题不是「多智能体行不行」,而是「每美元它赢不赢」。

三、架构与技术栈

  • 编排:LangGraph,共享状态 + 每 Agent 子图。
  • 消息:A2A 协议(Google 2025),类型化 Agent 间消息。
  • 模型:Opus 4.7(架构师)、Sonnet 4.7(编码者)、GPT-5.4(审查者)、Gemini 2.5 Pro(测试者)。
  • worktree 隔离:每编码者 git worktree add + Daytona 沙箱。
  • 合并协调者:自定义三方合并 + LLM 调解冲突。
  • 评估:SWE-bench Pro(50 issue)、SWE-AF 场景、HumanEval++ 单元测试。
  • 可观测性:Langfuse 配角色标签 span,每 Agent token 计费。
  • 部署:K8s,每角色独立 Deployment + HPA on backlog。

四、可复用产物

outputs/skill-multi-agent-team.md 是交付物。给定 issue URL 与并行度,团队产出一个可合并的 PR,带每角色 token 计费。评分量表:

权重 标准 度量方式
25 SWE-bench Pro pass@1 匹配的 50 issue 子集,pass@1
20 并行加速 墙钟 vs 单 Agent 基线
20 审查质量 注入 bug 探针上的误批率
20 token 效率 每解决 issue 的总 token vs 单 Agent
15 协调工程 合并冲突解决、交接失败直方图
100

一次典型运行:

$ team run --issue https://github.com/acme/widget/issues/842 [architect] plan: 4 subtasks (parser, cache, api, migration) [board] dispatched to 4 coders in parallel worktrees [coder-A] subtask parser -> 42 lines, tests pass locally [coder-B] subtask cache -> 88 lines, tests pass locally [coder-C] subtask api -> 31 lines, tests pass locally [coder-D] subtask migration -> 19 lines, tests pass locally [merge] 3-way merge: 0 conflicts [reviewer] comments on cache (thread pool sizing); routed to coder-B [coder-B] revision: 92 lines; submits [reviewer] approved [tester] all 412 tests pass [pr] opened #3382 4 coders, 1 revision, $4.90, 18m

五、框架对比

SWE-AF 的工厂架构是 2026 多智能体工厂参考;MetaGPT 强调角色提示;AutoGen 0.4 是微软的类型化 Actor 框架;Devin(Cognition)与 Droids(Factory)是产品级参考。它们的共同点是:并行 worktree + 共享任务板 + 类型化交接。本节建议用 LangGraph 自建,因为关键的失败面(交接)需要你能插桩追踪每条跨角色消息。合并侧,「单写者约束」(子任务碰不相交文件集)能省掉合并协调者,但把规划负担全压给架构师——练习会让你对比这两种设计。

六、练习

  1. 注入 bug:运行中往一个 diff 注入明显 bug(主逻辑前多一个 return None),度量审查者的误批率,调提示直到误批 < 5%。
  2. 减并行:减到两个编码者(架构师 + 编码者 + 审查 + 测试,编码者顺序跑两个子任务),对比墙钟与通过率。
  3. 单写者约束:用单写者约束(子任务碰不相交文件集)替换合并协调者,度量架构师的规划负担。
  4. 换审查者:把审查者从 GPT-5.4 换成 Claude Opus 4.7,度量误批率与 token 成本差。
  5. 加文档角色:加第五个角色——文档者(Haiku 4.5),审查后产出变更日志,度量文档质量是否值这笔额外 token。

本节要点回顾

  1. 形态收敛:架构师规划 + 并行编码者 worktree + 审查把关 + 测试验证。
  2. 并行换吞吐:git worktree add 每编码者一分支,墙钟换吞吐。
  3. 失败面是交接:规划太泛、diff 冲突、审查误批、测试赛跑。
  4. 共享任务板 + A2A:类型化消息,角色按标签订阅。
  5. token 放大:每角色边界加摘要与交接,40 轮变 160 轮,每美元效率是核心问题。
  6. 交付物:50 SWE-bench Pro 问题上的 pass@1、并行加速、误批率、token 效率、交接失败直方图。

下一节,我们转向「可观测性」——构建一个把 LLM 调用、token、成本、轨迹可视化到一块仪表盘的系统。


发布者: 作者: Rohit Gupta 转发
评论区 (0)
U