共计 4126 个字符,预计需要花费 11 分钟才能阅读完成。
奕然 发自 凹非寺
量子位 | 公众号 QbitAI
如何利用多智能体技术进行深度搜索构建?
近期,Claude团队分享了他们最新的研究成果。
在这篇文章中,团队深入探讨了如何建立一个高效的多智能体研究系统,该系统的核心在于主代理(The Lead Agent)负责生成和调配子代理(Subagents),以并行的方式处理复杂的查询,文章内容涵盖了系统架构、提示设计和评估方式等多个方面。

Claude的数据显示,各行业对该功能的需求比例分别为:专业软件系统开发占10%,专业和技术内容的开发与优化、业务增长和创收策略各占8%,而协助学术研究及教育材料的开发占7%,信息研究和审核的比例为5%。
网友们对此进行了热烈讨论:
Anthropic团队对人工智能模型的深刻理解真是令人赞叹。

让我们共同来阅读这篇实用的教程吧。

核心架构:协调者与工作者的结构
Claude团队采取了协调者与工作者的架构,以有效管理多个智能体之间的任务分配和协作。下方的图示展示了多智能体架构的运行状态。

此外,该系统采用了多步骤搜索,而非单一的静态检索,能够动态地寻找相关信息,适应新的发现,并对结果进行分析以形成高质量的答案。

上面的图表展示了团队的多智能体研究系统的完整流程。
该系统使Claude能够利用互联网、工作区和定制工具进行集成,动态规划、搜索以及合成大规模语料库中的高质量答案。
主代理会将查询进行分解,并启动专门的子代理(每个子代理配备独特的工具、提示和记忆),随后整合其结果。
优化提示工程:启发式策略的运用
Anthropic团队通过不断迭代提示设计来优化智能体的行为表现。他们采用了启发式策略,以应对任务复杂性、明确委托内容、选择合适工具以及制定思维策略。
团队努力引导代理展示其思考过程,拓宽思维的路径,使Claude在生成过程中能够产生额外的token。主代理利用这种思维方式来设计整体策略,评估任务所需的工具,判断查询的复杂程度,并决定是否需要调动子代理以及如何为每个子代理指定角色。
具体操作方式如下:
深入了解代理的心理模型:团队使用控制台构建模拟,应用系统中的具体提示词和工具,逐步观察智能体的表现。这一过程验证了有效的提示词依赖于对智能体行为的深刻心理模型理解,从而揭示出最关键且有效的优化途径。
分派任务:主代理负责将查询分解为多个子任务,明确目标、预期输出格式、可用工具及信息来源指引,同时设定清晰的任务界限,将这些子任务分配给相关的子代理。
调整工作量:为了使代理能够准确评估不同任务所需的合适工作量,团队在提示中嵌入了指导方针——规模调整规则。例如,简单的信息收集任务通常仅需一个子代理,并调用工具3至10次;而复杂的研究类任务可能需要10个以上的子代理,并且需明确角色和职责的划分。
工具的选择与设计:为了帮助代理更好地评估各类任务的适宜工作量,团队提供了一系列清晰的启发式指导。例如,首先应对所有可用工具进行检查,确保工具的使用能够符合用户的需求,广泛搜索网络以获取外部信息,或者优先考虑使用专业工具而非通用工具。
自我改进机制:团队设立了一个智能工具测试代理——在面对有缺陷的MCP工具时,它会尝试使用这些工具,并在必要时重写工具的描述,以避免失败。这一过程显著提高了智能体后续执行任务的准确性,任务完成时间缩短了40%。
搜索范围的精细化:团队通过引导代理从简单、广泛的查询开始,评估所能利用的资源,然后逐步收窄搜索的焦点,以弥补这种倾向的不足。
并行调用工具的策略:团队引入了两种并行策略:(1)主智能体不再按照顺序生成子智能体,而是同时创建3到5个子智能体;(2)每个子智能体同时调用三个以上的工具进行信息检索和分析。这些优化措施使得复杂查询的处理时间缩短了高达90%,原本需要数小时才能完成的研究任务,现在可在几分钟内完成,并且覆盖的信息范围更为广泛,超出了其他系统的能力。
评估:方法灵活,确保结果可靠
有效的评估对于构建一个可靠的智能体至关重要。传统的评估方式往往遵循固定的流程,而多智能体系统则难以确定“正确的步骤”。
团队采用以下方法,既能确认智能体是否达到了预期的成果,又能保证其遵循了合理的工作流程。
小规模样本评估:团队建议,先通过少量示例进行小规模测试,而不是等到更全面的评估准备好后再进行。例如,在早期的智能体开发中,对一个提示词进行微调,成功率就可能从30%提升至80%。
利用大语言模型作为评判者:团队使用一个大语言模型作为“评判者”,根据预设的评分标准对每个输出进行评估,具体评估维度包括:
事实的准确性:论断是否与参考资料一致?
引用的准确性:引用的内容是否真实反映了所用的资料?
完整性:是否覆盖了所有任务要求的要点?
信息来源的质量:是否优先使用了一手资料,而非低质量的二手来源?
探讨工具使用效率与多智能体系统的评估
在工具的使用上,是否达到了合理与高效的标准呢?
团队曾尝试通过多个评审者对各个环节进行评估,但实验结果表明:单次调用大型语言模型(LLM)进行评分(范围在0.0到1.0之间)与简单的通过/不通过判断,显然是最为稳定且与人工评估高度一致的方式。
利用LLM的自动评估机制,研究人员能够以高效且可扩展的方式,对数百个复杂输出进行评估,从而显著提升评估过程的速度和一致性。
人工评估:人工评估者往往能够识别出自动评分系统难以察觉的异常现象,例如模型在处理不寻常查询时产生的幻觉答案、系统性故障,或者更微妙的偏见和对特定信息来源的倾斜。
即使在高度自动化的评估体系中,人工测试依旧是不可或缺的关键环节,能够不断揭示盲点并增强系统的整体可靠性。
此外,值得关注的是,多智能体系统常常展现出典型的涌现行为——这些行为并非源于特定的编程逻辑,而是在多个智能体之间相互作用中自然而然生成的。例如,对主智能体的微小调整,可能会以不可预测的方式影响子智能体的表现。
因此,成功构建多智能体系统的关键在于深入理解它们的交互模式。
这也意味着,针对智能体的最佳提示不应仅仅是严格的指令,而应当是定义劳动分工、解决问题的方法以及努力预算的合作框架。
要实现这一合作框架,需要精心设计提示和工具,建立可靠的启发式方法,实现可观察性,并形成紧密的反馈循环。
团队在Cookbook中开源了部分提示和示例。
挑战与问题:微小变动引发的“蝴蝶效应”
在智能体系统中,细微的调整会引发一系列的连锁反应,从而产生所谓的“蝴蝶效应”,导致行为和结果的显著变化。
智能体会保持其“状态”,并且错误会逐渐累积。为了应对这些错误,团队开发了一种系统,能够在错误发生时从智能体的当前位置恢复,并结合模型智能性来解决问题,同时配合重试逻辑和定期检查点等确定性安全措施。例如,当工具出现故障时,系统会发出通知,让智能体进行调整,效果显著。
调试需要创新的方法。团队引入了全面的生产环境追踪系统,能够系统地识别代理失败的根本原因并进行修复。除了传统的可观察性指标外,团队还监控智能体的决策路径及其交互结构——这一过程不涉及具体对话内容,以保障用户隐私。这种高层次、结构化的观察能力使得团队能够识别根本问题、发现异常行为,并及时修复系统中的常见故障。
更新需要精心协调。团队必须避免在版本更新时破坏系统的运行状态。为此,团队采用了彩虹部署策略,以避免中断正在运行的智能体,通过逐步将流量从旧版本转移到新版本,同时保持两个版本的并行运行。
同步执行存在瓶颈问题。在代理之间的同步执行可能导致信息流的瓶颈,主代理无法有效引导子代理,反而使得子代理之间的协调变得困难,导致搜索过程被迫中断。为此,团队尝试推行异步执行,这种方式可以实现额外的并行处理,使代理能够同时工作并在需要时创建新的子代理。然而,异步执行也会引发结果协调、状态一致性及子代理错误传播等问题。团队相信,异步执行所带来的性能提升将超过其复杂性所带来的挑战。
附加建议
对智能体进行终态评估,尤其是在多回合状态改变的情况下。团队发现,关注最终状态评估而非逐回合分析效果更佳。这种方法承认智能体可能采取其他路径来达到同一目标,并确保预期结果的实现。在复杂的业务流程中,不必逐一验证每个中间步骤,而是将评估分解为离散的检查点,观察这些检查点应当发生的特定状态变化。
长时间对话管理。在生产环境中,代理往往参与数百轮的持续对话,因此上下文管理策略的设计至关重要。团队实现了代理对已完成工作阶段的总结,并将关键信息存储在外部内存中,以便在后续任务中使用。
子代理将输出写入文件系统以减少“电话游戏”现象。与主代理和子代理的引导-传递模式不同,通过专业代理生成输出,子代理调用工具将工作成果存储在外部系统,并将轻量级的引用传递回协调器,从而提高了整体的准确性和性能。
这一机制有效地避免了在多阶段处理过程中信息的丢失,同时还显著降低了通过对话历史转移大型输出时的token消耗。这种模式特别适合用于结构化输出,如代码、报告或数据可视化等领域,子代理所生成的专业提示结果通常优于通过通用协调器的筛选。。
在构建智能体系统时,开发者在本地机器上运行的工作代码库需要经过大量的工程投入才能成为稳定的生产系统。若某个步骤失败,可能会导致智能体偏离原有路径,进而产生难以预测的后果。
团队指出,多种因素导致原型系统与能够投入用户使用的成熟生产系统之间的差距通常比预期的要大。
当单个智能体的能力接近其极限时,采用多智能体系统则成为突破现有界限,实现“智能倍增”的重要手段。
参考资料
[1]https://www.anthropic.com/engineering/built-multi-agent-research-system
[2]https://x.com/omarsar0/status/1933941558815887400
— 完 —
量子位 QbitAI · 头条号
关注我们,第一时间获取前沿科技动态的签约信息。
