多 Agent 协作的技术内核:价值来自结构,不是并发
多 Agent 系统的实际收益从不源于节点数量的盲目堆叠,而取决于拓扑结构的工程约束。缺乏严格职责边界与通信契约的多 Agent 系统只是昂贵的低效并发——成倍消耗 Token 并在链路中放大模型幻觉;具备分层委派、状态隔离与确定性验证闭环的架构,才是可工程化的复杂系统。
多 Agent 系统的实际收益从不源于节点数量的盲目堆叠,而取决于拓扑结构的工程约束。缺乏严格职责边界与通信契约的多 Agent 系统只是昂贵的低效并发——成倍消耗 Token 并在链路中放大模型幻觉;具备分层委派、状态隔离与确定性验证闭环的架构,才是可工程化的复杂系统。
claude-code-from-scratch 项目用大约 3000 行 TypeScript 实现了一个"迷你版 Claude Code"。它有 Think-Act-Observe 循环、工具系统、System Prompt、权限控制、记忆、Skill、多代理、MCP——我们在前面 10 篇文章里拆解的核心概念,它全都有。
自回归大语言模型在缺乏外部强约束时,天然存在向局部贪婪变异发散的病态冲动。Claude Code 的 Plan 模式通过外挂离散有限状态机(FSM),将动作空间硬性投影至零副作用的只读子集,利用人机交互屏障强制在决策树上切断代价高昂的物理回溯分支。
有一个反直觉的现象:同一个模型,拆成多个独立实例让它协作,效果往往比单个实例更好。 不是算力增加了(三个实例的总 token 消耗比一个实例多),不是能力提升了(每个实例都是同样的模型)。提升来自角色分离——当每个 Agent 只关注问题的一个方面时,它做得比"全能 Agent"更专注、更深刻。
上一篇文章我们聊了 Think-Act-Observe 循环——AI 编程助手的骨架。骨架本身不会干活,它需要肌肉。在 Claude Code 里,肌肉就是工具。 没有工具,循环里 Think 和 Observe 之间缺了 Act,退化回普通的问答。有了工具,模型才能触碰真实世界:读你的代码、改你的配置、跑你的测试。
如果你把 Claude Code 的源码翻一遍,你会发现一个反直觉的事实: 整个程序的核心,是一个 while 循环。 不是复杂的状态机,不是精巧的管道,不是分布式协调——就是一个朴素的 while 循环,反复做三件事:让模型想、让模型动手、把结果喂回去。
把多个基于概率采样的大模型实例塞进同一个代码仓库或业务流程,本质上是在用不可靠网络和随机状态机搭建分布式系统。经典分布式系统成立的基础假设——确定性状态转移、可复现故障、拜占庭容错、原子提交——在当前的大语言模型中几乎全部失效。