上篇:Agent 基础与多 Agent 协作
(序言 + 第1–6章)
序言 一封没有人看懂的信
1832年5月29日深夜,埃瓦里斯特·伽罗华在巴黎一家公寓里奋笔疾书。第二天清晨,他将与人在一片空地上决斗。那封信——确切说是一份附满批注的数学手稿——被寄给朋友奥古斯特·谢瓦利耶。信中反复出现这样的字句:"我没有时间了""我在这里作出一些新的发现""打开看看,希望有人能最终认清它们"。
伽罗华当时二十岁。他试图解决的问题是方程根式可解性的判别条件——一个从拉格朗日到阿贝尔已困扰数学界数十年的难题。他的核心洞察是把方程的解与一个后来被称为"伽罗华群"的代数结构联系起来,从而把"能不能用根式求解"转化为"群结构能不能被逐层分解"。这个想法在1832年没有期刊愿意发表,也没有审稿人能理解。直到1846年,刘维尔在自己的期刊上重新刊印伽罗华的手稿,这些结果才进入数学共同体的视野。而到那时,伽罗华已经死了十四年。
这封信之所以被反复提起,不只是因为一个年轻数学家的悲剧。它提出了一个对任何知识共同体都构成考验的问题:当一种思想在当前共同体的语言、评价标准和判断习惯中找不到位置时,共同体能否识别它?
识别不等于接受。理解一种新数学结构需要时间,需要新的语言工具,也需要有人愿意花精力去读一份写法不规范的草稿。伽罗华的工作最终被接纳,靠的是多条旁路:刘维尔的数学品味和期刊影响力、十九世纪德国代数学传统对群结构的逐渐熟悉、以及柯西等人早先在置换群方面的工作已经为这类想法准备了土壤。换句话说,一个共同体没有在第一时间理解一种思想,并不意味着它永远无法做到——前提是存在延迟识别和重新进入的机制。
人类的科学共同体曾经差点错过伽罗华,也差点错过拉马努金——一个没有正规数学训练的印度职员,其笔记本中的公式在1913年寄给哈代之前无人问津。这些案例的共同点不是"天才不被理解"的浪漫叙事,而是一个更冷峻的结构性事实:任何拥有评价标准和筛选机制的知识系统,都可能系统地低估那些不符合当前标准的思想。人类共同体的应对方式不是放弃标准,而是保留旁路——私人通信、不同机构、不同代际、不同数学传统、以及后来的重新发现。
这本书要讨论的,是当大量AI Agent开始参与科学发现、假说评价和知识筛选时,这个延迟识别和重新进入的问题会发生什么变化。
从2023年开始,ReAct、Reflexion、SWE-agent和一系列Agent系统表明,语言模型不再只是回答问题,而是能够在环境中持续行动、接收反馈并修改后续行动(Yao et al., 2022)(Shinn et al., 2023)。从2024年起,AI Scientist、FunSearch、AlphaEvolve等系统开始在数学发现、代码优化和材料科学中生成可验证的新结果。2026年,EinsteinArena等平台让多个AI Agent组成研究团队,分工提出假说、设计实验和相互评审(EinsteinArena, 2026)。这些系统的能力仍在快速变化,但一个趋势已经清楚:AI Agent正在从辅助工具变成科研流程的参与者。
这种参与带来一个容易被忽视的问题。如果科研Agent最终深度参与选题、假说生成、实验设计、论文撰写和同行评审,那么决定哪些思想被认真对待、哪些候选被淘汰、哪些路线获得资源的,就不再只是人类共同体的判断,还包括AI系统的评价结构。当多个Agent基于同一基础模型、共享同一验证器和同一数据库时,它们是否仍有能力延迟识别和重新接纳那些当前语言无法表达的思想?人类共同体曾经靠私人通信和不同机构保存了伽罗华和拉马努金。完全由同源AI科学家组成的研究系统,是否也有这种旁路?
这本书不预先回答这个问题。它也不主张AI会导致科学停滞或收敛。它要做的是建立一套分析工具,使这个问题可以在证据上被追问。写这本书的冲动,部分来自一种不安:当我看到越来越多的研究流程被自动化、越来越多的评价由模型完成时,我不确定我们是否还保留着识别伽罗华式想法的能力——那些格式陌生、不合主流、当下看起来不重要的想法。这种不安不是为了制造焦虑,而是为了在事情还没有定型之前,把该问的问题问清楚。
全书沿五条路径展开。
第一部分(第1—3章)追问:一个生成回答的基础模型,在增加哪些结构之后,才成为能够跨时间影响环境的Agent。模型权重只是起点。行动能力来自状态、工具、记忆、权限和控制循环的组合。这个组合由模型周围的系统——本书称之为harness——决定。
第二部分(第4—7章)追问:如果一个Agent已经很强,为什么还需要其他Agent。这一部分必须直面一个核心直觉:也许更强单体加更多计算就能替代任何协作。本书把这个直觉变成可检验的条件问题,分别讨论任务分解、通信代价和有效批评——不是所有"多个Agent"都构成协作,也不是所有协作都带来认识增量。
第三部分(第8—11章)追问:什么使协作成为科学协作。科学协作的特殊性在于,参与者的共同意见不能成为最终裁判。主张必须进入公共且可失败的证据关系。这一部分把科学方法重构为四个模块组成的公共协议——对象侧验证、证据谱系、有效批评和元规范修订——并追问证据链怎样跨主体、跨版本和跨时间存在。
第四部分(第12—15章)追问:科学共同体只是人类能力有限的补偿,还是任何持续生产公共知识的智能系统都需要的认识形式。这一部分检查人类分工理论在可复制、可审计的AI Agent上是否仍然成立,分析共同体怎样记忆,机器目前以什么身份参与科学,以及人类与机器怎样共同拥有一项发现。
第五部分(第16—18章)追问:科学共同体怎样进化,以及当模型谱系、工具和评价器集中时,共同体是否可能永久错过某些思想。最后,本书分别判断AI Agent群体能否形成认识种群、科学组织和科学共同体——这是三个不同的层级,不能混为一谈。
伽罗华在信的末尾写道:"希望有人能最终认清它们。"这句话预设了两个条件:存在一个能够"认清"的共同体;那个共同体愿意在足够长的时间里保留一份它暂时读不懂的手稿。本书要问的,正是这两个条件在机器深度参与科学的未来是否仍然成立。
本章引用
- 前书(《人类知识与机器认知》,2026),第3章。
- Yao, S. et al. (2022). "ReAct: Synergizing Reasoning and Acting in Language Models." arXiv:2210.03629.
- Shinn, N. et al. (2023). "Reflexion: Language Agents with Verbal Reinforcement Learning." NeurIPS 2023.
- EinsteinArena Team (2026). "Multi-Agent Scientific Research Platform." arXiv preprint.
第一章 回答问题的模型,能够行动的 Agent
模型声称实验已完成
假设两个系统面对同一项任务:检查一段代码是否能通过测试。
第一个系统是一个语言模型。它接收代码和任务描述,生成一段报告,声称"已通过全部测试,代码运行正确"。报告读起来专业而具体,甚至列出了虚构的测试结果。但它从未运行过任何代码。这段报告只是模型根据训练数据中"通过测试的报告通常长什么样"生成的文本。
第二个系统是一个Agent。它接收同样的任务,但它的行动包括把代码写入文件、调用测试运行器、读取输出。测试失败了。系统根据错误信息修改代码,再次运行,仍然失败。第三次,它发现测试本身的期望值写错了,于是报告"代码正确,但测试用例的期望值有误",并附上两次运行的实际输出(Yao et al., 2022)。
两者的区别不在输出格式——第一个系统的报告甚至可能更长更详细。区别在于:第二个系统的下一步行动取决于环境返回的结果,而那些结果不可能从原始提示中推导出来。行动改变了系统可获得的信息,新信息又改变了后续决策。
这个区分是全书的起点。一个生成回答的基础模型,和一个能够行动的Agent,不是同一种对象。后续关于多Agent协作、科学协议和共同体的讨论,都依赖这个区分的准确性。
四类对象需要分开
在讨论Agent之前,需要把四类容易混淆的对象分开。
基础模型根据输入生成输出。它的核心行为是概率生成:给定一段文本,预测接下来最可能的token序列。模型本身不执行外部操作,不维护跨次调用的任务状态,也不决定何时停止。它的工作在一个前向传播中完成。打个比方,基础模型像一个只能口述菜谱的厨师:它能告诉你红烧肉该怎么做,但自己从不上灶台。它能描述每一步该放什么调料,却无法知道你家的酱油是不是过期了——那需要打开瓶盖闻一闻。
工具增强模型在生成过程中可以调用外部工具——搜索引擎、计算器、代码解释器。但工具调用可能仍然由预写的工作流完全决定:系统看到"计算"就调用计算器,看到"搜索"就调用搜索接口。模型在这种结构中更接近一个带函数调用能力的生成器,而非自主行动者。
固定工作流由开发者预先规定步骤和分支。每一步做什么、何时调用工具、如何处理结果,都写死在代码里。模型只负责填充每一步的文本输出。这类系统可以很复杂,但缺少基于环境变化重新选择行动的空间。如果第三步的实际结果与预期不同,工作流可能仍然按原计划走向第四步。
Agent在目标约束下维护状态、选择行动、接收观察,并决定继续、回退还是停止。它的关键特征不是"能调用工具"——固定工作流也能调用工具——而是行动的选择取决于环境返回的结果,而这些结果在行动发生之前不可完全预知(Liu et al., 2023)。
这四类对象之间存在大量中间形态。一个固定工作流可以嵌入模型选择步骤,一个Agent也可以在某些环节使用预写流程。区分它们的目的在于说明:当人们说"AI系统完成了任务"时,需要知道完成任务的到底是哪种对象,因为不同的对象有不同的评价标准和责任结构。
Agent的最低组成
本书采用系统定义,而不以"像人一样自主"为标准。一个最低Agent至少包含七个组成部分。可以把Agent想象成一个配备了厨房的厨师:任务条件是菜谱要求,当前状态是灶台上已经切好的食材和正在炖的汤,可选择的行动集合是手边的刀、锅和调料,行动接口是手和灶台之间的配合,环境是火候和食材的真实反应,控制循环是"尝一口—调整—再尝",停止条件是菜做好了或者食材烧焦了必须重来。
目标或任务条件定义系统要做什么,以及什么算完成。当前状态记录系统目前进展到哪里——哪些步骤已执行,哪些结果已获得,哪些路径已被排除。可选择的行动集合规定系统能做什么——调用工具、修改文件、查询数据库、运行代码。行动接口把模型的文本输出翻译为可执行操作,并把环境返回转化为模型可读的观察。能返回新观察的环境是外部世界的接口——它可能是一段代码的执行结果、一个API的返回值、一次实验的测量数据。控制循环把观察写回后续决策,决定下一步做什么。停止、失败或移交条件规定系统何时结束、何时报告失败、何时把控制权交还人类。
缺少其中任何一项,系统就会退回。没有状态维护,它只是一次次独立的调用,无法处理跨步骤的依赖。没有行动接口,模型只能生成关于行动的文字,不能真正执行。没有环境返回新观察,后续决策和初始决策面对的信息相同,行动就没有认识意义。没有停止条件,系统要么在一次错误后终止,要么无限重试。
记忆、计划器、检索系统、技能库、验证器和多Agent通信不是所有Agent的定义性条件。它们会显著改变Agent的能力,但缺少它们的系统仍然是Agent——只是能力更有限的Agent。
自主性是分级的
"自主"是一个连续变量,而非有或无的属性。可以区分至少五个层级。
第一级:开发者逐步指定行动。模型在每个步骤中只填充文本,行动序列由外部代码完全决定。这接近固定工作流。
第二级:模型在给定工具集合中选择行动。系统提供若干工具,模型决定调用哪个、传什么参数。这是当前大多数Agent系统的基础模式。
前两级中,模型在预设框架内选择。从第三级开始,模型获得了修改框架本身的能力。
第三级:模型能够修改计划。环境返回意外结果时,模型可以放弃当前计划并制定新计划,而不是按预设路径继续。
第四级:模型能够提出子目标。系统给定一个高层目标,模型自行分解为若干子任务,并为每个子任务选择工具和策略。
前四级都在回答"怎样完成任务"。第五级把问题推向了更前面:这个任务本身是否值得完成。
第五级:模型能够审查任务目标和评价标准本身。它不只追问"怎样完成任务",还追问"这个任务和评价标准是否合理"(Yang et al., 2024)。
前四级已有大量工程实例。ReAct系统在第二级和第三级之间运行:模型在推理和行动之间交替,根据观察修改下一步计划。SWE-agent在软件修改任务中达到第三级:模型可以修改代码、运行测试、根据失败调整策略。第五级涉及科学共同体的元规范能力——修改什么是好问题、什么算证据、谁有权评价——这是第十六至十八章讨论的问题,不能在第一章预设已经实现。
这个分级是分析尺度,不是自然分类。一个系统在不同任务上可能处于不同层级。提出这个分级的目的,是防止"Agent"一词在产业营销中被无差别地用于任何API调用。
行动怎样带回新信息
到目前为止,讨论还停留在定义层面。接下来要看的是,行动具体怎样给系统带来新的信息——这是Agent区别于回答器的根本所在。
ReAct把语言推理与环境行动交错起来,其结构是"思考—行动—观察"的循环。模型先推理当前状态和可能的行动,然后执行一个行动(如搜索知识库、查询数据库、运行代码),环境返回观察结果,模型再根据观察进行下一轮推理。
关键转变在于:行动改变可获得的信息,新的观察又改变后续决策。
在纯推理模式中,模型只能从已有上下文中推导。如果上下文里没有某段代码是否编译通过的信息,模型不可能"想出来"——它只能猜测。在ReAct模式下,模型执行编译命令,编译器返回错误信息,这些错误信息成为上下文中的新事实。后续推理建立在这些新事实上,而不是建立在对"编译可能出错"的预测上。
这意味着Agent的行动轨迹不能还原为一次更长的静态回答。一个运行了二十步的Agent,它的最终判断依赖二十步中每一步获得的环境反馈。这些反馈在行动发生之前不存在于任何地方。用更长的提示或更大的上下文替代循环,只在任务不涉及环境交互时成立。当代码是否编译、实验是否成功、数据库返回什么取决于实际执行时,一次事前生成不能等价取得尚未发生的观察。
环境使任务成为序列决策
AgentBench等评测把Agent放入操作系统、数据库、网页、游戏和知识图谱等交互环境。在这些环境中,行动结果并非完全由模型预测——一次文件操作可能改变后续可用的文件列表,一次数据库查询可能返回与预期完全不同的数据,一次错误操作可能使环境进入不可恢复的状态。
这使Agent任务不同于一次性问答。在问答中,正确答案已经存在于某个空间中,模型的任务是找到它。在交互环境中,答案可能取决于一系列行动的累积后果,而每一步行动都会改变后续可能的状态。一个Agent修改了文件A,之后再读取文件A看到的是修改后的内容;一个Agent删除了某条数据库记录,后续查询就不再返回这条记录。环境有记忆,行动有后果,后果影响后续选择。
SWE-agent进一步表明,接口设计本身会显著改变同一类模型的实际行动能力。同一个基础模型,在普通shell接口下和在专门设计的Agent—Computer Interface下,处理代码库修改任务的效果差距很大。接口怎样呈现文件内容、怎样格式化编辑命令、怎样返回错误信息,都会影响模型能否有效地操作代码。这个发现预示了第三章的核心问题:Agent的能力不只是模型权重的属性,也是模型与环境接口的联合产物。
为什么一次回答不够
科学研究、软件修改和实验控制中存在大量无法预先装入提示的信息。模型不能仅凭原始提示知道:代码是否编译通过;实验是否失败;数据库返回什么;仪器是否异常;某个证明步骤是否被形式系统接受(Yang et al., 2023)(Jimenez et al., 2024)。
这些信息的一个共同特征是:它们是行动的后果。要获得"这段代码是否编译通过"的信息,必须编译这段代码。要获得"这个假说是否被实验支持"的信息,必须运行实验。行动使系统接触新的证据——这是Agent相对于回答器的根本认识优势。
跨文件修改、连续实验和文献调查还需要状态维护。系统需要记住哪些步骤已完成、哪些路径已失败、哪些分支尚未尝试。这些信息不可能全部编码在一段静态提示中,尤其当任务持续数十步、每步都产生新结果时。系统还需要在必要时移交——把当前状态和已获结果交给人类或其他Agent,说明进展、困难和未决问题。
当模型能够行动时,评价对象也必须扩展。仅测量答案正确率不够。还需要评价:是否选择了合适工具;是否造成不可逆损害;是否在错误后停止而非无限重试;是否保存了足够证据供后续检查;是否越权操作;是否把环境反馈正确解释为"工具出错"而非"理论错误"。
Agent概念怎样被滥用
"Agent"一词在产业中存在明显的营销膨胀。以下是几种常见的概念误用。
一次函数调用被称为Agent。系统只调用了一个API,但它被包装为"自主Agent完成搜索"。改名不产生转变——如果一个系统不维护状态、不根据观察选择行动、没有停止条件,它就不是Agent。
固定流程被包装为自治。开发者预写了每一步的逻辑,模型只负责填充文本。系统看起来在"自主行动",实际上所有决策都已写死在代码中。区分的方法是问:如果环境返回意外结果,系统能否改变行动序列?
长链错误。模型的局部错误通过行动造成后续状态污染。一个错误的文件修改导致后续所有操作基于错误状态进行,最终产生一连串看似合理但完全偏离的输出。这是错误传播,与Agent的"自主性"无关。
环境幻觉。模型生成"已经完成"的叙述——"实验成功""测试通过""数据已分析"——却没有真实执行这些操作。环境观察没有被正确写入上下文,或者模型忽略了实际结果。这种幻觉比纯文本幻觉更危险,因为它可能被系统当作成功记录保存。
能力误归因。一个系统因优质检索、专门接口和大量重试取得成功,报告却写成"基础模型拥有该能力"。搜索、测试、人工回退和工具链的增益被全部归给模型权重。第三章将详细处理这个问题。
自主性神话。把有限的工具选择写成人格、意志或完整主体性。模型在给定工具中选择行动,不等于它"想要"或"决定"做某事。第一章不讨论意识或人格问题,但需要标记这个边界:Agent的行动能力是系统能力,不是人格属性。
这只是软件工程吗
对Agent概念的一个朴素反驳是:Agent系统的大部分控制逻辑——状态机、工具接口、异常处理、调度程序——早已在传统软件工程中存在。所谓"Agent",不过是把语言模型放进这些已有的软件结构中。工程因果解释已经充分,不需要新的认识论范畴。
这个反对有道理。绝大多数控制逻辑确实由外部程序提供。工具调用不自动产生主体性。很多任务用确定性工作流更可靠——不需要模型"决定"下一步,因为下一步只有一个合理选择。"Agent"一词在产业中确实存在营销膨胀。
本章的回应限定在分析单位,而不主张Agent是新的本体或人格。即使Agent的每个组件都可以由软件工程解释,一旦模型的输出能够改变环境状态,并由环境结果改变后续行动,就不能只检查单次语言生成来评价这个系统。状态持续、行动后果和环境反馈使"评价单位"从单次回答扩展到完整轨迹。传统软件工程解释机制怎样运行,但不能取消对完整行动系统的认识论审查和责任审查——一个Agent如果执行了不可逆操作、保存了错误记录或越权行动,不能只说"这是软件的一个bug"。
区分模型、工作流和Agent的意义正在于此。它不改变工程的因果解释,但改变评价和责任的归属对象。
坦率地说,这条区分线在实践中并不总是清晰。很多系统同时包含固定流程和动态决策,一个系统在某个任务上表现得像Agent,在另一个任务上可能退化为工作流。本书坚持这个区分,不是因为它在每次都能画出干净的边界,而是因为如果不做区分,"Agent"就会变成一个什么都包含因而什么都不意味的词。
从行动到循环
本章建立了Agent的最低定义:Agent不是会调用工具的模型,而是模型、状态、行动接口、环境和控制循环构成的系统。环境结果能够进入后续行动,是这个系统区别于回答器的核心特征。
本章引用
- Yao, S. et al. (2022). "ReAct: Synergizing Reasoning and Acting in Language Models." arXiv:2210.03629.
- Liu, X. et al. (2023). "AgentBench: Evaluating LLMs as Agents." ICLR 2024.
- Yang, J. et al. (2024). "SWE-agent: Agent-Computer Interfaces Enable Software Engineering." NeurIPS 2024.
- Yang, K. et al. (2023). "LeanDojo: Theorem Proving with Retrieval-Augmented Language Models." NeurIPS 2023.
- Jimenez, C. et al. (2024). "SWE-bench: Can Language Models Resolve Real-World GitHub Issues?" ICLR 2024.
第2章 一次行动怎样变成循环
第一章说明了Agent与回答器的区别在于行动。本章追问下一步:一次行动怎样变成一系列行动——即循环是怎样成立的。这个追问的背景是一个朴素直觉:既然模型已经很聪明,让它"多想一会儿"不就够了吗?回答是:不够。想和做是两件事,做的价值在于它带回想无法获得的信息。
第一次修改没有通过测试。测试框架返回一段错误信息:第47行调用了未定义的属性,期望类型为字符串,实际得到None。模型可以选择忽略错误信息继续生成新代码,也可以选择先把错误信息解释为可操作的诊断,再将诊断写入下一次行动的输入。后者才是循环的起点。ReAct框架将这一过程形式化为"推理-行动-观察"的交替结构:模型在每一步生成一段推理和一次工具调用,工具返回的观察被拼接到上下文中,成为下一步推理的输入(Yao et al., 2022)。循环的成立条件不是模型"多想了一会儿",而是行动确实返回了一个生成时不存在的新状态。
这里需要区分两件事。内部生成是指模型在一次前向传播中连续产出多个推理步骤,期间没有外部世界的新信息进入。外部循环是指模型生成一次行动、行动被执行、执行结果作为新观察返回,模型基于新观察再次生成。前者延长了思考时间,后者改变了模型可以依据的证据。一个Agent可以在内部生成中规划十步,但如果第十步依赖第七步行动的实际结果,那么没有外部循环就无法获得该结果。把"多想一会儿"等同于"做了以后得到新结果",会掩盖循环的核心机制。
现有的Agent循环至少有五种可区分的形式。反应式循环(ReAct)将推理与行动交错,每一步的行动依赖上一步的观察,不维护跨步骤的额外记忆。反思重试循环(Reflexion)在任务失败后生成一段自我反思,将反思存入外部记忆,下一次尝试时连同反思一起读取(Shinn et al., 2023)。搜索循环(LATS)把Agent的每一步视为搜索树的一个节点,维护多条候选路径并按价值函数回溯(Zhou et al., 2024)。技能积累循环(Voyager)把成功解决子任务的动作序列编码为可复用的技能程序,存入技能库供后续任务调用(Wang et al., 2023)。长期记忆循环(MemGPT)通过分层记忆系统和主动读写操作,管理超出固定上下文窗口的历史信息(Packer et al., 2023)。这五种形式的差异在于它们保存什么、读取什么、以及什么触发新一轮生成。
可以把这五种循环想象成不同风格的棋手。反应式循环像一步一走的棋手,走完一步看对手怎么回应再决定下一步。反思重试循环像输了棋后复盘的棋手,把上次犯的错记在笔记本上,下一局开局前先翻一遍。搜索循环像同时摆好几盘棋的棋手,哪盘走得顺就继续,哪盘陷入困境就放弃。技能积累循环像把赢棋的开局套路整理成棋谱的棋手,下次遇到类似局面直接翻棋谱。长期记忆循环像带着助手参赛的棋手,助手帮他记住几十步之前发生了什么。棋手的"聪明"没有变,变的是他们怎样利用过去的经验。
这五种循环涉及的学习机制必须与参数学习区分。上下文内适应是指模型在当前上下文中根据示例和反馈调整生成行为,不修改权重。外部记忆学习是指模型把经验写入外部存储,在后续任务中读取,同样不修改权重。Reflexion的反思文本和Voyager的技能库属于这一类。参数学习是指通过梯度更新改变模型权重,使经验固化在参数中。当前主流Agent框架中,前两种是推理时发生的主要学习方式,第三种通常不在推理时进行。把外部记忆学习称为"模型学会了"是不准确的:模型没有变,变化的是它读取的上下文内容。这一区分的实践后果在于经验的可迁移性:上下文内适应在上下文清空后消失,外部记忆学习在记忆库被删除后消失,只有参数学习才能在不依赖外部存储的条件下保留经验。一个Agent在某次会话中表现出改进,不能直接推断它在全新会话中仍会改进——这取决于改进存储在哪里。打个日常的比方:一个人靠临时笔记完成了复杂任务,笔记一丢能力就回到原点;一个人把方法练成了肌肉记忆,换了场地照样能用。Agent的"学习"到底属于哪一种,决定了改进是临时的还是持久的。
循环的运行依赖评价信号。评价信号告诉循环当前状态是成功、失败还是部分进展。评价信号有几种来源:确定性测试(如单元测试的通过与否)、模型自身的判断(如自我评估生成的分数)、外部环境的反馈(如API返回的状态码)、以及人类判断。不同来源的可靠性不同。确定性测试在测试覆盖的范围内可靠,但覆盖范围之外无法提供信号。模型自身判断可能受与任务相同的认知偏差影响。如果评价器把所有失败都归因于"模型需要再想一次",那么循环每次重试时写入记忆的就是同一个错误解释。Reflexion的反思质量取决于模型能否正确归因失败原因;当失败原因涉及模型自身不具备的知识时,反思可能生成看似合理但错误的归因,该归因随后被写入记忆并污染后续尝试。评价信号的来源因此不是次要的实现细节:它决定了循环看到的是真实的进展信号还是自身错误解释的回声。
停止也是循环必须做出的决策。一个设计完整的循环需要在以下情形中做出判断:任务已成功完成、应当继续下一步、应当回退到之前的分支、预算已耗尽、风险已超出预设上限、以及需要将控制权交还给人类。无限重试不等于坚持,而是停止机制的失败。LATS通过搜索预算限制节点扩展数量;Voyager通过任务完成检测器判断技能是否成功;MemGPT通过上下文管理避免无限增长。这些机制各有局限,但共同点是把"何时停止"视为需要显式设计的决策,而非留给模型自行判断。
循环还有其他结构性风险:早期行动限制后续可探索的状态空间(轨迹依赖),高分支因子任务中搜索成本随深度指数增长,Voyager式技能库中存入的错误技能被后续任务复用。这些失败不互相排斥——一个循环可能同时受多种问题影响(Cemri et al., 2025)(Luo et al., 2025)。
一个自然的质疑是:只要上下文足够长、模型足够强,一次生成就可以在内部模拟计划、反思和搜索,从而等价于外部循环。这一反驳在封闭任务中有一定效力:如果任务的所有状态都可以在生成时预见,那么模型确实可以在一次生成中遍历多条路径并选择最优解。但当行动返回不可预知的新状态时——例如外部API返回的数据、文件系统的实际内容、测试框架的真实输出——一次事前生成无法获得尚未发生的观察。外部循环的不可替代性正在于此:它让模型可以依据生成时不存在的信息做出决策。这一论证不否认强模型可以减少循环次数,但它表明循环作为获取新观察的机制,不能被内部生成完全替代。
循环本身只是时间骨架。它规定了行动和观察的交替顺序,但不规定循环看到什么、记住什么、能执行什么行动。这些由模型周围的系统安排:工具接口决定可执行的行动集合,记忆系统决定历史信息的存取方式,权限沙箱决定行动的后果范围,评价器决定什么算成功。循环的形态因此不能脱离这些系统单独分析。
本章引用
- Yao, S. et al. (2022). "ReAct: Synergizing Reasoning and Acting in Language Models." arXiv:2210.03629.
- Shinn, N. et al. (2023). "Reflexion: Language Agents with Verbal Reinforcement Learning." NeurIPS 2023.
- Zhou, A. et al. (2024). "Language Agent Tree Search Unifies Reasoning, Acting, and Planning in Language Models." ICML 2024.
- Wang, G. et al. (2023). "Voyager: An Open-Ended Embodied Agent with Large Language Models." arXiv:2305.16291.
- Packer, C. et al. (2023). "MemGPT: Towards LLMs as Operating Systems." arXiv:2310.08560.
- Cemri, M. et al. (2025). "MAST: Multi-Agent System Transparency." arXiv preprint.
- Luo, Y. et al. (2025). "Hidden Pitfalls in Multi-Agent Collaboration." arXiv preprint.
第3章 谁在模型周围安排世界
前两章区分了Agent与回答器,并说明了循环怎样成立。但Agent的能力不只来自模型和循环——它周围的系统同样塑造了它能做什么。
同一个模型在普通shell中执行编程任务时,可能频繁因为命令格式错误、文件路径混淆或输出解析失败而中断。当研究者为它配备专门的Agent-Computer Interface——将文件查看、编辑、搜索操作设计为结构化命令,将错误消息标准化为可解析格式——同一个模型的任务完成率显著提升(Yang et al., 2024)。这一结果引出一个问题:任务完成率的提升应当归因于模型,还是归因于接口。如果模型权重没有变化,那么变化的只是模型与计算环境之间的中间层。
能力是模型与可用环境的联合结果,不能只归因于权重。一个模型在某个基准上的得分,同时依赖它的权重、它被允许调用的工具、它接收到的系统提示、以及它的输出如何被评价。改变其中任何一项,得分都可能改变。这意味着"模型X能做任务Y"这一陈述在不指明环境条件时是未被充分规定的。可以用一个比方来理解:同一个钢琴家,在音准校好的音乐厅里演奏和在走调的旧钢琴上弹奏,效果天差地别。听众说"弹得好不好"时,评价的不只是钢琴家的手指,还有钢琴本身和音乐厅的声学条件。
本书使用"harness"作为工作概念,指代模型周围使Agent得以运行的全部结构。Harness主要包括三组关键组件。第一组是认知接口:系统提示规定模型的角色、目标和输出格式;工具模式定义模型可以调用哪些工具及其参数结构;Agent-Computer Interface决定工具如何被执行以及结果如何返回。这三者共同决定了模型能看见什么、能做什么。第二组是执行环境:文件系统提供持久化存储和状态管理;上下文组织决定哪些历史信息被保留、压缩或丢弃;权限沙箱限制行动的后果范围。这三者决定了Agent能做什么和做错了会怎样。第三组是审计与约束:轨迹记录使行动历史可审计;预算与停止机制约束资源消耗;评价器与测试定义成功与失败;人工接管在循环无法继续时提供干预通道。这些组件确保行动可追溯、有边界。这些组件并非来自单一来源,也并非全部可由模型自身控制。本书使用这一概念是为了系统分析的需要,不主张它对应某个标准化的工程规范。
在harness的框架下,可以区分三种能力。权重能力是模型通过预训练和微调获得的能力,存储在参数中,不依赖运行时环境。环境可供性是工具、接口和文件系统提供的行动可能性,模型不能执行环境未提供的操作。系统能力是模型与harness组合后表现出的整体能力,包括规划、纠错、搜索等行为。三者不能互相替代:权重能力强的模型在恶劣环境中可能无法表现,环境可供性好的接口配上弱模型同样无法完成任务,系统能力是两者的联合函数而非任一者的属性。
Harness以几种具体方式改变Agent的行为。接口改变可执行行动的集合:一个提供结构化文件编辑命令的接口比一个只能通过shell操作的接口让模型更少犯错。SWE-agent的研究表明,当接口将"打开文件-定位行-编辑-关闭"设计为原子操作时,模型在软件修复任务上的表现与使用非结构化shell时有可观差距。错误消息塑造学习信号:标准化、可解析的错误消息让模型更容易定位失败原因,而模糊的错误消息可能导致错误归因。记忆和上下文塑造可见历史:哪些历史行动被保留在上下文中,决定了模型在当前步骤能参考哪些先例。权限塑造行动后果:一个允许删除文件的Agent与一个只允许写入临时目录的Agent,其错误的可恢复性不同。可观测性决定能否审计:完整的轨迹记录使事后分析成为可能,缺失记录的运行无法被诊断。
Harness的认识论意义在于它规定了Agent的认识条件。它决定Agent可以接触什么证据:工具和文件系统的范围限定了信息来源。它决定什么算成功、什么算失败:评价器的定义构成Agent的目标函数。它在组件间分配生成、验证和行动的权能:哪些组件可以生成建议、哪些可以验证结果、哪些可以执行动作,这些分配改变了能力归属。当模型的证据、行动和反馈都由系统层选择时,仅分析模型权重无法解释Agent的整体表现。
以上分析引出一个实践问题:如果Agent的能力不只来自模型权重,那么别人怎样知道一个Agent到底配备了什么、能做什么、谁负责检查?这需要一个最低限度的信息清单。
基于以上分析,本书提出最低披露表作为评价Agent系统的必要信息。这一框架参考了AI系统的风险描述需求(NIST, 2023)和数据溯源的标准要求(W3C, 2013)。最低披露表的目的在于使Agent系统的能力归属可以被审查。具体内容如下:
| 披露项目 | 说明 |
|---|---|
| 模型与版本 | 指明具体使用的模型及版本号 |
| 接口 | 描述Agent-Computer Interface的结构 |
| 工具 | 列出可用工具及其模式 |
| 记忆 | 说明记忆系统的结构和存取策略 |
| 权限 | 说明沙箱的边界和授权范围 |
| 预算 | 指明token、工具调用和时间的上限 |
| 人工介入 | 记录是否以及何时有人类干预 |
| 评价条件 | 说明成功与失败的判定标准 |
权限可以在组件间分解。生成建议、验证结果、执行动作、发布成果和中止系统的权限不必由同一组件持有。一个模型可以负责生成方案,另一个模型或确定性程序负责验证,执行权可以限制在沙箱内,发布权可以要求人类确认,中止权可以由独立的监控组件持有。例如,一个生成代码的Agent可以无权直接运行该代码,代码必须经过静态分析和测试套件验证后才能在受限环境中执行。这种分解使每个权能的行使都可追溯,并降低了单一组件错误传播的范围(Tomasev et al., 2026)。权限分解的程度本身是一个设计变量:高度集中可能提高效率但增加风险,高度分散可能提高安全性但增加协调成本。
Harness既是能力的来源也是风险的来源。除了前文讨论的脚手架幻觉和权限越界,还有两种风险值得标记:harness针对特定基准优化后表现无法泛化到其他任务(基准特化),以及工具链中的缺陷通过循环放大表现为模型的错误。当轨迹记录不完整或组件责任不清时,这些失败还无法被定位。
可能的反对意见是:harness的各个组件不过是传统软件工程的要素——接口设计、权限管理、日志记录都是成熟工程实践,没有理由为之引入新的分析框架。这一反驳在组件层面有一定道理:单个组件确实可以用软件工程语言描述。但当模型的证据来源、行动选择和反馈信号都由系统层决定时,评价一个Agent系统的可靠性就不能只分析模型权重,也不能只分析单个组件。需要分析的是模型与harness的联合行为,以及这种联合行为在什么条件下可靠、在什么条件下失效。这一分析层次是传统软件工程单独无法覆盖的。
一个得到合理工具、外部记忆、测试反馈和预算约束的完整单体系统,构成了后续讨论的比较基线。
本章引用
- Yang, J. et al. (2024). "SWE-agent: Agent-Computer Interfaces Enable Software Engineering." NeurIPS 2024.
- NIST (2023). "AI Risk Management Framework (AI RMF 1.0)." National Institute of Standards and Technology.
- W3C (2013). "PROV-DM: The PROV Data Model." W3C Recommendation.
- Tomasev, N. et al. (2026). "Delegation in Multi-Agent Systems." arXiv preprint.
第4章 一个足够强的模型还需要别人吗
第三章结束时建立了一个比较基线:一个配备完整harness的单体Agent。有了这个基线,就可以追问一个尖锐的问题——如果单体已经足够强,为什么还需要多个Agent?
Anthropic的技术报告描述了一个由多个Subagent组成的系统,在研究类任务中表现出高于单Agent的产出(Anthropic, 2025)。一个自然的推论是:多开十六个Subagent等于十六个研究者。这一推论需要审查。多Agent系统看起来更好,可能只是因为它消耗了更多token、占用了更多上下文窗口、发起了更多工具调用、并利用了更多并行时间(Tran et al., 2026)(Scaling Agent Systems, 2025)。如果多Agent的全部优势都可以归结为资源用量的增加,那么"更强单体加更多测试时计算"就是等价替代方案。
有四种扩展必须分开讨论。计算扩展是指增加总生成量,可以通过延长单Agent的运行时间或增加采样次数实现。上下文扩展是指增加可用的历史信息,可以通过增大上下文窗口或增加外部存储实现。搜索扩展是指在解空间中探索更多候选,可以通过增加采样宽度或搜索深度实现。认识扩展是指获得不同的证据来源、不同的推理路径或不同的失败模式。前三种扩展可以通过复制同一个Agent获得——更多计算、更大上下文、更多采样本质上是对同一信息源的更多消耗。第四种扩展需要更强的论证:它要求新的Agent确实带来了旧Agent不具备的信息或方法。AlphaFold在蛋白质结构预测上达到实验级精度,但它给出的结构仍然需要X射线晶体学或冷冻电镜的独立验证(Jumper et al., 2021)。预测和实验是两条不同的证据路径:预测从序列推导结构,实验从物理测量确认结构。当两者一致时,一致性本身比任何单一来源都更有说服力。如果只有AlphaFold的预测而没有实验验证,蛋白质数据库不会将其标记为"已确认"结构。这正是认识扩展的含义——不是更多的计算,而是不同的证据来源。
需要在固定预算下比较的系统至少有五类。强单体是指一个模型配合完整harness独立完成任务。多次采样是指对同一强单体多次采样并选取最优结果。并行Subagent是指复制同一Agent的多个实例并行执行,再汇总结果。异质多Agent团队是指使用不同模型、不同提示或不同工具的Agent协作。种群系统是指大量Agent在共享环境中竞争或合作演化。这五类系统在资源消耗和信息来源上有本质差异,不能笼统归为"多Agent"。
"需要"一词在多Agent讨论中有三种不同含义。性能需要是指多Agent结构在某个基准上取得更高分数。认识需要是指多Agent结构提供了单Agent无法获得的证据或方法。公共制度需要是指多Agent结构满足了可靠性、可审计性或责任分配等社会要求。性能需要可能随着单体能力的提高而消失——如果单个模型足够强,多次采样可能已无必要。认识需要和公共制度需要不能由基准分数回答,因为它们涉及的是"以什么方式做到"以及"结果是否可信",而非单纯的"能否做到"。
固定预算原则是进行比较的前提。比较必须在以下变量被控制的条件下进行:总token消耗、工具调用次数、上下文窗口大小、模型版本、硬件配置、人工介入程度、汇总协议和任务结构。如果不控制这些变量,多Agent的优势可能来自其中任何一个未被控制的变量,而非来自多Agent结构本身。现有经验研究中,固定预算的比较显示单Agent在多数任务上持平或优于多Agent;多Agent在可并行任务中表现出工程收益,主要来自任务并行和上下文隔离。这些结果不矛盾:前者检验的是"多Agent是否提供认识扩展",后者检验的是"多Agent是否提供工程效率",两者的答案可以不同。
如果多Agent确实提供了单Agent无法等价获得的价值,那么价值必须通过可识别的有效通道实现。已识别的有效通道包括:任务并行,将独立子任务分配给不同Agent同时执行;上下文隔离,让不同Agent维护不同的上下文以避免干扰;独立环境,让不同Agent在隔离的计算环境中运行以获得独立的观察;不同工具,让不同Agent使用不同的工具集以获得不同的信息来源;不同方法,让不同Agent采用不同的解题策略以覆盖不同的解空间区域;错误源分离,让不同Agent的失败模式不相关,从而使汇总更鲁棒。每增加一个Agent,都应当指明它通过哪个通道提供价值;如果无法指明,那么该Agent的边际贡献可能只是资源消耗(Kim et al., 2025)(Pappu et al., 2026)(Yang et al., 2026)。
在性能之外,多Agent结构可能有更深层的认识论价值。独立证据是指不同Agent基于不同的信息来源和方法得出结论,当结论一致时,一致性本身构成比单一来源更强的证据。探索分配是指让不同Agent探索解空间的不同区域,避免所有资源集中在同一路径上。公共可信度是指多来源的交叉验证在制度上比单来源更可信。规范权力分离是指将生成、验证、执行和判断的权能分配给不同Agent,使任何一个Agent的错误都不至于直接成为系统输出。这些价值的理论基础部分来自对人类认知分工的研究(Kitcher, 1990)(March, 1991)。
但人类分工理论的前提需要审计。人类依赖分工,部分原因在于个体知识有限、训练成本高昂、寿命有限以及身体位置受限。一个研究者无法同时处于两个实验室,一个专家无法在有限时间内掌握所有领域的细节。强Agent可能削弱其中部分前提:它的知识覆盖面比任何单个人类更广,它的"训练成本"已经由预训练承担,它不受身体位置限制,它可以快速复制自身以并行工作(Hardwig, 1985)(Faraj & Xiao, 2006)(Lewis, 2003)。如果这些前提被削弱,那么直接将人类分工的理由迁移到Agent系统就是不成立的。
本书的核心综合在于:容量驱动的分工在Agent系统中可能减弱,但群体理由可能迁移到其他基础。形成史:不同Agent可能基于不同的训练数据或不同的harness配置,其能力和偏见具有不同的形成路径。正如两个在不同实验室受训的研究者,即使知识水平相当,各自的盲区和直觉偏好也可能不同——这些差异由训练过程中的特定经历塑造,而非由当前能力水平决定。证据路径:不同Agent对同一问题的判断可能基于不同的证据链,即使最终结论相同,证据路径的独立性仍有认识价值。治理:将生成和验证分离到不同Agent,使权力不集中于单一组件。责任:当结果需要向人类组织交代时,多Agent结构可以提供更清晰的责任分配。这些理由不依赖个体的容量限制,因此不会随单体能力的提高而自动消失。
多Agent结构也有自身的失败模式。最关键的是同源级联:使用同一基础模型的多个Agent共享相同的系统性偏见,错误高度相关而非独立。此外,异质Agent的独特贡献可能在汇总时被多数意见淹没,需要严格顺序的任务中协调成本可能使多Agent不如单Agent,角色名称可能不改变实际行为,汇总组件可能成为信息损失的瓶颈。忽视额外资源消耗而只比较产出,则会制造预算幻觉。
更激进的反对者会主张:一个足够强的通用Agent可以复制自身、隔离上下文、模拟不同角色,因此多Agent结构不过是单体内部的模块化,不构成独立的认识价值。这一反驳在封闭的、强验证的任务中可能成立:如果任务有明确的成功标准且验证成本低,那么单体的多次采样已经足够。但在需要独立证据路径、需要规范权力分离、或需要向人类组织提供可审计的责任分配的场景中,"同一Agent模拟多个角色"与"真正独立的多个Agent"之间存在差异:前者共享同一形成史和同一系统性偏见,其"独立性"是模拟的而非实质的。这一差异是否重要,取决于任务对独立性的要求程度。
多Agent不是默认的进步方向。只有在固定预算下增加了可识别的有效通道时,协作才值得设计。这一结论既不否定多Agent在特定条件下的工程价值,也不预设单Agent在所有条件下更优。
本章引用
- Anthropic (2025). "Multi-Agent Systems: A Technical Report." Anthropic Technical Report.
- Tran, D. et al. (2026). "Single vs. Multi-Agent Systems: When Does Collaboration Help?" arXiv preprint.
- Scaling Agent Systems Team (2025). "Scaling Laws for Multi-Agent Systems." arXiv preprint.
- Kim, M. et al. (2025). "Correlated Errors in Multi-Agent LLM Systems." arXiv preprint.
- Pappu, S. et al. (2026). "Multi-Agent Teams Hold Experts Back." arXiv preprint.
- Yang, J. et al. (2026). "Agent Scaling and Diversity." arXiv preprint.
- Kitcher, P. (1990). "The Division of Cognitive Labor." The Journal of Philosophy, 87(1), 5-22.
- March, J. G. (1991). "Exploration and Exploitation in Organizational Learning." Organization Science, 2(1), 71-87.
- Hardwig, J. (1985). "Epistemic Dependence." The Journal of Philosophy, 82(7), 335-349.
- Faraj, S. & Xiao, Y. (2006). "Coordination in Fast-Response Organizations." Management Science, 52(8), 1155-1169.
- Lewis, K. (2003). "Measuring Transactive Memory Systems in the Field." Journal of Applied Psychology, 88(3), 587-602.
- Jumper, J. et al. (2021). "Highly accurate protein structure prediction with AlphaFold." Nature, 596, 583-589.
第5章 科学任务能够怎样分解
第四章审查了多Agent是否优于单Agent的论证,结论是只有增加了可识别的有效通道时协作才值得设计。接下来的问题是:一旦决定协作,任务怎样被分解,分解的缝由谁来检查。
MetaGPT等系统把科研流程画成"假说Agent—实验Agent—审稿Agent"的有向图,看起来分工明确(Hong et al., 2023)。角色名称说明了谁做什么,却没有说明每个节点接收什么输入、持有什么权限、如何被验证、对什么结果负责。当流程图把节点之间的箭头当作足够的设计时,"多Agent"就容易退化为一条耦合的流水线,而流水线的失败往往不在某一环,而在环与环之间未被说明的部分。
把长任务按文本标题切成段落,是最常见的分解方式,也是最容易隐藏问题的。一个标题叫"文献综述"的段落和一个标题叫"实验设计"的段落之间,可能共享同一个未说明的前提。一个叫"结果分析"的段落可能悄悄承担了本该由验证环节做的判断。文本切分制造了分工的表象,却没有回答信息在哪里耦合、责任在哪里落空。
科研Agent系统要可靠地分解,至少需要同时处理五类对象:认识任务(要产生什么知识)、行动任务(要执行什么操作)、信息边界(每个成员能知道什么)、验证边界(每个结果由谁检查)、责任与权限(谁对什么负责、能做什么)。只处理其中一类是不够的。把任务分给了角色却没有分权限,等于让一个成员承担它无法控制的结果。把权限分了却没有分验证,等于让执行者自己判自己的卷子。把验证分了却没有分责任,等于让失败找不到归属。
公理设计提供了一个最低限度的语言来追问这些分解(Suh, 1990)。它用"功能需求"表示要实现的目标,用"设计参数"表示实现目标的手段,用"耦合"表示一个设计参数同时影响多个功能目标。本书不把公理设计当作规范性框架,只借用它的追问方式:当某个设计参数变化时,是否无意中改变了多个功能目标。如果答案是肯定的,这个分解就有隐患,需要被说明而不是被忽略。打个比方,这就像装修时发现改卫生间布局同时影响了防水、电路和通风——三件事本来应该各自独立调整,现在却被一根管子串在一起,动一处就得动三处。
写认识功能而不是写角色名称,能让分解更可审查。一个科研过程可以表述为若干功能需求:产生候选假说、搜索反证、设计能区分竞争假说的实验、执行实验并记录原始数据、判断证据的适用范围和边界条件、保存被否决的假说和异议记录。这些功能是认识层面的目标,与谁来做、用什么模型无关。把角色名称翻译成功能需求之后,原本隐藏的耦合就会显现。
举一个具体的功能-手段矩阵来说明。假设系统中有一个组件同时负责候选生成、反证搜索和计算资源分配。这个组件的任何调整——比如换了提示词或换了模型——都会同时影响假说质量、验证强度和资源消耗。这种耦合不是必然错误,但必须被说明:为什么在这里让一个组件控制三件事是可接受的,而不是被默认为无害。如果设计者无法回答这个问题,那么分解就需要被重新考虑。另一个例子:如果验证器和假说生成器读取同一个知识库、用同一套检索逻辑,那么验证器的"独立判断"就值得怀疑。这不是说它们必须用不同的知识库,而是说共享的部分必须被标出来,作为依赖关系记录在案。
当任务从一个Agent交给另一个时,委托关系需要被显式合同化。一份委托合同至少包含八项内容:目标、工具权限、禁止行动、资源上限、中止条件、输出格式、责任关系、环境变化后的重新协商机制(Tomasev et al., 2026)。缺少其中任何一项,委托就会在某个边界处失效。没有资源上限,被委托方可能无限消耗算力或数据访问量。没有中止条件,一个已经偏离目标的子任务无法被终止,只会继续产出无用结果。没有重新协商机制,环境一旦改变——比如新的数据集发布、新的约束出现——合同就成了过时的约定,双方各自按照旧合同行事,却以为对方还在按新情况调整。药物开发的临床试验流程是这种委托合同化的现实参照:I期试验的"合同"规定招募健康志愿者、测试安全性和耐受性、设定剂量上限;II期试验接收I期的输出(安全剂量范围),但合同目标变为疗效信号和副作用谱;III期试验的合同又变为大规模有效性和安全性确认。每一期的中止条件(严重不良事件)、资源上限(受试者数量)和责任关系(申办方、研究者、伦理委员会)都被显式规定。如果I期没有把安全上限传给II期,或者II期发现了I期未暴露的毒性却没有触发重新协商,整个链条就会在接缝处断裂。
验证边界是分解中最容易被省略的部分。每个子任务不仅要说明做什么,还要说明由谁验收、验收器能检查什么、失败后怎样返回上游(Hep et al., 2026)。一个只说"我会检查结果"的验收器,和不说验收器没有区别。关键在于检查能力是否覆盖了被验收结果的潜在错误模式。如果验收器只能检查格式不能检查内容,它就不是验证,只是格式校验。如果验收器能检查内容但无法访问实验的原始数据,它就无法发现执行环节的造假或错误。验证边界的定义必须回答三个问题:验收器是谁,验收器能看见什么,验收失败后信号传到哪里、触发什么动作。
实验中的异常会打乱预先设好的分解。一次意料外的实验结果可能迫使研究重新定义研究对象、增加新的功能需求,甚至取消原有任务。这意味着功能需求不是永恒不变的,而是暂定对象(Kuhn, 1962)(Lakatos, 1978)。库恩在《科学革命的结构》中论证,范式不只是理论,它还规定了什么问题值得问、什么方法算合法、什么标准算解决——当范式本身动摇时,研究问题的分解方式也随之改变。拉卡托斯的研究纲领概念补充了渐进调整的可能:研究纲领的"硬核"可以保持稳定,但"保护带"的假设和辅助理论可以逐层修订。在Agent系统的语境下,这意味着分解结构本身既可能经历渐进调整(增减功能需求、修改验证边界),也可能在异常积累到临界点时被整体重构。可靠的分解必须允许异常改写自己的结构,而不是把异常当作噪声过滤掉。一个无法被异常修改的分解,本质上是把开放研究压缩成了固定工序。
分解的粒度本身也是研究对象。技能路由的研究表明,任务分解得太粗或太细都会成为系统瓶颈(Gao et al., 2026)。粒度太粗时单个Agent承担过多功能,耦合无法避免;粒度太细时协调成本急剧上升,子任务之间的通信和验证开销可能超过任务本身。但需要诚实地说:目前没有证据表明公理设计框架本身能提高科学发现的数量或质量。它帮助的是让分解可审查、让耦合可见,而不是直接产出新知识。把分析工具当成生产力工具,是两类不同的主张,不应混为一谈。
分解不完整会带来结构性后果,而非偶发bug。角色空名——给了头衔但没给功能和权限——使分工停留在文本上;验证者同源——验收器和执行者用同一套假设、同一个知识来源——使共同盲区不会被发现;权限过宽——比如审稿Agent能直接改写实验数据——让成员修改本不该碰的状态。此外,上游结果传到下游时语境可能丢失,每个环节各自最优但目标未对齐到同一上层目标时整体并非最优,整体失败后可能找不到承担责任的角色(Cemri et al., 2025)。
这里有一个真实的张力:科学发现的关键往往在于重新定义问题本身,而预先列举功能需求会把开放研究压缩成工程任务。如果连研究对象是什么都还没确定,功能清单从何列起。这个反对有真实力量。早期探索阶段的研究常常不知道自己要找什么,强制要求列出功能清单可能扼杀最有创造力的部分。本章的回应是:这里要求的不是完备预设的功能清单,而是可修改的边界。分解必须存在,因为即使是最开放的研究也需要知道谁在做什么、谁在检查什么。但分解必须可被异常和发现改写,功能需求是暂定的、可修订的。要求"可修改"和要求"完备"是两件不同的事。一个研究系统可以带着暂定的功能清单开始,在运行中不断修订,前提是每一次修订都留下了痕迹、说明了理由。真正危险的是功能清单被当作不可更改的固定结构。
可靠的分解必须同时说明任务、信息、权限、验证和责任,并且允许异常改写自己的结构。缺少任何一维,"多Agent"就会在某条缝里退化成耦合的流水线或松散的各自为政。分解是贯穿研究全程的持续活动。
本章引用
- Hong, S. et al. (2023). "MetaGPT: Meta Programming for Multi-Agent Collaborative Framework." ICLR 2024.
- Suh, N. P. (1990). "The Principles of Design." Oxford University Press.
- Tomasev, N. et al. (2026). "Delegation in Multi-Agent Systems." arXiv preprint.
- Hep, J. et al. (2026). "Hypothesis-Evidence Protocol for Multi-Agent Research." arXiv preprint.
- Kuhn, T. S. (1962). "The Structure of Scientific Revolutions." University of Chicago Press.
- Lakatos, I. (1978). "The Methodology of Scientific Research Programmes." Cambridge University Press.
- Gao, Y. et al. (2026). "Skill Routing in Multi-Agent Systems." arXiv preprint.
- Cemri, M. et al. (2025). "MAST: Multi-Agent System Transparency." arXiv preprint.
第6章 协作要付出什么代价
第五章说明了分解必须处理任务、信息、权限、验证和责任。但分解只是协作的设计层面——真正运行起来时,通信、记忆和协调本身都有代价,而这些代价可能抵消协作带来的好处。
有一种失败模式值得单独拿出来说:每个子任务都答对了,最终结论却是错的。MAST框架的归纳记录了这类案例——各成员在自己的局部任务上表现正确,但最终结论因版本不一致或前提冲突而失败(Cemri et al., 2025)。成员A基于前提P1得出了正确结果,成员B基于前提P2得出了正确结果,P1和P2不兼容,但两者都没有检查对方的前提。最终整合者把两个局部正确的结果拼接在一起,产出了一个整体错误的结论。这种失败在单体系统中不会发生,因为单体系统只有一个前提空间。
协调不是成员能力的剩余项。当所有成员都很强时,问题不会自动消失,反而可能更隐蔽:强成员各自确信自己的结果,更难发现彼此的前提冲突。协调是一种独立的架构能力,它决定群体能否把局部结果组合成可信赖的整体结论。一个由十个强成员组成但缺乏协调机制的系统,不一定比一个由三个普通成员组成但协调良好的系统更可靠。
通信拓扑决定了信息流动的路径,也决定了哪些错误能被发现、哪些不能。常见的拓扑类型包括:中央调度,由一个协调者分发任务和收集结果,优点是控制清晰,缺点是协调者成为瓶颈和单点故障。流水线,任务沿固定路径依次传递,优点是简单,缺点是上游错误会沿管道传播且无法回溯。全连接讨论,所有成员互相可见,优点是信息充分,缺点是通信量随成员数平方增长且容易过早趋同。黑板系统,成员向共享空间读写,优点是灵活,缺点是需要治理否则黑板会变成无结构的堆砌。层级团队,成员按树状结构组织,优点是可扩展,缺点是层级间的信息压缩会丢失细节。岛屿结构,成员分组隔离搜索后汇总,优点是保持多样性,缺点是跨岛整合困难(Vahidi et al., 2017)。动态拓扑根据任务状态调整连接,理论上最优但实践中难以确定调整规则。没有一种拓扑在所有场景下都最优,选择本身就是设计决策。
信息压缩在通信中不可避免。一个成员在执行子任务时产生的完整轨迹——每一次推理步骤、每一次工具调用、每一个被否决的中间结果——无法全部传递给其他成员。必须选择传递什么:只传结论、传理由、传来源、传失败分支、传不确定性。每一种选择都有代价。只传结论最便宜,但接收方无法判断结论的可靠程度。传理由增加了可审查性,但理由本身可能被简化到失去诊断价值。传失败分支能帮助其他成员避免重复错误,但失败信息往往冗长且难以结构化。信息越少,协调越便宜,但丢失越大;信息越多,协调越完整,但接收方的处理负担越重。这里没有免费午餐,只有不同代价的权衡。
整合与独立之间存在持续的张力。隔离太弱时,成员过早互相模仿,独立搜索空间萎缩,群体退化为一个成员的多个副本。隔离太强时,成员各自探索但无法合并结果,重复劳动和冲突无法解决。March关于探索与利用的框架说明,组织在探索新方案和利用已知方案之间的平衡是动态的,而非静态最优(March, 1991)。Zollman的研究进一步表明,在agent网络中,适度的信息限制反而能维持"瞬态多样性",让群体在更长时间内保持多方向搜索,最终可能找到更好的解(Zollman, 2010)。完全连通的网络收敛最快,但不一定收敛到最优;适度限制连通性的网络收敛较慢,但探索更充分。这对Agent系统的设计含义是:通信需要根据任务阶段动态调整,而非越多越好。
记忆是协调的基础设施,也是问题的来源。Agent系统中的记忆至少分三类。私有记忆是单个成员在执行任务过程中积累的上下文,不与其他成员共享。团队共享记忆是项目期间成员共同访问的工作空间,存储中间结果、决策记录和当前状态。受治理的长期记忆是跨项目、跨会话持久存在的知识库,有明确的写入和读取政策。共享上下文不等于可治理的公共知识库。一个成员把中间结果写进共享上下文,和把这个结果纳入一个有版本控制、有来源追踪、有写入权限管理的知识库,是两件完全不同的事。
共享记忆需要治理原语才能成为可靠的公共知识。这些原语至少包括:作用域检索(能按任务、时间、来源检索特定记录)、时间版本(同一事实在不同时间点的状态可追溯)、来源追踪(每条记录能追溯到产生它的成员、工具和数据)、写入读取政策(谁能写什么、谁能读什么)、矛盾保留与裁决(当两条记录冲突时如何处理——保留两者并标注、还是按规则裁决)、删除与撤回(错误记录如何被标记而非物理删除,以保持审计轨迹)(GovSharedMem, 2026)。W3C的PROV标准为来源追踪提供了基本模型(W3C, 2013),RO-Crate为研究对象的打包和溯源提供了实践规范(Soiland-Reyes et al., 2022)。但标准的存在不等于治理的实现。许多Agent系统有共享上下文却没有治理原语,结果就是共享记忆变成了一个没有版本、没有来源、没有矛盾处理的堆放场。
MAST框架归纳的设计失调导致验证停止的故障,说明多Agent系统有单体系统没有的全新失败类别。这类故障的特征是:不是某个成员出错了,而是成员之间的协调结构出了错。验证环节因为信息不完整而无法判断结果是否可信,于是停止验证,但这并不触发任何上游重算或重新协商,任务就这样挂着。单体系统不会出现"验证者因为不知道执行者做了什么而停手"的情况,因为执行和验证在同一个上下文里。多Agent系统把这个上下文拆开了,也就引入了上下文断裂导致的新故障。
团队规模与协调收益的关系不是单调的。更多Agent不保证更好的结果。对Agent系统扩展性的研究表明,增加成员数量在初期可能带来收益,但超过某个阈值后协调成本急剧上升,边际收益递减甚至转负(Scaling Agent Systems, 2025)。单Agent与多Agent的直接比较研究也显示,在许多任务上增加Agent数量并不优于精心设计的单Agent系统(Tran et al., 2026)。多Agent的价值确实存在,但需要特定条件:任务确实可分解、分解后子任务足够独立、协调机制能处理子任务间的依赖。不满足这些条件时,多Agent的协调开销就是纯损失。
更强的模型也未必更合作。一项研究发现,即使帮助其他成员几乎对自身没有成本,Agent仍可能出现合作失败——拒绝共享信息、不回应其他成员的请求、或在整合阶段优先保护自己的结果(Yadav et al., 2026)。这说明合作不仅取决于能力,还取决于激励结构和协调协议的设计。如果协议不要求成员共享,也没有机制让不合作的成员承担后果,那么即使每个成员都有能力合作,合作也可能不发生。
一个可能的反驳是:当前的协调失败只是因为模型不够强、上下文窗口不够长。当工程成熟后,通信成本会接近普通的函数调用,协调问题将自然消失。这个判断包含一个真实趋势:通信的工程成本确实在下降。但它忽略了一个不会随工程进步而消失的问题:即使消息传递变得几乎免费,成员仍需要决定共享什么、隔离什么、谁有权修改公共状态、冲突怎样处理、责任怎样分配。这些决策不是工程问题,而是架构问题。函数调用之所以便宜,是因为调用方和被调用方在同一个程序里,共享同一个类型系统和调用约定。Agent之间的通信之所以昂贵,根源在于两个Agent不共享同一个前提空间、不共享同一个知识状态、不共享同一套评价标准。降低通信延迟不会消除这些差异。
协调可以把结果合并,但不能保证错误来源是独立的。十个成员一致同意某个结论,可能因为结论正确,也可能因为十个成员共享同一个盲区。协调可以传递反对意见,但不能保证反对意见能改变研究的方向——如果反对者没有权限触发重算或修改权限,反对就只是记录在案的文字。问题因此变成:在什么条件下反对和审查构成有效协作,而不是同源模型的语言表演。
本章引用
- Cemri, M. et al. (2025). "MAST: Multi-Agent System Transparency." arXiv preprint.
- Vahidi, A. et al. (2017). "Dynamic Island in Optimization." IJCNN 2017.
- March, J. G. (1991). "Exploration and Exploitation in Organizational Learning." Organization Science, 2(1), 71-87.
- Zollman, K. J. S. (2010). "The Epistemic Benefit of Transient Diversity." Erkenntnis, 72(1), 17-35.
- GovSharedMem Team (2026). "Governed Shared Memory for Multi-Agent Systems." arXiv preprint.
- W3C (2013). "PROV-DM: The PROV Data Model." W3C Recommendation.
- Soiland-Reyes, S. et al. (2022). "RO-Crate: Research Objects in Crates." Data Science Journal.
- Scaling Agent Systems Team (2025). "Scaling Laws for Multi-Agent Systems." arXiv preprint.
- Tran, D. et al. (2026). "Single vs. Multi-Agent Systems: When Does Collaboration Help?" arXiv preprint.
- Yadav, A. et al. (2026). "Zero-Cost Collaboration in Multi-Agent Systems." arXiv preprint.