返回 文章 build CMS 文章

Anthropic 如何构建多智能体研究系统:架构、提示工程与生产化经验

Anthropic 拆解多智能体研究系统的架构设计、提示工程、评估与生产化经验,揭示多智能体为何在开放式研究任务中显著优于单智能体。

多智能体系统AI AgentAnthropic提示工程
成长分 / 100 77 综合收获、行动、留存与影响

Anthropic 如何构建多智能体研究系统:架构、提示工程与生产化经验
为什么值得读首次系统披露 Anthropic 多智能体研究系统的内部架构与性能数据,包括多智能体比单智能体高出 90.2% 的评估结果。

提供了从提示工程、评估方法到生产部署的完整工程实践,而非停留在概念层面。

关键洞察
  1. 多智能体系统在内部研究评估中比单智能体 Claude Opus 4 高出 90.2%,主要优势在于广度优先查询和并行探索。
  2. Token 使用量单独解释了 BrowseComp 评估中 80% 的性能差异,多智能体架构本质上是有效扩展 token 使用量的方式。
  3. 多智能体系统比聊天交互多消耗约 15 倍 token,因此仅适用于任务价值足够高、且可高度并行化的场景。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:19241

获取开发者简报

产品更新、操作指南、社区聚焦等更多内容。每月发送至您的收件箱。

Claude 现在具备研究能力,使其能够跨网络、Google Workspace 及任何集成进行搜索,以完成复杂任务。

这个多智能体系统从原型到生产的历程,教会了我们关于系统架构、工具设计和提示工程的关键经验。多智能体系统由多个智能体(LLM 在循环中自主使用工具)协同工作组成。我们的研究功能涉及一个智能体,它根据用户查询规划研究过程,然后使用工具创建并行智能体,同时搜索信息。具有多个智能体的系统在智能体协调、评估和可靠性方面引入了新的挑战。

本文拆解了对我们行之有效的原则——我们希望您会发现它们对构建自己的多智能体系统有所助益。

研究工作涉及开放式问题,很难提前预测所需步骤。你无法为探索复杂主题硬编码一条固定路径,因为该过程本质上是动态的且依赖路径。当人们开展研究时,他们往往会根据发现不断更新自己的方法,沿着调查过程中出现的线索前进。

这种不可预测性使 AI 智能体特别适合研究任务。研究要求具备随着调查展开而转向或探索旁支联系的灵活性。模型必须在许多轮次中自主运行,根据中间发现决定追求哪些方向。线性的、一次性的流水线无法处理这些任务。

搜索的本质是压缩:从庞大的语料库中提炼洞见。子智能体通过在自己的上下文窗口中并行运行来促进压缩,同时探索问题的不同方面,然后为首席研究智能体浓缩最重要的 token。每个子智能体还提供了关注点分离——不同的工具、提示和探索轨迹——这减少了路径依赖,并实现了彻底、独立的调查。

一旦智能达到某个阈值,多智能体系统就成为扩展性能的重要方式。例如,尽管个体人类在过去 10 万年中变得更聪明,但在信息时代,人类社会的能力呈指数级增长,这是因为我们的集体智能和协调能力。即使是通用智能体,作为个体运行时也面临限制;智能体群体可以完成多得多的事情。

我们的内部评估显示,多智能体研究系统尤其擅长涉及同时追求多个独立方向的广度优先查询。我们发现,在我们的内部研究评估中,以 Claude Opus 4 作为首席智能体、Claude Sonnet 4 作为子智能体的多智能体系统,比单智能体 Claude Opus 4 的表现高出 90.2%。例如,当被要求识别信息技术板块标普 500 指数中所有公司的董事会成员时,多智能体系统通过将此分解为子智能体的任务找到了正确答案,而单智能体系统则因缓慢的顺序搜索而未能找到答案。

多智能体系统之所以有效,主要是因为它们有助于消耗足够的 token 来解决问题。在我们的分析中,三个因素解释了 BrowseComp 评估(该评估测试浏览智能体定位难以找到的信息的能力)中 95% 的性能差异。我们发现,仅 token 使用量本身就解释了 80% 的差异,工具调用次数和模型选择是另外两个解释因素。这一发现验证了我们的架构,即通过具有独立上下文窗口的智能体分配工作,以增加并行推理的能力。最新的 Claude 模型在 token 使用上充当了巨大的效率倍增器,因为升级到 Claude Sonnet 4 比在 Claude Sonnet 3.7 上加倍 token 预算带来更大的性能提升。多智能体架构有效地扩展了 token 使用量,适用于超出单个智能体限制的任务。

有一个缺点:在实践中,这些架构消耗 token 的速度很快。在我们的数据中,智能体通常比聊天交互多使用约 4 倍的 token,而多智能体系统比聊天多使用约 15 倍的 token。为了经济可行性,多智能体系统需要任务价值足够高,以支付性能提升的成本。此外,一些需要所有智能体共享相同上下文或涉及智能体之间许多依赖关系的领域,目前并不适合多智能体系统。例如,大多数编码任务涉及的可真正并行化的任务比研究少,而且 LLM 智能体在实时协调和委派给其他智能体方面还不够擅长。我们发现,多智能体系统在涉及大量并行化、信息超出单个上下文窗口以及与众多复杂工具交互的有价值任务中表现出色。

我们的研究系统使用具有编排器-工作者模式的多智能体架构,其中主智能体协调过程,同时委派给并行运行的专门子智能体。

当用户提交查询时,主智能体分析它,制定策略,并生成子智能体同时探索不同方面。如上图所示,子智能体充当智能过滤器,通过迭代使用搜索工具收集信息(在此例中是关于 2025 年 AI 智能体公司的信息),然后向主智能体返回公司列表,以便它编译最终答案。

使用检索增强生成(RAG)的传统方法使用静态检索。也就是说,它们获取与输入查询最相似的一组块,并使用这些块生成响应。相比之下,我们的架构使用多步搜索,动态查找相关信息,适应新发现,并分析结果以制定高质量答案。

多智能体系统与单智能体系统有重要区别,包括协调复杂性的快速增长。早期的智能体犯过错误,例如为简单查询生成 50 个子智能体,无休止地在网上搜索不存在的来源,以及通过过多的更新相互干扰。由于每个智能体都由提示引导,提示工程是我们改善这些行为的主要手段。以下是我们为提示智能体学到的一些原则:

我们的提示策略侧重于灌输良好的启发式方法,而非僵化的规则。我们研究了熟练的人类如何处理研究任务,并将这些策略编码到我们的提示中——例如将难题分解为更小的任务、仔细评估来源质量、根据新信息调整搜索方法,以及识别何时应专注于深度(详细调查一个主题)与广度(并行探索多个主题)。我们还通过设置明确的护栏来主动减轻意外副作用,以防止代理失控。最后,我们专注于具有可观测性和测试用例的快速迭代循环。

良好的评估对于构建可靠的AI应用至关重要,代理也不例外。然而,评估多代理系统提出了独特的挑战。传统评估通常假设AI每次都遵循相同的步骤:给定输入X,系统应遵循路径Y产生输出Z。但多代理系统并非如此运作。即使起点相同,代理也可能采取完全不同的有效路径来达到目标。一个代理可能搜索三个来源,而另一个搜索十个,或者它们可能使用不同的工具来找到相同的答案。因为我们并不总是知道正确的步骤是什么,所以我们通常不能仅仅检查代理是否遵循了我们预先规定的“正确”步骤。相反,我们需要灵活的评估方法,判断代理是否在遵循合理过程的同时取得了正确的结果。

立即从小样本开始评估。在代理开发的早期,变化往往会产生巨大影响,因为有大量唾手可得的成果。一个提示调整可能会将成功率从30%提升到80%。在效应量如此之大的情况下,只需几个测试用例就能发现变化。我们从一组约20个代表真实使用模式的查询开始。测试这些查询通常能让我们清楚地看到变化的影响。我们经常听说AI开发团队推迟创建评估,因为他们认为只有包含数百个测试用例的大型评估才有用。然而,最好立即从几个例子开始小规模测试,而不是等到能够构建更全面的评估。

如果做得好,LLM 作为评判者的评估可以规模化。 研究输出很难通过程序化方式评估,因为它们是自由形式的文本,很少只有一个正确答案。LLM 天然适合为输出评分。我们使用了一个 LLM 评判者,根据评分标准中的各项准则来评估每个输出:事实准确性(陈述是否与来源相符?)、引用准确性(引用的来源是否与陈述相符?)、完整性(是否覆盖了所有要求的方面?)、来源质量(是否优先使用一手来源而非质量较低的二手来源?)以及工具效率(是否以合理的次数使用了正确的工具?)。我们尝试了多个评判者来评估每个组成部分,但发现使用单个提示词进行一次 LLM 调用、输出 0.0-1.0 的分数和通过-不通过等级,是最一致且与人类判断最吻合的方式。当评估测试用例确实有明确答案时,这种方法尤其有效,我们可以用 LLM 评判者简单地检查答案是否正确(即,它是否准确列出了研发预算排名前三的制药公司?)。使用 LLM 作为评判者使我们能够可扩展地评估数百个输出。

人工评估能捕捉到自动化遗漏的问题。 测试智能体的人员会发现评估遗漏的边缘情况。这些包括对不寻常查询的幻觉答案、系统故障或微妙的来源选择偏差。在我们的案例中,人工测试人员注意到我们早期的智能体始终选择 SEO 优化的内容农场,而不是权威但排名较低的来源,如学术 PDF 或个人博客。在提示词中添加来源质量启发式规则有助于解决这个问题。即使在自动化评估的世界中,人工测试仍然至关重要。

多智能体系统具有涌现行为,这些行为在没有特定编程的情况下出现。例如,对主导智能体的微小更改可能会不可预测地改变子智能体的行为。成功需要理解交互模式,而不仅仅是个体智能体的行为。因此,这些智能体的最佳提示词不仅仅是严格的指令,而是协作框架,定义了劳动分工、问题解决方法和工作量预算。做好这一点依赖于精心的提示词和工具设计、可靠的启发式规则、可观测性以及紧密的反馈循环。** **请参阅我们 Cookbook 中的开源提示词,了解我们系统中的示例提示词。

在传统软件中,一个 bug 可能会破坏某个功能、降低性能或导致停机。在智能体系统中,微小的更改会级联成巨大的行为变化,这使得为必须在长时间运行的进程中保持状态的复杂智能体编写代码变得异常困难。

智能体是有状态的,错误会累积。 智能体可以长时间运行,在多次工具调用中保持状态。这意味着我们需要持久地执行代码并处理过程中出现的错误。如果没有有效的缓解措施,微小的系统故障对智能体来说可能是灾难性的。当错误发生时,我们不能只是从头重新开始:重启代价高昂,且令用户感到沮丧。相反,我们构建了能够从智能体发生错误时的状态恢复的系统。我们还利用模型的智能来优雅地处理问题:例如,让智能体知道某个工具正在失败,并让它自行调整,效果出奇地好。我们将基于 Claude 构建的 AI 智能体的适应性与确定性保障措施(如重试逻辑和定期检查点)相结合。

调试受益于新方法。 智能体会做出动态决策,并且即使在相同的提示下,每次运行也是非确定性的。这使得调试更加困难。例如,用户会报告智能体“找不到明显的信息”,但我们无法看出原因。是智能体使用了糟糕的搜索查询?选择了劣质来源?遇到了工具故障?添加完整的生产环境追踪让我们能够诊断智能体失败的原因并系统地修复问题。除了标准的可观测性之外,我们还监控智能体的决策模式和交互结构——所有这些都不监控单个对话的内容,以维护用户隐私。这种高层次的观测能力帮助我们诊断根本原因、发现意外行为并修复常见故障。

部署需要仔细协调。 智能体系统是由提示、工具和执行逻辑组成的高度有状态的网络,几乎持续运行。这意味着每当我们部署更新时,智能体可能处于其流程的任何阶段。因此,我们需要防止我们善意的代码更改破坏现有的智能体。我们无法同时将每个智能体更新到新版本。相反,我们使用彩虹部署来避免干扰正在运行的智能体,通过逐步将流量从旧版本转移到新版本,同时保持两者同时运行。

同步执行会造成瓶颈。 目前,我们的主智能体同步执行子智能体,等待每组子智能体完成后再继续。这简化了协调,但在智能体之间的信息流中造成了瓶颈。例如,主智能体无法引导子智能体,子智能体之间无法协调,整个系统可能在等待单个子智能体完成搜索时被阻塞。异步执行将实现额外的并行性:智能体并发工作,并在需要时创建新的子智能体。但这种异步性在结果协调、状态一致性以及子智能体之间的错误传播方面增加了挑战。随着模型能够处理更长、更复杂的研究任务,我们预计性能提升将证明这种复杂性是值得的。

构建 AI 智能体时,最后一公里往往占据了大部分旅程。在开发者机器上运行的代码库需要大量工程化工作才能成为可靠的生产系统。智能体系统中错误的复合性质意味着,传统软件中的小问题可能会完全使智能体偏离轨道。一步失败可能导致智能体探索完全不同的轨迹,导致不可预测的结果。由于本文所述的所有原因,原型与生产之间的差距往往比预期的要大。

尽管存在这些挑战,多智能体系统已被证明对开放式研究任务很有价值。用户表示,Claude 帮助他们发现了未曾考虑过的商业机会,导航复杂的医疗保健选项,解决棘手的技术缺陷,并通过揭示他们独自无法发现的研究联系节省了长达数天的工作。多智能体研究系统可以通过精心的工程、全面的测试、注重细节的提示和工具设计、稳健的运营实践,以及研究、产品和工程团队之间的紧密协作(这些团队对当前智能体能力有深刻理解)来可靠地大规模运行。我们已经看到这些系统正在改变人们解决复杂问题的方式。

作者:Jeremy Hadfield、Barry Zhang、Kenneth Lien、Florian Scholz、Jeremy Fox 和 Daniel Ford。这项工作反映了 Anthropic 多个团队的集体努力,他们使 Research 功能成为可能。特别感谢 Anthropic 应用工程团队,他们的奉献将这一复杂的多智能体系统推向了生产。我们也感谢早期用户的出色反馈。

以下是一些关于多智能体系统的额外杂项提示。

对在多轮中改变状态的智能体进行最终状态评估。 评估在多轮对话中修改持久状态的智能体提出了独特的挑战。与只读研究任务不同,每个动作都可能改变后续步骤的环境,造成传统评估方法难以处理的依赖关系。我们发现专注于最终状态评估而非逐轮分析是成功的。与其判断智能体是否遵循了特定过程,不如评估它是否达到了正确的最终状态。这种方法承认智能体可能会找到实现同一目标的替代路径,同时仍确保它们交付预期的结果。对于复杂的工作流程,将评估分解为应发生特定状态变化的离散检查点,而不是试图验证每一个中间步骤。

长时程对话管理。 生产级智能体经常参与跨越数百轮的对话,需要谨慎的上下文管理策略。随着对话延长,标准上下文窗口变得不足,需要智能压缩和记忆机制。我们实现了这样的模式:智能体总结已完成的工作阶段,并将关键信息存储在外部记忆中,然后再继续新任务。当接近上下文限制时,智能体可以生成具有干净上下文的新子智能体,同时通过仔细的交接保持连续性。此外,它们可以从记忆中检索存储的上下文,如研究计划,而不是在达到上下文限制时丢失之前的工作。这种分布式方法防止了上下文溢出,同时在扩展交互中保持了对话的连贯性。

子智能体输出到文件系统以最小化“传话游戏”。 对于某些类型的结果,直接子智能体输出可以绕过主协调器,提高保真度和性能。与其要求子智能体通过领导智能体沟通所有内容,不如实施工件系统,让专业智能体可以创建独立持久化的输出。子智能体调用工具将其工作存储在外部系统中,然后将轻量级引用传递回协调器。这防止了多阶段处理过程中的信息丢失,并减少了通过对话历史复制大型输出带来的令牌开销。该模式特别适用于结构化输出,如代码、报告或数据可视化,其中子智能体的专业提示产生的结果比通过通用协调器过滤更好。

产品更新、操作指南、社区聚焦等。每月发送到您的收件箱。