AI在线 AI在线

智能体协作的力量:Anthropic 的「Research」多智能体实践

大家好,我是肆〇柒。 在 AI 领域,多智能体系统正逐渐成为解决复杂任务的关键技术之一。 昨天,我看到一篇出自 Anthropic 官网 Engineering 板块的博文,主要分享了Anthropic 在 Research 这个功能对于多智能体的工程实践。

智能体协作的力量:Anthropic 的「Research」多智能体实践

大家好,我是肆〇柒。在 AI 领域,多智能体系统正逐渐成为解决复杂任务的关键技术之一。昨天,我看到一篇出自 Anthropic 官网 Engineering 板块的博文,主要分享了Anthropic 在 Research 这个功能对于多智能体的工程实践。现在,我们就一起来了解一下它是如何凭借创新性的架构和设计,在处理复杂 Research 任务时展现出卓越的性能,以及其背后的技术逻辑。

多智能体系统的缘起与发展

在科研与探索的广阔领域中,我们常常面临开放性问题,这类问题的解决路径错综复杂,根本无法提前预设好每一步的行动方案。传统的单一流程在面对这种复杂性时,往往显得捉襟见肘,难以灵活应对动态变化的探索需求。无法为探索复杂主题硬编码固定的路径,因为该过程本质上具有动态性和路径依赖性。当人们进行研究时,他们倾向于根据发现来不断更新他们的想法或方法,并跟随调查过程中出现的线索来调整方向。多智能体系统之所以能够脱颖而出,正是因为它具备了高度的灵活性和动态性,能够在Research过程中实时调整策略,重塑研究方向,从而完美契合研究过程的不确定性特点。

为了让大家更直观地理解多智能体系统的潜力,我们可以将目光投向人类社会智力发展的历程。过去 10 万年间,个体人类的智力水平并没有显著提升,但人类社会在信息时代却迎来了指数级的进步。这一切的背后,是集体智能和协调能力的飞跃式发展。类比之下,多智能体系统在提升 AI 能力方面也展现出了巨大的潜力。它能够弥补单个智能体的局限,通过多个智能体的协同合作,实现更高效的任务解决,让 AI 在复杂任务面前也能游刃有余。

多智能体系统的架构与优势

Anthropic 的多智能体 Research 系统采用了主智能体与子智能体的分工协作架构。主智能体负责统筹全局,分析用户查询,制定策略,然后根据任务需求创建多个子智能体。这些子智能体各司其职,独立处理不同任务,通过并行处理实现信息的高效压缩与探索。在这种架构下,每个子智能体都有自己的工具、提示和探索路径,它们相互独立又相互补充,极大地减少了路径依赖性,提升了调查的全面性和准确性。

智能体协作的力量:Anthropic 的「Research」多智能体实践

在内部评估中,多智能体系统的性能表现令人兴奋。以 Claude Opus 4 作为主智能体,Claude Sonnet 4 作为子智能体的组合,在内部研究评估中,相较于单智能体 Claude Opus 4,性能提升了整整 90.2%。这一数据直观地展现了多智能体系统的卓越性能。尤其是在涉及多个独立方向同时探索的任务中,多智能体系统展现出了无可比拟的优势。

例如,当需要识别信息技术领域标准普尔 500 强公司所有董事会成员时,多智能体系统通过将任务分解为多个子任务,分配给不同的子智能体并行处理,成功找到了正确答案,而单智能体系统则因缓慢的顺序搜索而失败。这种性能上的巨大差异,主要源于多智能体系统在信息处理和工具调用方面的显著优势。

相比之下,多智能体系统与单智能体系统和传统 RAG 方法在查询准确度、信息覆盖度、处理速度等方面存在明显差异。多智能体系统能够在处理复杂查询时,动态调整搜索策略,根据新发现的信息不断优化方向,而单智能体系统和传统 RAG 方法则往往受限于线性、静态的流程,难以在复杂任务中实现高效的信息挖掘和整合。

多智能体系统的成本与适用场景

多智能体系统在 token 使用量上的显著增加不容忽视。在实际运行中,智能体通常使用的 token 量是聊天交互的 4 倍,而多智能体系统更是高达聊天的 15 倍。这使得多智能体系统的经济可行性高度依赖于任务的价值。

智能体协作的力量:Anthropic 的「Research」多智能体实践

高价值任务,如需要大量并行化处理、信息超出单个上下文窗口、需要与多个复杂工具交互的任务场景,是 Research 多智能体系统的理想用武之地。例如,在进行广泛的信息收集和整合时,多智能体系统能够通过并行处理多个任务,快速获取和分析大量信息,从而为用户提供了一个高效的解决方案。然而,像编码任务这类涉及较少真正并行化任务的场景,目前还并非多智能体系统的最佳适用领域。

进一步来说,多智能体系统在当前的技术背景下,不太适用于所有智能体需要共享同一情境或智能体间存在众多依赖关系的领域(注意:这一观点应是特指 Anthropic 的 Research 这款产品的多智能体架构,并非统指所有”多智能体“)。例如,大多数编码任务相较于 Research 任务,其并行化需求较少,而且 LLM 智能体在实时协调和委托其他智能体方面的能力还有待提升。这意味着在这些领域,多智能体系统可能无法充分发挥其优势。

架构细节

多智能体架构的运作流程始于用户提交查询。主智能体首先对查询进行分析,制定出一套详细的策略,然后根据任务需求创建多个子智能体。每个子智能体独立执行搜索任务,搜索的本质是压缩,从庞大的语料库中提炼见解。智能体使用搜索工具收集信息,并对工具结果进行评估筛选,最终将收集到的信息返回给主智能体。

主智能体在整合这些信息后,会判断是否需要进一步深入研究(Deep Research)。如果需要,它会继续创建新的子智能体或调整现有策略。一旦收集到足够充分的信息,系统就会退出 Research 循环,将所有研究成果传递给引用代理,处理文档和研究报告,确保每一个结论都有据可循,都有明确的出处。最终,完整的带有引用的研究结果将呈现给用户。

主智能体在制定策略和创建子智能体时,采用了基于关键词和语义信息的综合分析方法。它会提取用户查询中的关键词,结合语义分析技术,理解用户的真实需求和意图。然后,根据预先定义的规则和启发式算法,确定需要创建的子智能体数量和类型。例如,如果查询涉及多个不同领域的信息,主智能体可能会创建多个专注于不同领域的子智能体,以实现更精准的信息收集。

子智能体在执行任务时,会根据主智能体分配的任务描述,选择合适的搜索工具和参数。它们会参考任务类型和目标,确定合适的搜索关键词和过滤条件。例如,在进行公司董事会成员信息收集时,子智能体可能会选择使用专门的公司信息数据库搜索工具,设置合适的关键词和过滤条件,快速定位到目标信息。同时,子智能体会对搜索结果进行质量评估和相关性判断,筛选出最符合任务需求的信息。

值得一提的是,主智能体在思考制定策略时,会先将其计划保存到内存中,以保持上下文的连贯性。如果上下文窗口超过 200,000 tokens,它将被截断,而保存的计划可以防止信息丢失,确保任务能够按计划推进。

为了帮助大家更好地理解这一复杂流程,我们可以参考多智能体架构示意图:

多智能体架构在实际运行中的示意图

多智能体架构在实际运行中的示意图

这张图清晰地展示了用户查询从主智能体到子智能体的流转过程,以及信息收集、评估和整合的路径。通过这张图,我们可以直观地看到系统的关键环节和相互关系,从而对多智能体架构的运作机制有更深入的把握。

接下来,我们再看看多智能体 Research 系统完整工作流程图:

多智能体研究系统完整工作流程图

多智能体 Research 系统完整工作流程图

从图中可以看到,整个流程从用户提交查询开始,主智能体先进行思考规划,保存计划到内存,然后创建多个子智能体。每个子智能体独立进行网络搜索,使用工具评估结果,再将结果返回给主智能体。主智能体整合这些信息后,决定是否需要进一步研究,最后由引用代理处理引用,生成最终结果。

子智能体在评估工具结果时,采用了交错思考的方式。这种思考模式使子智能体能够更深入地分析结果的质量,判断其与任务的相关性,并在必要时调整下一步的行动方向。

提示工程与智能体评估

多智能体系统与单智能体系统在提示工程上存在显著差异,主要体现在协调复杂度的增加上。早期的智能体在实际运行中出现了不少错误,比如在简单查询时生成过多的子智能体,进行无休止的网络搜索却找不到不存在的资源,或者子智能体之间因过多的更新而相互干扰。为了解决这些问题,Anthropic 在提示工程中总结出了一系列关键原则。

1️⃣ 换位思考至关重要。只有深入理解智能体的行为逻辑,才能精准地优化提示。我们可以通过模拟智能体的行为,观察它们在不同情况下的表现,从而发现问题所在。比如,智能体可能在已经获得足够结果时继续搜索,或者使用过于冗长的搜索查询。通过换位思考,我们能够更准确地把握智能体的行为模式,进而做出有效的调整。

2️⃣ 教导主智能体如何合理委托任务也是关键一环。主智能体需要将查询分解成多个子任务,并向子智能体提供清晰的任务描述。每个子智能体需要明确自己的目标、输出格式、可使用的工具和数据源,以及任务的边界。如果任务描述模糊不清,子智能体就可能误解任务,重复工作,甚至遗漏关键信息。例如,早期的主智能体在分配任务时,仅给出简单的指令,如 “研究半导体短缺”,导致子智能体的工作出现偏差,有的研究 2021 年汽车芯片危机,有的则调查 2025 年供应链现状,缺乏有效的分工协作。

3️⃣ 根据查询的复杂性调整投入也是提升系统效率的重要手段。简单事实查询可能只需要 1 个子智能体进行 3 - 10 次工具调用,直接比较可能需要 2 - 4 个子智能体进行 10 - 15 次调用,而复杂 Research 可能需要超过 10 个子智能体,且职责分工明确。通过在提示中嵌入这些明确的指导原则,主智能体能够更高效地分配资源,避免在简单查询上投入过多,这也是早期版本中常见的失败模式。

4️⃣ 工具设计与选择同样是提示工程中的关键环节。智能体与工具的接口设计至关重要,就像人机交互界面一样。选择合适的工具可以显著提高效率,因为有时它甚至是完成任务的必要条件。例如,如果智能体在寻找特定于 Slack 的背景信息时只进行网络搜索,那它从一开始就会陷入困境。在拥有 MCP 服务器为模型提供外部工具访问权限的情况下,这个问题会更加复杂,因为智能体会遇到各种描述质量参差不齐的工具。Anthropic 为智能体提供了明确的启发式规则,比如先检查所有可用工具,将工具的使用与用户意图相匹配,在需要广泛外部探索时进行网络搜索,或者优先选择专用工具而非通用工具。糟糕的工具描述可能导致智能体完全误入歧途,因此每个工具都需要有明确的目的和清晰的描述。

5️⃣ 智能体的自我改进能力也值得关注。Anthropic 发现 Claude 4 模型在提示工程方面表现出色。当给定一个提示和失败模式时,它们能够诊断出智能体失败的原因并提出改进建议。Anthropic甚至创建了一个工具测试智能体,当给定一个有缺陷的 MCP 工具时,它会尝试使用该工具,然后重写工具描述以避免失败。通过反复测试工具(几十次),这个智能体发现了关键的细节和漏洞。这种改进工具人体工程学的过程,使得后续使用新描述的智能体在任务完成时间上减少了 40%,因为它们能够避免大多数错误。

6️⃣ 在搜索策略方面,Anthropic提倡先宽泛后具体。专家型人类研究者通常会先对研究领域进行广泛探索,然后再深入到具体细节。Anthropic通过提示引导智能体采取这种策略,以避免它们一开始就使用过于冗长、具体的查询,导致返回的结果过少。相反,可以让智能体从简短、宽泛的查询开始,评估可用信息,然后逐步缩小搜索范围。

7️⃣ 引导智能体的思考过程也是提示工程的重要内容。扩展思考模式可以作为可控的草稿纸,让 Claude 在思考过程中输出更多的 token。主智能体利用这种思考模式来规划其方法,评估哪些工具适合任务,确定查询的复杂性和子智能体数量,并定义每个子智能体的角色。测试表明,扩展思考可以提高指令遵循、推理和效率。子智能体同样会进行规划,然后在工具结果后使用交错的思考来评估质量,识别差距,并完善下一次查询。这使得子智能体能够更有效地适应各种任务。

8️⃣ 并行工具调用是提升速度和性能的关键。复杂的任务通常需要探索多个来源。早期的智能体执行顺序搜索,速度之慢令人难以忍受。为了加速,Anthropic 引入了两种并行化方式:(1)主智能体同时启动 3 - 5 个子智能体,而非顺序启动;(2)子智能体并行使用 3 个以上的工具。这些改进使得复杂查询的研究时间最多缩短了 90%,让研究系统能够在几分钟内完成更多的工作,同时覆盖比其他系统更多的信息。

在智能体评估方面,多智能体系统具有独特性。与传统评估方法不同,多智能体系统在相同的起点下,智能体可能会采取完全不同但同样有效的路径来达成目标。因此,我们需要灵活的评估方法,既要确保智能体取得了正确的结果,又要验证它们遵循了合理的流程。 

建议从即时小样本评估开始。在智能体开发的早期阶段,少量的测试用例往往能显著体现改进效果。例如,一个简单的提示调整可能将成功率从 30% 提升到 80%。在这些情况下,仅需少量测试用例就能观察到变化。通常会使用大约 20 个代表实际使用模式的查询进行测试,这经常能清晰地显示出更改的影响。许多团队因为认为只有包含数百个测试用例的大规模评估才有用而推迟创建评估,但实际上,从小规模测试开始更为高效。

LLM 作为评判者在评估中发挥着重要作用。研究输出通常是自由形式的文本,很少有单一的正确答案,因此很难通过程序进行评估。LLM 天然适合对输出进行评分。Anthropic 使用了一个 LLM 评判者,根据评分标准对每个输出进行评估,包括

  • 事实准确性(声明是否与来源一致?)
  • 引用准确性(引用的来源是否与声明一致?)
  • 完整性(是否涵盖了所有请求的方面?)
  • 来源质量(是否优先使用原始来源而非低质量的次要来源?)
  • 工具效率(是否合理使用了正确的工具次数?)

Anthropic 尝试了多个评判者来评估每个组件,但发现使用单个 LLM 调用,通过单个提示输出 0.0 - 1.0 分和通过 / 失败等级的方法更为一致,也更符合人类判断。当评估用例确实有明确答案时,这种方法特别有效,可以使用 LLM 评判者来简单检查答案是否正确(例如,它是否准确列出了研发预算排名前三的制药公司?)。使用 LLM 作为评判者使我们能够可扩展地评估数百个输出。

同时,人类评估在发现自动化评估遗漏的问题方面发挥着不可替代的作用。在测试智能体时,人类测试者能够发现自动化评估所忽略的边缘情况,例如在不寻常的查询上编造答案、系统故障或微妙的来源选择偏差。在Anthropic的案例中,人类测试者注意到早期的智能体倾向于选择 SEO 优化的内容农场,而非像学术 PDF 或个人博客这样权威但排名较低的来源。在提示中添加来源质量启发式规则帮助解决了这个问题。即使在自动化评估盛行的时代,手动测试仍然是不可或缺的。

多智能体系统具有涌现行为,这些行为并非通过特定编程产生。例如,对主智能体的微小更改可能会不可预测地改变子智能体的行为。成功的关键在于理解交互模式,而不仅是单个智能体的行为。因此,为这些智能体编写最佳提示并非仅是严格的指令,而是定义协作框架,明确分工、问题解决方法和努力预算。实现这一目标依赖于精心的提示设计、工具设计、扎实的启发式方法、可观测性和紧密的反馈循环。

生产可靠性与工程挑战

在传统的软件开发中,一个小小的错误可能会破坏一个功能、降低性能或导致停机。而智能体系统则不同,即使是很小的改动也可能引发巨大的行为变化,这使得为必须在长流程中保持状态的复杂智能体编写代码变得异常困难。

智能体是有状态的,错误会累积起来。智能体可能会运行很长时间,在多次工具调用中保持状态。这意味着我们需要持久地执行代码,并在此过程中处理错误。如果没有有效的缓解措施,即使是小的系统故障也可能对智能体造成灾难性的后果。当错误发生时,我们不能简单地从头开始重启:重启成本高昂,对用户来说也令人沮丧。相反,Anthropic构建了能够在错误发生时从中断处恢复的系统。并且还利用模型的智能来优雅地处理问题:例如,当某个工具出现故障时,让智能体知道并允许它适应这一情况,这出奇地有效。Anthropic 将基于 Claude 构建的 AI 智能体的适应性与诸如重试逻辑和定期检查点之类的确定性保障措施相结合。

调试智能体需要新的方法。智能体会做出动态决策,在相同的提示下每次运行都是非确定性的。这使得调试变得更加困难。例如,用户会报告智能体 “找不到显而易见的信息”,但我们却无法知道原因。智能体是在使用糟糕的搜索查询吗?选择了不好的来源吗?遇到了工具故障吗?为了诊断这些问题并系统地修复它们,Anthropic增加了完整的生产追踪功能。除了标准的可观测性,还要监控智能体的决策模式和交互结构,所有这些都不会监控单个对话的内容,以维护用户隐私。这种高级别的可观测性帮助我们诊断根本原因,发现意外行为,并修复常见故障。

在部署时,智能体系统的协调至关重要。智能体系统是一张由提示、工具和几乎持续运行的执行逻辑组成的高度状态化的网络。这意味着,当我们部署更新时,智能体可能处于其流程的任何阶段。因此,我们需要防止我们善意的代码更改破坏现有的智能体。我们不能同时将所有智能体更新到新版本。相反,通过逐渐将流量从旧版本转移到新版本(rainbow deployments),同时保持两个版本同时运行,这样可以避免打扰正在运行的智能体,实现版本的平滑过渡,在版本升级的同时,给在线用户最好的体验。

同步执行会造成瓶颈。目前,Anthropic 的主智能体是同步执行子智能体的,等待每组子智能体完成后再继续。这简化了协调,但在智能体之间的信息流动中创造了瓶颈。例如,主智能体无法引导子智能体,子智能体之间无法协作,整个系统可能会因为等待单个子智能体完成搜索而被阻塞。异步执行(async)将允许更多的并行性,使智能体能够同时工作,并在需要时创建新的子智能体。但异步性也增加了结果协调、状态一致性和错误传播的挑战。随着模型能够处理更长、更复杂的任务,可以预计性能提升将证明这些复杂性是值得的。

异步执行可能带来的挑战包括:

  • 结果协调 :在异步环境下,多个子智能体可能同时产生结果,如何确保这些结果能够被正确地汇集和整合,是一个复杂的问题。需要设计有效的机制来管理结果的收集和处理顺序,以防止结果冲突和数据不一致。
  • 状态一致性 :当多个子智能体异步执行时,它们共享的状态可能会不断变化。确保所有智能体在访问和更新状态时保持一致性,避免出现状态的不连贯或错误,需要采用诸如分布式锁、版本控制等技术手段。
  • 错误传播 :在异步系统中,一个子智能体的错误可能不会立即被发现,从而影响整个系统的稳定性。需要建立完善的错误检测和恢复机制,确保错误能够及时被捕获和处理,防止错误在系统中传播和扩大。

智能体系统的优化技巧

在智能体最终状态评估方面,对于在多轮对话或复杂任务中会修改持久状态的智能体,Anthropic 采用聚焦于最终状态的评估方法,而不是仅仅关注每一步骤的细节。这样可以确保智能体能够以不同的合理路径达成既定目标,同时保障结果的准确性。例如,在涉及信息收集与整合的任务中,可以评估智能体是否成功获取并整合了所有关键信息,形成完整且准确的输出。

在长期对话管理中,智能体会通过总结已完成的工作阶段,将关键信息存储于外部记忆中。当上下文窗口接近限制时,智能体会创建新的子智能体,这些子智能体会带着干净的上下文开始工作,同时通过精心的交接保持对话的连贯性。此外,智能体可以从记忆中检索存储的上下文,例如研究计划,而不会因达到上下文限制而丢失先前的工作成果。这种分布式方法既防止了上下文溢出,又保持了对话的连贯性。

子智能体的输出优化机制也值得注意。为了避免信息在多级传递中的损耗,子智能体会直接将结构化的结果(如代码、报告、数据可视化等)存储于外部系统,并向主智能体传递轻量级的引用。例如,在代码生成任务中,子智能体会将完整的代码保存到外部存储中,并向主智能体提供一个引用,这样主智能体就能便捷地获取完整的代码,而无需在对话历史中传递大量的代码文本,从而提升了信息传递的准确性和效率,同时减少了 token 开销。

总结

多智能体系统在解决复杂任务方面展现出了巨大的潜力。从 Anthropic 的实践来看,从原型到生产系统的转变充满了挑战。智能体系统的动态性和复杂性要求我们在可靠性、性能等方面进行综合考量,确保系统能够稳定运行并提供高质量的服务。

许多用户已经从多智能体研究系统中受益。例如,有用户表示 Claude 帮助他们发现了未曾考虑过的商业机会,顺利地导航复杂的医疗选项,快速解决了棘手的技术故障,并通过挖掘他们自己无法找到的研究联系,节省了数天的工作时间。这些实际反馈充分证明了多智能体研究系统在不同领域的价值。

智能体协作的力量:Anthropic 的「Research」多智能体实践

这是一张 Clio 嵌入式图表,展示了当下人们使用研究功能最普遍的几种方式。其中,排名前几位的使用案例类别分别是:跨专业领域开发软件系统(占比 10%)、开发及优化专业和技术内容(占比 8%)、制定业务增长及创收策略(占比 8%)、协助开展学术研究以及开发教育资源(占比 7%),以及对人物、地点或组织的相关信息进行调研和核实(占比 5%)

今年4月份的时候,我在觉察流社群聊到过,目前Deep Research类应用,是LLM比较成熟的落地场景,并且很适合在企业内应用。这篇来自 Anthropic 在 Research 的多智能体实践探索,为我们提供了一个生动的案例,展示了如何通过精心设计的架构和优化策略,让多个智能体协同合作,攻克复杂任务。从主智能体与子智能体的分工协作,到提示工程的精细打磨,再到生产可靠性保障的全方位考量,这篇分享不可谓不细致。

相关资讯

只需两步,让大模型智能体社区相信你是秦始皇

AIxiv专栏是AI在线发布学术、技术内容的栏目。过去数年,AI在线AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:[email protected][email protected]本文由上海交通大学与百川智能共同完成,第一作者鞠天杰是上海交通大学网络空间安全学院三年级博士生。他的研究方向是大模型与智能体安全。论文地址::,由斯坦福大学和谷歌的研究团队开发的“AI小镇
7/25/2024 1:56:00 PM
机器之心

​首个自主机器学习AI工程师,刚问世就秒了OpenAI o1,Kaggle大师拿到饱

机器之心报道,编辑:泽南,亚鹂。
11/16/2024 1:40:00 PM
机器之心

斯坦福研究团队推出 SIRIUS:一种自我优化的多智能体推理框架

随着人工智能技术的发展,多智能体系统在各个领域的复杂任务处理能力越来越强。 这些系统由多个专门的智能体组成,它们通过合作各自发挥特长,共同达成目标。 这样的协作在复杂推理、编程、药物发现和安全保证等方面表现出色,因为智能体之间的结构化互动不仅提高了解决问题的效率,还可以相互校正,从而改进各自的输出。
2/13/2025 5:45:00 PM
AI在线
  • 1