用户提交查询信息后,主导智能体将进行详尽的分析,并制定相应的策略。在此过程中,它还会创建多个子智能体,各司其职,深入探究不同的领域。正如前文所述,这些子智能体会不断调用检索工具,扮演着智能过滤器的角色。以查询2025年AI智能体公司为例,子智能体会搜集相关资料,然后将整理好的公司名录反馈给主导智能体,由主导智能体进行汇总,最终得出结论。
传统的检索增强生成技术多基于静态检索策略,即依据输入的查询信息,检索出与之最为贴近的信息片段,并以此为基础构建回复。然而,我们的系统架构有所不同,它通过多轮搜索过程,能够灵活地识别出相关内容,实时调整搜索策略,并对检索结果进行深入分析,最终提供更为精准和高质量的答案。
图或流程图详细呈现了我们多智能体Research系统的整体运作步骤。用户提交查询信息后,系统随即启动一个主研究者智能体,该智能体随即进入迭代研究阶段。在此过程中,主研究者智能体首先会构思研究路线,并将制定的研究方案保存在记忆模块中,以确保研究背景和信息的持续保留。一旦上下文窗口中的tokens数量超过二十万,超出的内容便会遭到截取,这就使得对计划进行妥善保存变得极为重要。紧接着,LeadResearcher将针对不同的研究项目,构建一系列专门化的Subagent(子智能体),在此仅列举两个示例,实际上可以创建任意数量的子智能体。各个子智能体各自执行网络搜索任务,同时运用交错思维评估手段来分析检索到的信息,然后将所得信息反馈给LeadResearcher。LeadResearcher对所收到的信息进行综合分析,若发现需要进一步探究,便可能新增子智能体或调整研究方法。信息收集完毕,系统便会结束研究流程,并将所得的全部研究成果提交给CitationAgent(引文智能体)进行加工。该智能体会对文档及研究报告进行详尽分析,标明引用的具体位置,从而确保每一个论断都有确切的信息来源作为支撑。最后,附有完备引文的研究成果会被反馈给用户。
研究智能体的提示词工程与评估
多智能体系统与单智能体系统在本质上存在差异,特别是在处理复杂度方面,其增长速度尤为显著。在早期阶段,智能体系统常常出现失误,例如,为了执行一个简单的查询任务,会创建多达50个子智能体,它们不断地在全网范围内搜索根本不存在的信息源,或者因为频繁的数据更新而相互干扰。鉴于每个智能体均由提示词来引导,提示词工程便成为了我们优化系统行为的关键途径。以下是我们基于智能体提示词设计过程中积累的一些经验性原则:
从智能体的视角出发,为了不断改进提示词,我们必须深入理解其产生的实际影响。因此,我们在Console平台中,通过模拟实际应用中的提示词和工具,对智能体的行为进行了细致的观察。这一过程迅速揭示了智能体操作中的一些常见问题,例如,即便已经获得了充足的信息,却依然持续执行任务;搜索指令过于冗长且复杂;或者在使用工具时出现了选择不当的情况。成功的提示词构思需构建对智能体运作的精确认知模型,从而使得关键优化之处得以清晰呈现。
指导协调者进行任务分配。在系统中,核心智能体负责将查询细化成若干个子任务,并向子智能体提供详细的说明。子智能体需明确各自的任务目标、输出要求、所需工具、信息来源以及任务的具体范围。若任务说明不够完备,智能体间可能产生重复工作、遗漏关键信息,甚至难以获取所需资料。起初,我们允许核心智能体发布简要的命令,比如“探讨半导体供应不足的问题”,然而,这类指令常常过于含糊,使得子智能体对任务理解出现偏差,有时甚至重复进行相同的搜索操作。比如,有一个子智能体对2021年的汽车芯片短缺进行了调查,而另外两个则重复研究了2025年的供应链问题,但它们之间缺乏明确的分工与合作。
依据查询的难度,资源分配会相应调整。智能体在自行决定不同任务所需精力分配上存在困难,为此,我们在提示中融入了分级机制。对于简单的事实查询,仅需一个智能体参与,并调用工具3至10次;若涉及直接比较,可能需动用2至4个子智能体,每个子智能体调用工具10至15次;而在进行复杂研究时,可能需要超过10个子智能体,并且每个子智能体都有明确的职责分工。这些具体的指导原则助力主导智能体进行资源的高效配置,有效防止了在处理简单查询时过度投入,这一问题在早期版本中较为普遍。
工具的选用和设计极为重要,智能体与工具的接口以及人机接口同样扮演着至关重要的角色。恰当的工具选择不仅能提升效率,在许多情况下,更是完成任务不可或缺的前提。以智能体在网络上搜索一条仅存在于Slack平台的信息为例,如果没有找到,那肯定是徒劳无功。MCP服务器能够接入多种外部工具,然而这些工具的描述质量却参差不齐,这种挑战尤为明显。我们为智能体设定了详尽的指导性准则:首先,要全面审视所有可用的工具;其次,确保工具的使用与用户的意图相吻合;在广泛探索阶段,优先采用网络搜索;对于专业任务,应优先选择专用工具而非通用工具。不恰当的工具描述可能会使智能体误入歧途,因此,每个工具都必须具备明确的功能界定和详尽的描述。
智能体应具备自我优化的能力。研究发现,Claude 4模型在提示词设计方面表现出色。在提供失败案例和原始提示词的情况下,该模型能够分析智能体失败的原因,并给出改进的建议。此外,我们还开发了一套专门的测试工具,用于检验智能体的性能:当遇到描述不清的MCP工具时,该智能体会尝试使用该工具,并重新编写工具描述以防止失败。经过多次测试,该智能体发现了许多细节和潜在的问题。优化提升工具操作的便捷性流程,确保了智能体在执行新指令时,所需时间减少了40%,得益于多数错误得到了有效预防。
广泛探索,再深入挖掘。在搜索方法上,应模仿专家的思维方式:先广泛掌握信息,再细致关注细节。智能体常常偏好一开始就进行冗长且详尽的查询,但这样往往效果不佳。因此,我们采用提示词来指导智能体,先从简短、广泛的检索语句入手,对可用信息进行初步评估,然后逐步缩小搜索范围。
引导思考的路径。采用扩展思考模式,Claude在输出过程中能够显现其思考轨迹,相当于一个可供操控的草稿区。在这一模式下,主导智能体通过思考环节来制定策略,对执行任务所需的工具进行评估,分析查询的复杂程度,以及确定子智能体的数量,并明确它们各自的职责。实验数据表明,这种模式有助于增强指令的执行力度、推理水平以及工作效率。子智能体首先会制定策略,随后获取工具的输出结果,并在其间融入思考环节。它会对信息的准确性进行评估,识别出遗漏之处,并据此对后续的搜索过程进行优化。这样的操作使得子智能体能够更有效地应对各类任务需求。
并行工具的使用显著增强了速度和性能。在复杂的调研任务中,通常需要对多个信息源进行同步研究。在早期,智能体采用的是串行搜索方式,效率十分低下。为了提高效率,我们引入了两种并行策略:(1) 主导智能体能够同时生成3至5个子智能体,而不是依次创建;(2) 子智能体能够并行调用3个或更多的工具。这些改进极大地减少了复杂查询所需的研究时间,其效果显著,最多可缩短至原来的90%,从而使得Research系统能够在短短几分钟内完成原本需要数小时才能完成的任务,并且其处理的信息量远超过其他系统。
我们的提示词策略着重于培养有效的启发思维,而非机械的规则。我们借鉴了熟练人类研究者的工作模式,并在设计提示词时融入了这些方法——例如,将复杂问题分解为若干小步骤、对信息来源进行细致的评估、根据新发现灵活调整搜索策略、明确何时深入探究特定主题、何时进行广泛的并行探索。同时,我们也通过设定清晰的安全界限,主动避免智能体行为失控等潜在副作用。最后,我们专注于构建可观测、可测试的快速迭代流程。
智能体的有效评估
构建稳固的AI应用离不开有效的评估,智能体系统的评估亦然重要。但多智能体系统的评估却遭遇了特有的难题。一般而言,传统评估基于一个前提,即AI在每次操作时都会遵循固定的步骤:输入为X,系统应循着路径Y生成输出Z。然而,在多智能体系统中,情况并非如此。即便起始条件完全一致,智能体也可能采取截然不同但同样有效的路径来实现目标。某些智能体可能查询三种资料库,而另一些可能查询多达十种,甚至使用不同的工具也能得出一致结论。鉴于我们通常难以预见到“正确”的精确步骤,因此也就难以轻易验证智能体是否严格遵循既定流程。这就要求我们采取一种灵活的评估机制,既要评估智能体是否实现了既定目标,又要关注其执行过程是否合理。
从少量样本即可迅速进行评估。在智能体开发的初级阶段,即便是微小的调整也可能产生显著的效果,这是因为那时有许多容易取得的成果。通过一次简单的提示词调整,成功率可以从30%飞跃到80%。这种显著的效果差异,仅需少量测试案例就能明显看出。我们最初选取了大约20条模拟真实使用场景的查询进行测试。这些测试往往能清晰地展示出调整带来的成效。我们常常听闻,AI的研发团队往往因为坚信只有那些包含数百个用例的大规模评测才具有价值,从而推迟了评估工作的启动。然而,真正的高效做法应当是,从少量样本的小规模测试着手,而非等到能够构建更为全面的评测体系之后才开始。
采用大型语言模型(LLM)作为评判标准的方法,展现了良好的扩展性。由于研究型输出的内容通常为自由文本,且很少存在一个明确的正确答案,因此很难通过程序化的方式来进行评估。而大型语言模型在结果评分方面则表现得尤为适宜。我们运用LLM判官机制,依照既定的评分标准,对每一项输出进行细致的评估。这包括对事实准确性的核查,即结论是否与信息源保持一致;对引用准确性的检验,确保所引用的信息源与陈述内容相符;对全面性的考量,判断是否涵盖了所有必要的方面;对信息源质量的评估,优先选用高质量的一手资料而非低质量的二手资料;以及对工具效率的审视,确保合理选择并有效调用相关工具。我们曾尝试运用多个评判者对多个方面进行评估,然而,经过实践,我们意识到,仅通过一次语言模型调用,使用一个提示词输出0.0到1.0的分数,并作出通过或未通过的决定,其效果最为稳定,并且与人工评判结果极为接近。特别是在测试案例答案明确的情况下,这种方法尤为奏效,因为语言模型评判者只需判断答案是否准确(比如是否精确地列出了研发投入最高的三家制药公司)。利用LLM判官,我们可以大规模评估数百个输出。
人工评估有助于揭示自动化过程中的疏漏。在进行智能体的手动测试过程中,我们往往能识别出评测中未涵盖的边界情况,比如在特定查询中出现的错误答案、系统性的故障,或是信息源选择上的微小误差。根据我们的经验,测试人员发现,早期的智能体往往更倾向于关注SEO优化内容农场,却忽略了那些权威但排名较低的信息源,例如学术PDF文件或个人博客。为了解决这一问题,我们在提示词中融入了关于信息源质量的高效启发式准则,从而显著提升了效果。尽管自动化评估手段日益精进,但人工检测的作用仍然不可替代。
多智能体系统中会涌现出未经编程而自发形成的新模式。比如,对主导智能体进行细微调整,可能会以难以预料的方式影响子智能体的行为。为了实现成功,我们必须深入理解智能体间的互动机制,而不仅仅是关注它们各自的行为。因此,理想的提示词不应仅仅是严格的指令,而应是一个协作的框架,它清晰界定各方的职责、解决问题的策略以及资源投入的限制。要实现这一目标,必须精心设计提示词汇和配置工具,构建稳固的启发式指导原则,确保系统的良好可监测性,并建立高效的反馈机制。具体案例,您可以参考我们Cookbook中的开源系统提示词范例。
生产环境下的可靠性与工程挑战
在传统软件领域,一旦出现漏洞,可能会造成功能无法正常运作、性能显著降低,甚至导致服务完全中断。然而,在智能体系统中,即便是微小的调整,也可能触发广泛的行为变异,这让那些需要持续运行且保持特定状态的复杂智能体代码变得极其难以维护。
智能体拥有运行状态,并且错误会逐渐累积。这类智能体通常需要长时间不间断地运行,在此过程中会频繁调用各种工具并持续更新其自身状态。因此,我们的系统必须确保具备持久的执行能力,并且能够妥善处理运行过程中出现的各种错误。如果没有有效的应对策略,即使是微小的系统故障也可能对智能体产生灾难性的后果。一旦出错,系统不能简单地重新启动——重启不仅成本高昂,还会让用户感到沮丧。因此,我们研发了一套出错后能够自动恢复的系统。同时,我们利用模型的高效智能,优雅地应对各种异常情况,比如在工具出现故障时,系统会向智能体发送警告,促使它主动作出调整。这种策略的效果非常显著。我们计划将Claude的AI智能体的适应能力,与诸如重试机制、定期检查点等确定的防护手段相融合。
调试工作需借助新的策略。智能体的决策流程极为复杂多变,即便输入的提示完全相同,输出的结果也可能存在差异,这无疑给调试工作带来了巨大的挑战。比如,用户反映智能体“未能成功检索到明显的信息”,然而我们却难以直接辨识问题的根源——是搜索指令的设定不够理想,还是信息来源的选择出现了偏差,亦或是工具本身存在缺陷?我们采用全面的生产过程跟踪方法,对智能体故障的根源进行系统分析并实施修复。在常规的可观察性基础上,我们关注智能体的决策方式和交互架构,同时不涉及具体对话细节,以此确保用户隐私得到保护。这种高级别的可观察性能力,有助于揭示深层次问题、异常行为以及频繁出现的故障。
部署必须细致入微地进行协调。智能体系统由提示词、工具和执行逻辑构成,它具有很高的状态敏感性,并且几乎不间断地运行。因此,在系统进行更新时,智能体可能正处在不同的执行阶段。我们必须确保,善意的代码更新不会对现有智能体的运行造成破坏。由于无法使所有智能体同步升级至新版本,故采纳了“彩虹部署”策略,即分阶段将流量从旧版迁移至新版,确保新旧版本能够同时运行,以此减少对现有智能体的潜在影响。
同步操作会引发瓶颈现象。当前,主导智能体采取同步模式来指挥子智能体行动,这意味着必须等待所有子智能体完成各自任务后,才能进行下一步。虽然这种做法简化了协调过程,但同时也导致了智能体间信息流通的瓶颈。比如,主导智能体难以实时指导子智能体,子智能体之间难以实现协作,整个系统可能会因为等待某个子智能体完成检索而陷入停滞。采用异步执行方式,可以提升并行处理的效率:多个智能体能同时并发运作,并在必要时灵活地创建新的子智能体。然而,异步执行也伴随着协调结果、保持状态一致性以及错误信息传播等新的难题。随着模型在处理更长、更复杂研究任务方面的能力不断增强,我们预期性能的提升将足以克服这些额外的复杂性。
结论
在打造AI智能体的过程中,往往最艰难的环节就是最后这一段。即便开发者能够在本地顺利运行代码,要让这些代码变成稳定可靠的生产系统,仍需投入大量的工程化工作。在智能体系统中,错误往往具有复杂性,这表明,对于传统软件来说可能微不足道的问题,却可能导致智能体完全失控。一旦某个环节出现问题,智能体可能会走上截然不同的路径,最终导致无法预测的后果。正如本文所阐述,从设计原型过渡至实际生产环节的差距,常常超出人们的预想,显得更为巨大。
面对诸多困难,多智能体系统在开放性研究领域的应用依然显现出其不可估量的重要性。众多用户表示,Claude助力他们挖掘出了之前未曾意识到的商业机遇,梳理了繁杂的医疗计划,攻克了技术上的难关,并且能够揭示那些单独研究难以察觉的研究联系,从而大大缩短了他们数日的工作时间。关注工程细节,进行全方位测试,细致设计提示词与工具,优化运维流程,同时保证研究、产品与工程团队间的紧密配合,对现有智能体功能有深入认识,这样的多智能体研究系统完全能够在大规模应用中保持稳定运行。观察发现,此类系统正在逐步改变人们处理复杂问题的方法。
Clio嵌入图直观地呈现了用户对Research功能的常用途径。其中,五大高频应用场景依次为:在特定专业领域构建软件系统,占比10%;创作和改进专业及技术资料,占比8%;规划企业的发展战略和收入增长策略,占比8%;支持学术研究和教学资源的开发,占比7%;以及检索并验证人物、地点或组织等信息的真实性,占比5%。
本项目的作者包括Jeremy Hadfield、Barry Zhang、Kenneth Lien、Florian Scholz、Jeremy Fox以及Daniel Ford。该项目汇聚了Anthropic旗下多个团队的集体智慧,正是他们的辛勤付出,使得Research功能的实现成为现实。对Anthropic应用工程团队的特别致谢,他们的专注投入与无私奉献,使得这一复杂的多智能体系统能够成功进入生产领域。同时,我们亦对那些早期用户所给予的宝贵意见和反馈表示衷心的感谢。
附录
以下是关于多智能体系统的一些补充建议。
对经过多轮对话不断调整其状态的人工智能体进行最终状态的评估。这类智能体在多轮对话中持续调整其持久状态,对其评估工作构成了特殊难题。相较于那些只需读取数据的研究任务,这种评估需要考虑每一次操作都会对后续环境造成影响,并产生步骤间的相互依赖,这给传统的评估手段带来了不小的挑战。因此,我们采取的策略是专注于对最终状态的评估,而不是对每一步操作的详细分析。与其关注智能体是否严格遵循了既定步骤,不如审视其是否成功实现了既定目标。这种评估方式承认了智能体达成目标的多重途径,并确保最终结果与预期相符。在处理复杂流程时,可以将评估过程细分为若干个关键环节,检查每个阶段是否发生了预期的状态转变,而不必对每一步骤的细节进行验证。
在长周期对话管理中,智能体在生产和实际应用场景中,往往需要处理数百轮的交流,这对对话的上下文管理能力提出了更高的挑战。当对话持续进行时,传统的上下文窗口往往无法满足需求,此时就需要借助智能的压缩和记忆机制。我们采取的策略是,在智能体完成一个阶段的任务之后,及时总结出关键信息,并将其存储到外部的记忆系统中,之后才继续执行新的任务。当智能体临近上下文边界时,它能够生成新的子智能体,以此确保任务在清新的语境中得以延续,并且通过周密设计的交接程序确保对话的连续性。而且,智能体能够随时从其记忆库中检索诸如研究方案等先前存储的信息,从而避免因信息超限而丢失工作进度。这种分步式策略不仅能够有效遏制上下文溢出的风险,还能确保长篇对话的统一性和流畅性。
子智能体将输出结果直接写入文件系统,这样做可以有效降低信息在传递过程中的损耗。对于特定类型的数据输出,子智能体可以跳过主协调者的环节,直接进行输出,这样的操作能够提高输出结果的准确性以及整个系统的运行效率。与其让子智能体所有信息都需由主智能体传达,不如采纳工件系统,使专业化的子智能体能够自主生成和保存持久的输出。子智能体借助工具将作业成果存入外部系统,并将简化的引用信息反馈给协调者。该模式能有效避免在多轮处理中信息的丢失,同时降低了因历史对话内容重复输出导致的token消耗。在生成结构化输出,比如代码、报告或数据可视化时,使用专业子智能体的特定提示词,通常比通过通用协调者传达信息,更能确保输出结果的质量。
(本文由AI翻译,网易编辑负责校对)