← All posts 此文章100% AI 生成,请读者放心阅读

韩信多多益善,而你还在带十万兵

AI 没有让组织扁平化。AI 只是第一次让「协议成本」这件事被精确定价了。

「臣多多而益善耳。」韩信说这句话的时候,刘邦笑了。

那是公元前 196 年,韩信已经从齐王降为楚王、又从楚王降为淮阴侯,被半软禁在长安。两人闲聊,刘邦问他自己能带多少兵。韩信回答,十万。刘邦再问韩信本人能带多少。韩信答得很轻松,越多越好。

笑完之后,刘邦反问了一句很要命的话:你这么能带兵,怎么还是被我抓住了?韩信稍微清醒了一点,补了一句:陛下不能将兵,而善将将,此乃信之所以为陛下禽也。[1]

这段对话被记进《史记》,流传两千多年。但人们记住的通常只有「多多益善」这四个字,很少注意一件事:韩信并不是在吹牛。

往前推四年,公元前 202 年,垓下。韩信指挥的联军大约 60 万人,其中包括他自己直接节制的 4 个汉军军团约 30 万人。同一年,他面前的项羽,手上的楚军大约 10 万。再往前看项羽一生最辉煌的几仗,巨鹿之战他率 5 万破秦军 40 万,彭城之战他率 3 万破汉军 56 万。项羽以少胜多的本事冠绝古今,但他这辈子直接指挥过的兵力从没超过 10 万。[2]

不是项羽不能打,是项羽带不了。

同一个时代、同一种冷兵器、同一种农耕兵源,两个人的「管理半径」就是天差地别。今天每个在做 AI 的人,本质上都站在同一个分岔口:你是要做韩信,还是做项羽。绝大多数团队都不自觉地选了项羽。

韩信能把 30 万人攥在手里,靠的不是他记得每个士兵叫什么。他靠的是一套已经成熟了大约一千五百年的协议。

汉军的编制大体是这样:5 人一伍,2 伍一什,5 什一队,2 队一屯,5 屯一曲,2 曲一部,部以上是营、是军。每一级的指挥官只需要直接看 5 到 10 个下级的旗号。整个 30 万人的大军被切成一棵深度大约 7 层的树,每个节点只盯自己的几个孩子。

旗号本身是一种早早就被想清楚的协议。《孙子兵法》一句话讲完了:「言不相闻,故为之金鼓;视不相见,故为之旌旗。夜战多金鼓,昼战多旌旗。」白天看旗,夜里听鼓。前营红、后营黑、中营黄、左营青、右营白,五色旗一起一落对应一组固定的命令。要让前营进攻,主帅不需要喊话,也不需要写公文,只要让传令兵把红旗举起来。一个 bit 的信息,一面旗就传完了。[3]

这是冷兵器时代能想到的最致密的压缩协议。项羽显然知道这套东西,但他不爱用。《史记·项羽本纪》里反复出现「项王自将」「项王怒,自将三万人」,他喜欢的是亲临前线、亲手砍人。一个人能直接看到、亲自指挥的兵,大概就是十万的量级。再多,旗看不见、鼓听不清,他就管不动了。

往前跳两千年,1804 年,巴黎。拿破仑做了一件结构上几乎和韩信一模一样的事。他把法军重新切成一种新的单位,叫 corps,军团。每个 corps 大约 2 到 4 万人,内部自带步兵、骑兵、炮兵、参谋,以及一支可以支撑几天行军的辎重队。一个 corps 就是一支袖珍版的大军,可以独立作战、独立补给、独立思考。Napoleon Series 的史料对此有句话很关键:「change direction at once and concentrate anywhere within 24 hours」。任何方向上 24 小时之内,各军团必能合击。[4]

支撑这件事的,是另一个被严重低估的人,Louis-Alexandre Berthier。他做了拿破仑 18 年的参谋长,士兵们私下叫他「Napoleon’s wife」。Berthier 自己几乎从不打仗,他做的事情非常专一:把拿破仑那种宏大、抽象、有时还反复无常的战略意图,翻译成各个军团军官能直接执行的命令。法军 2024 年发布的、专给参谋官用的内部大模型,直接就叫 Berthier。这个命名是个隐藏的玩笑,因为参谋长的工作,本来就是 orchestration。[5]

再往前跳 150 多年,1956 年,哈佛心理学家 George Miller 在《Psychological Review》上发了一篇论文,题目叫《The Magical Number Seven, Plus or Minus Two》。他做了一堆实验,得出一个非常直接的结论:人在工作记忆里能同时绑定的「块」,大致就是 7 加减 2 个。这篇论文后来被引用到滥俗,直接催生了 Amazon 的「两个 pizza 团队」原则、各种「跨度 5 到 9」的管理学教条。[6]

但所有这些故事都在回答同一个问题:你要传多少信息,下属才能正确执行。这个问题的标准名字叫管理半径,但人们普遍误解了它。管理半径不是带宽问题,大喊一声你也能让一万人听见。它是协议成本问题——你需要传递多少 bit,下属才能不出错。语言越含糊,需要的 bit 越多;协议越精炼,需要的 bit 越少。冷兵器战场带宽是零,但旗号那一个 bit 足够指挥三十万人。今天电脑的带宽近乎无限,但因为我们用最含糊的协议,自然语言,反而管不动五个 agent。

按理说 AI 时代应该是组织扁平化的天堂。两个 agent 之间传一个 JSON,延迟 50 毫秒,带宽近乎无限。把韩信那棵 7 层的指挥树扯平、变成 1 层 30 万个叶子节点,从通信角度看毫无问题。

可现实是反过来的。

2024 年下半年起,几乎所有做 agent 的团队都在重复一个尴尬的发现:你叫五个 GPT-4 协作,通常打不过一个 GPT-5。多 agent 这条路线,理论上的所有优势,并行、分工、专精,在跑 benchmark 时几乎全部蒸发。

Anthropic 2025 年发表的多 agent 研究系统报告,把这个尴尬第一次量化了出来。他们内部的 orchestrator-worker 架构,在研究类评测上确实比单 agent 的 Opus 4 高 90.2%。但代价是惊人的:单个 agent 用的 token 大约是普通对话的 4 倍,多 agent 系统是普通对话的 15 倍。更扎心的一句话写在同一篇博文里,「token usage alone explains 80% of performance variance」。在他们内部数据里,token 用量本身就能解释 80% 的性能差异。[7]

翻译过来就是:多 agent 之所以比单 agent 强,主要不是分工更聪明,是它被允许烧 15 倍的 token。给单 agent 烧同样多的 token,差距大概就消失了。

更直接的反例来自 Cognition,Devin 背后的团队。他们 2024 年发了一篇博文,标题叫《Don’t Build Multi-Agents》。文章核心只一句:agent 一旦要长时间运行、保持一致,你必须想尽办法防止「复合错误」,因为多个 agent 各自做了一堆隐含决定,这些决定之间相互冲突,最后结果是一锅乱粥。[8]

更值得玩味的是 10 个月后的那篇续篇。2026 年 4 月 Walden Yan 又写了一篇,题目改成了《Multi-Agents: What’s Actually Working》。这是一篇非常诚实的 U 型回归。他们重新加回了多 agent,但只加回了一种结构:多个 agent 可以贡献情报、可以分担推理,但写操作必须单线程,最终下令的只能是一个 agent。[9]

把这句话翻译成拿破仑年代的语言,几乎是逐字一致的:多个参谋官可以谋划,下令只能是主将一人。

五个 agent 失败,问题到底出在哪里。

不在模型。模型一年比一年聪明。也不在带宽,两个 GPU 之间传一个结构化消息,几乎不要钱。问题在协议。

绝大多数 multi-agent 框架,LangChain、AutoGen、CrewAI、早期的 MetaGPT,它们里头 agent 与 agent 之间用来通信的「协议」是自然语言。你写一段 prompt 给 Agent A,A 想完一段,再用一段自然语言告诉 Agent B,B 再去理解 A 说的、形成自己的判断,再告诉 C。这相当于把韩信军队里伍长和什长之间的旗号撤掉,改让他们用聊天传命令。

更糟的是,每多一个 agent,误差不是相加的,是相乘的。一段 prompt 里偶然的歧义,被下一个 agent 当作事实,被再下一个 agent 当作前提,三步之后已经偏到月球。Cognition 给这个现象起了个名字,叫 compounding errors。它和韩信、项羽之间那道天花板,本质上是同一件事:协议含糊到一定程度,组织规模和错误成本就同步爆炸。

所以五个 GPT-4 打不过一个 GPT-5,不是模型不够强,是因为五个之间用自然语言互通,把模型本来能给你的那点信噪比全部抹掉了。

那么,如何真正像韩信和拿破仑那样组织 AI。至少有四件事,从这一百多年的军事组织史里可以直接搬过来。

第一件:把 agent 之间的通信改成结构化协议

韩信的金鼓旗号是结构化协议。一面红旗举起来,只能解释为一种命令,没有歧义、没有多余的字、没有「也许是这个意思」。每个伍长看到那面旗,做出来的反应是机械的、可复现的。整个三十万人的军队,在那一刻同步往一个方向走。

OpenAI 在 2023 年中推出 function calling,Anthropic 后来跟上 tool use,本质上是把这套东西搬进 LLM。它要求模型的输出严格符合一个 JSON schema,字段、类型、必填项一个不能错。Pydantic AI、Instructor、BAML 都在做同一件事,从不同角度逼模型把语言挤压成结构。[10]

你做 multi-agent 系统的第一个判断题就是:agent 之间传的是 JSON 还是自然语言。如果是后者,你不是在搞分布式智能,你是在搞分布式幻觉。

第二件:给每个 agent 一段足够长的、自治的工作时间

拿破仑 corps 的精髓在那句「change direction at once and concentrate anywhere within 24 hours」。一个军团军官领到任务后,接下来 24 到 72 小时不需要再收到任何命令,他靠手里的步兵、骑兵、炮兵和一份口袋里的地图,自己解决眼前的问题。这种自治不是放任,是有协议兜底的自由——协议告诉他往哪个城市去、什么条件下停下、什么条件下汇合,中间所有战术决定由他自己做。

放到今天的 AI 上,这件事的载体是长上下文加 agent harness。2026 年 Claude Mythos 的上下文已经扩展到 1M token,GPT-5 也在同一个量级。Devin、Cursor、Claude Code 各自的 harness 都允许 agent 在拿到任务后自己决定下一步 tool call,一连跑几十步不需要人介入。Anthropic 在他们 harness 工程博文里强调过一句,context management 和 compaction 是让 agent 跑得长的核心。[10]

很多团队在这一步是反着来的。每跑两步就让 orchestrator 把上下文剪一刀、人审一次、agent 重启一次。看起来稳,实际上是把 corps 系统改成了 18 世纪的集中指挥。主帅一刻不停在前线吼,军团统统跑不出他视线的两公里。能管的兵,自然又回到十万。

第三件:严格区分参谋部和指挥官

Berthier 之所以是那个时代被低估的天才,是因为他做的事情非常窄。他把拿破仑那种「我要在两周内把奥地利逼到谈判桌」的抽象意图,拆成一份份给每个 corps 的具体行军命令、补给清单、汇合地点。他不打仗,也不替拿破仑做决策,他做的事情更像翻译。

Anthropic 那篇多 agent 论文里,角色分工和 Berthier-Napoleon 几乎逐字对应:lead agent 做 planning 和 synthesis,3 到 5 个 subagent 并行去搜资料、跑工具,最后再有一道单独的 citation pass。lead agent 自己几乎不去摸具体文档,它的工作是定方向、读结论。

Cognition 后来发现的那个 U 型回归,正好印证了反面情况。早期的 multi-agent 框架里,经常出现两到三个并行的 writer 同时改一份代码、同时下命令、同时做隐含决策。这相当于一支军队里 5 个 Berthier 在同时下令,谁都自以为权威。Cognition 后来加回的多 agent 模式,严格要求多个 agent 可以出谋,写操作只能单线程,就是把 Berthier 重新收回到一个。

落到工程上,这条原则的另一个含义是:不要让 orchestrator 越权去执行。一旦你的 planner agent 开始自己写代码、自己改文件,你就走回了项羽的老路。

第四件:把最强的模型放到执行层,而不是调度层

这是最反直觉的一件事,也是最容易做反的。

很多团队的第一直觉是,既然 orchestrator 是大脑、子任务是手脚,那大脑应该用最强的模型。于是 GPT-5 做 planner、GPT-4o-mini 做执行。结果是 planner 每次都做出漂亮的计划,而执行环节里被 mini 模型胡乱填错的字段、跳过的步骤、误判的边界条件,把整个系统拖回 2023 年的水平。

回过头去读韩信和刘邦那段对话,关键的一句不是「多多益善」,是后面那句「陛下不能将兵,而善将将」。韩信的意思是,将兵和将将是两种完全不同的能力。刘邦的能力是认人和分权,他自己上前线不灵;韩信能直接捏着 30 万人。两种能力同时存在,但不能互换。你不能用一个善将将的人去顶替善将兵的人,反过来也一样。

放到 AI 上,planner 和 executor 是两种不同的智能。planner 需要的是清楚理解任务结构、能把目标拆成几步,这是一种相对低带宽的智能。executor 需要的是在长上下文、不确定的环境里精确地操作 tool、读代码、改文件,这是高带宽的、几乎拼「手感」的智能。

把这两类能力对照到模型,你会发现一个朴素的事实:中等模型已经能做好 planning。GPT-4o、Claude Haiku 这一级别的模型做任务分解、做单纯的工具调度,准确率已经很高。但执行那一层,差几个点的模型能力,会在长任务里被几何级放大。所以正确的配方,是中模型调度加强模型执行。

这一点,也是 Cursor、Devin、Claude Code 走到 2026 年的共同选择,都是一个强模型主 agent,外加大量 tool。所谓 multi-agent 在这些产品里,更多是 tool 层面的并行,而不是模型层面的多副本。Cursor 的 Agent 内部有 view、edit、grep、glob、batch、delegation 这一整套工具,Claude Code 也是类似的清单。它们看起来不像韩信的 30 万人,但每个 tool 实际上就是一个被高度结构化、可被 agent 反复调用的子单元,这些 tool 才是真正意义上的 corps。[11]

四件事讲完,你大概看出一件挺反直觉的事:今天那些跑得最好的 agent 产品,在架构上更像韩信、Berthier 和拿破仑,而不是像论文里画的 multi-agent 网状图。

学术界和工业界,对 agent 这件事的判断,正在岔成两条路。

学术界还在堆 agent 数量。SWE-Bench、AgentBench、TheAgentCompany 这些 benchmark 上,绝大部分新论文要么提出新的多 agent 协作模式,要么提出新的 debate 框架,要么提出新的 self-reflection 拓扑。MetaGPT、ChatDev、AutoGen,各自跑出过比单 agent 高几个点的成绩。MetaGPT X 在 SWE-Bench Lite 上一度做到 46.67%,在当时是 SOTA 之一。[12]

工业界已经悄悄回头。Cursor、Claude Code、Devin、v0,这一拨在 2026 年真正在挣钱的产品,几乎都是单 agent 加丰富 tool 的架构。SWE-Bench 2026 年的领头羊 Claude Mythos Preview,在 SWE-Bench Verified 上跑到了 93.9%,而它本质上还是一个强 agent。[13] Cognition 那篇《Don’t Build Multi-Agents》之所以能引起共鸣,是因为整个工业界都在悄悄选边,只是没人有勇气写出来。

但工业界和学术界的最大分歧,不在 agent 数量,在另一件事:on-going training。

学术界的多数 agent 论文有一个共同特征,模型的权重是冻结的。你换框架、换 prompt、换 tool,但模型本身从训完那天起就不再变。这就好像把法军变成永远只能用 1804 年那套兵书的军队,再聪明的 Berthier 也没法把这支军队变得更厉害。

工业界则在做完全相反的事。OpenAI 2024 年底放出 Reinforcement Fine-Tuning,允许你拿一份带 grader 的小数据集去微调 o 系列模型。它的官方账单是按训练时间计费,不是按 token,意思非常明确,这不是给你做一次性的 batch fine-tune,这是希望你长期跑、持续跑。RFT 的三大典型使用场景全部围着同一件事:把生产环境里失败、模糊、踩坑的样例,变成下一版模型不会再犯的本能。[14] 这其实就是军队复盘里把昨天打输的那一仗,变成新兵入伍训的那本小册子。

Anthropic 在 Claude Code 上走的是另一条路径,auto memory 和 skills。从 v2.1.59 起,Claude Code 会在多次会话之间自动累积关于你这个项目的 build 命令、调试经验、架构决策、风格偏好。它的工作机制不是改权重,是在推理层维持一份不断生长的 retrieval 池。[15] 这两条路线,RFT 在权重里烘进去,memory 在上下文里挂出来,目的本质上是一样的:把这一次的协议,变成下一次的本能。

那些工业级产品里据传跑了多年的持续微调,Cursor 的 reranker 和补全模型、Replit Agent 的 code edit,本质上都在做同一件事。每天上线的失败 case、每个被用户拒绝的 diff、每个 PR review 里被拒掉的修改,都被自动收集、加 grader、回流进下一版权重。从外部看,模型每次更新只是版本号加一个 patch。从内部看,这一笔笔回流构成了一个永不停下的训练循环。

如果你把这件事和前面那条扁平化的故事接起来,你会发现它们是同一件事的两面。

扁平化能不能成立,本质上等价于「协议成本能不能压到零」。结构化 JSON 把单次交互的协议成本压低了一个数量级,但仍然不是零;每个 agent 在每次任务里都需要重新「理解」任务、重新「判断」边界、重新「决定」风格。on-going training 在做的事情,就是把这些每次都要重新做的判断,慢慢压进权重里。一旦某种判断变成了模型的本能,这一层协议在下一次交互里就不再需要传输——协议成本在这一维上真正归零了。

所以最干净的判断方式是这样:你的 AI 系统真正的扁平化程度,不是看你有几层 agent,是看你「今天教过它的事情,明天它需不需要再被教一遍」。如果每次都要重新教,你的系统再扁平也只是表面。如果不需要,你才真正在往 30 万人的军队走。

如果你现在手上正在做一个 AI 系统,这一切对你意味着什么。四个问题,可以拿来当体检。

第一,你的 agent 之间用 JSON 还是用自然语言通信。如果你的 planner 给 worker 的指令是一段中文段落或一段英文段落,你就在让自己的伍长用聊天发布命令。把它换成 typed tool call、结构化消息、function schema,这是所有改进里最便宜也最立竿见影的一步。

第二,你的 orchestrator 是不是越权在执行。如果你的 planner agent 开始自己写代码、自己改文件、自己在数据库里加字段,你的 Berthier 已经骑马上了前线。把执行层完全收回到 worker agent,planner 只做拆解和合并,这是大多数团队接下来要做的那次「架构纠偏」。

第三,你最强的模型在哪一层。如果你的旗舰模型在调度,小模型在执行,翻一下。中等模型已经够做 planning;真正决定你产品质量的那一长串 tool call、那一连串细节判断,需要全场最贵的模型来扛。这条建议会让你的账单上升一截,但通常也会让你产品的可靠性跳一个台阶。

第四,你有没有把失败轨迹回流成训练数据。生产环境里每一个错的诊断、每一次被用户拒绝的 diff、每一次 grader 打了零分的回答,有没有一条流水线把它收集起来、加 grader、回灌进下一版模型或下一版 retrieval 池。如果这条管道不存在,你的 AI 系统每天醒来都是同一个新兵。如果它存在,你的系统每天都在变得更像一个老兵。

四个问题答完,你大概能猜到自己离韩信还是项羽更近一点。

回到刘邦和韩信那段对话。

韩信说自己多多益善,刘邦笑着问他,既然这么能带兵,怎么还是被我抓住了。韩信那句「陛下不能将兵,而善将将」,今天读来,几乎是一句关于 AI 的预言。组织能力和执行能力是两种不同的智能,谁都不能顶替谁。但更深一层,这两种能力都被同一件事撑着,那件事叫协议。

韩信的协议是金鼓旗号,刘邦的协议是分封异姓王,拿破仑的协议是 corps 制度,今天最好的 AI 团队的协议是 typed tool call 加 on-going training。

AI 没有让组织扁平化。AI 只是第一次让「协议成本」这件事被精确定价了。当你的协议成本能压到接近零,你的组织在那一维上就真的扁平了。当你的协议成本压不下去,你和项羽一样,这辈子最多带十万兵。

至于哪一种,完全取决于你今天写下的那一行 prompt 是什么形状。

Comments

Select any text to comment on a specific part. Existing inline comments appear as small numbered bubbles. Powered by GitHub Discussions.