「力大转飞:为什么“虚拟公司式”多 Agent 架构大多会失败」封面图
· 12 分钟阅读

力大转飞:为什么“虚拟公司式”多 Agent 架构大多会失败

AIAgent多Agent架构设计Context Engineering

最近看到一篇很硬的长文,标题很长,但核心判断一句话就够了:

多 Agent 最常见的错误,不是模型不够强,而是系统设计一开始就建错了。

很多团队一上来就会这么设计:

  • PM Agent 负责需求
  • 架构师 Agent 负责技术方案
  • Dev Agent 负责实现
  • QA Agent 负责测试

然后让这些 Agent 像公司部门一样,一棒一棒传文档、传结论、传任务。

这套方案特别容易让人上头。

因为它好解释、好展示、好画图。给管理层讲的时候尤其顺手:看,我们已经有一支“AI 团队”了。

但问题也正出在这里。

它看起来像一家组织,不代表它真的是一个高效的问题求解系统。

我更愿意用四个字概括这类系统的结局:

力大转飞

Agent 越堆越多,角色越分越细,流程越设计越完整,最后不是更稳,而是更容易失真、漂移、失控。

不是因为算力不够,而是因为你把它设计成了一个“组织幻觉”极重的系统。


一、为什么“虚拟公司式多 Agent”这么容易让人误判?

因为这类设计特别符合人的直觉。

人类公司本来就是这么运转的:

  • 产品提需求
  • 架构师定边界
  • 开发实现
  • 测试验收
  • 流程层层推进

所以当大家开始设计多 Agent 系统时,很自然就会想:

既然公司这样协作有效,那 Agent 也这样协作不就行了?

听起来毫无问题。

但这里有一个根本性的误区:

人的瓶颈,不等于模型的瓶颈。

人类需要分工,是因为:

  • 注意力有限
  • 知识边界有限
  • 切换成本高
  • 多人协作必须通过接口来衔接

但 LLM 不是这样。

同一个模型可以写需求、写代码、写测试,也能做总结和审查。它的问题从来不是“职业边界不清”,而是:

  • 推理深度够不够
  • 信息完整性够不够
  • 上下文是否连续
  • 中间状态有没有丢

也就是说,模型真正怕的不是职责重叠,而是信息损耗。

而“虚拟公司式多 Agent”最擅长制造的,恰恰就是信息损耗。


二、最致命的问题:信息在交接中死亡

这是我看完全文之后觉得最值钱的一句判断。

在“PM → 架构师 → 开发 → 测试”这种流水线里,Agent 之间传递的通常不是完整推理,而是压缩后的结论。

比如:

  • PM Agent 写完需求摘要交给架构师 Agent
  • 架构师 Agent 基于这份摘要重新理解一遍,再写成技术方案
  • Dev Agent 基于技术方案再理解一次,再生成实现
  • QA Agent 再根据实现结果补一轮验证

每一次交接,看起来都很合理。

但每一次交接都在发生一件事:

  • 原始意图被压缩
  • 隐含假设被省略
  • 推理路径被裁断
  • 背景上下文被遗失

最后你会得到一种很诡异的结果:

每一棒单独看都说得过去,但整体已经悄悄偏离了最初目标。

这就是典型的“局部正确,整体错误”。

很多团队做多 Agent 系统,会误以为系统正在稳定运行,因为每个节点都“有输出”、每一步都“看起来正常”。

但其实系统已经开始漂了。

问题不是突然爆炸,而是缓慢失真。

这就是为什么我觉得“力大转飞”这个词特别贴切:

  • 你以为自己在增强系统
  • 实际上是在增加旋转惯性
  • 直到复杂度上来,系统整个甩飞出去

三、大厂真正的做法,根本不是“角色接力”

这篇文章最有说服力的地方,是它没有停留在批评,而是直接拿 Anthropic、OpenAI、Google 的工程实践做了对照。

结论很清楚:

主流厂商的生产级 Agent 系统,几乎都不是“角色流水线”。

Anthropic 的思路:主脑 + 外部状态 + 并行探索

Anthropic 的关键词是:

  • Context Engineering
  • progress.txt
  • Git history
  • orchestrator-worker

核心逻辑不是“让不同角色接棒”,而是:

  • 一个主 Agent 持有完整目标
  • 子 Agent 并行探索不同方向
  • 所有结果重新回流主 Agent 综合
  • 关键进度写入显式状态文件,供下一个 session 继续

这个结构更像:

一个主脑带多个探针出去撒网,然后把信息重新收回大脑统一判断。

OpenAI 的思路:spec / runbook / compaction

OpenAI 的路线更直接:

  • 用 spec 冻结目标,防止任务漂移
  • 用 runbook 记录工作轨迹
  • 用 compaction 维持长任务连续性
  • 用 skills 提供稳定操作规范

这里的关键不是分工,而是continuity

也就是说:

长任务能跑下去,靠的不是角色扮演,而是目标冻结、状态外化和线程连续。

Google 的思路:大上下文 + 持久规范文件

Google 虽然有超大上下文窗口,但他们也没有把希望全押在“模型会记得一切”上。

他们同样把项目意图沉淀到持久化的 spec / plan 文件中。

这说明一个很重要的现实:

上下文窗口再大,关键状态依旧应该外化。

所以你会发现,三家路线虽不完全一样,但背后的共同原则非常一致:

  • 主意图必须连续
  • 关键状态必须外化
  • 子调用应该是并行补充,而不是角色接力

四、多 Agent 的真正价值,不是分工,而是并行搜索

这是我觉得最值得记住的一条。

很多人以为多 Agent 的价值在于:

  • 一个负责想
  • 一个负责做
  • 一个负责查
  • 一个负责验

但更真实的答案是:

多 Agent 的价值主要来自更大的搜索覆盖面,而不是更细的分工。

换句话说,多 Agent 最适合的,不是那种必须层层传递上下文的任务,而是那些可以并行探索多个方向的任务。

比如:

  • 同时调研 10 个竞品
  • 同时搜索 5 条实现路径
  • 同时对一个方案做 3 种反向质疑
  • 同时拆多个模块的现状和依赖

这类任务的共同点是:

  • 子问题相对独立
  • 不需要长链路接力
  • 最终只需要收敛回一个统一判断

所以更好的结构不是:

PM Agent → 架构师 Agent → Dev Agent → QA Agent

而是:

主 Agent
  ├─ 子 Agent A:搜方案 1
  ├─ 子 Agent B:搜方案 2
  ├─ 子 Agent C:找反例
  └─ 子 Agent D:做验证

    统一回流主 Agent 收敛

这不是接力赛,而是并行撒网。


五、验证 Agent 最好的身份:否定者,而不是接棒者

这篇文章还有一个特别实用的提醒。

如果你真的要在系统里引入第二个、第三个 Agent,不应该让它们都来“继续做”。

更合理的方式是让其中一部分 Agent 扮演否定者的角色。

也就是:

  • 专门找漏洞
  • 专门找边界问题
  • 专门找逻辑冲突
  • 专门审查隐含假设

这类 Agent 的职责不是接棒,而是对抗。

这一点很重要。

因为如果每个 Agent 都默认继承前一个 Agent 的方向继续推进,系统会不断放大上游错误。

而如果其中一部分 Agent 专门负责“反着看”,系统就会更稳。

所以:

验证 Agent 应该是否定者,不是流水线上的下一棒。


六、什么才是更靠谱的多 Agent 基本盘?

如果把这篇文章压缩成一套更适合实操的架构原则,我会写成下面这几条。

1. 先判断任务的信息依赖结构,而不是先数 Agent 个数

不要先问“我需要几个 Agent”,先问:

  • 这个任务需要连续推理吗?
  • 子问题之间高度耦合吗?
  • 是否适合拆成独立搜索分支?

2. 连续推理任务优先单 Agent + 强 context engineering

比如:

  • 写复杂设计方案
  • 生成长链路实现计划
  • 做跨模块架构决策
  • 处理依赖极深的问题

这种任务最怕信息断裂。

3. 并行探索任务才适合多 Agent

比如:

  • 多竞品研究
  • 多方案搜索
  • 多视角风险扫描
  • 多版本草案生成

4. 必须有显式状态层

至少要有:

  • spec(冻结目标)
  • progress(记录过程)
  • runbook(说明操作规程)
  • git history / 文件系统(作为客观锚点)

5. 主 Agent 必须持有最终完整目标

所有信息最终都要汇回一个“知道整体意图”的主体,而不是一棒接一棒地继续传。


七、为什么这件事对现在特别重要?

因为接下来一段时间,很多团队都会掉进“多 Agent 组织幻觉”的坑。

原因很简单:

  • 这种图最好看
  • 这种概念最好卖
  • 这种结构最像“高级系统”

但真正的问题求解系统,不是靠像公司,而是靠:

  • 信息不丢
  • 意图不漂
  • 状态可追踪
  • 验证可对抗
  • 结果能收敛

如果这些做不到,Agent 再多也只是在把系统复杂度堆高。

所以我觉得,“力大转飞”很适合做这类系统的提醒词。

它能一下点破那个幻觉:

不是你加得越多、分得越细、组织得越像公司,系统就越强。

很多时候,恰恰相反。


结语

以后再看到那种“AI PM、AI 架构师、AI 开发、AI QA”排成一列的多 Agent 架构图,我第一反应不会再是“这好高级”。

我会先问四个问题:

  1. 这些 Agent 之间传递的是完整推理,还是压缩结论?
  2. 谁持有最终完整目标?
  3. 状态有没有显式外化?
  4. 子 Agent 是在并行搜索,还是在流水线接力?

如果这些问题答不上来,这套系统大概率只是:

看起来很忙,实际上在漂。

而一旦复杂度继续上升,它就会开始——

力大转飞。

配图

图 1:错误架构 vs 正确架构

flowchart LR
  subgraph Wrong[错误:虚拟公司式接力]
    A[PM Agent] --> B[架构师 Agent]
    B --> C[Dev Agent]
    C --> D[QA Agent]
    D --> E[结果输出]
  end

  subgraph Right[正确:主脑 + 并行搜索 + 收敛]
    O[主 Agent\n持有完整目标]
    S[(spec / progress / runbook / git)]
    O --> W1[子 Agent A\n方案探索]
    O --> W2[子 Agent B\n并行调研]
    O --> W3[子 Agent C\n反向验证]
    W1 --> O
    W2 --> O
    W3 --> O
    O <--> S
    O --> R[统一收敛输出]
  end

图 2:信息如何在交接中死亡

flowchart LR
  I[完整意图] --> J[需求摘要]
  J --> K[技术结论]
  K --> L[实现结论]
  L --> M[测试结论]
  M --> N[最终输出]

  I -.推理链最完整.-> I
  J -.开始压缩.-> J
  K -.隐含假设丢失.-> K
  L -.上下文继续衰减.-> L
  M -.局部正确整体漂移.-> M

图 3:更靠谱的多 Agent 基本盘

flowchart TB
  O[主 Agent\n完整目标 / 最终判断]
  S[(共享状态层\nspec / progress / runbook / git)]

  O --> R1[研究型子 Agent]
  O --> R2[方案型子 Agent]
  O --> R3[验证型子 Agent]
  O --> R4[挑错型子 Agent]

  R1 --> O
  R2 --> O
  R3 --> O
  R4 --> O

  O <--> S

参考

评论