我们如何构建我们的多智能体研究系统
How we built our multi-agent research system
文章目录
Claude now has Research capabilities that allow it to search across the web, Google Workspace, and any integrations to accomplish complex tasks.
Claude 现在具备 Research 能力,使其能够搜索网络、Google Workspace 以及任何集成,以完成复杂任务。
The journey of this multi-agent system from prototype to production taught us critical lessons about system architecture, tool design, and prompt engineering.
这个多智能体系统(multi-agent system)从原型到生产的历程,教会了我们关于系统架构、工具设计和提示词工程(prompt engineering)的关键经验教训。
A multi-agent system consists of multiple agents (LLMs autonomously using tools in a loop) working together.
多智能体系统由多个智能体(LLM 在循环中自主使用工具)协同工作组成。
Our Research feature involves an agent that plans a research process based on user queries, and then uses tools to create parallel agents that search for information simultaneously.
我们的 Research 功能涉及一个智能体,它根据用户查询规划研究过程,然后使用工具创建并行智能体,同时搜索信息。
Systems with multiple agents introduce new challenges in agent coordination, evaluation, and reliability.
多智能体系统在智能体协调、评测(evaluation)和可靠性方面带来了新的挑战。
This post breaks down the principles that worked for us—we hope you'll find them useful to apply when building your own multi-agent systems.
本文将拆解对我们行之有效的原则——我们希望你在构建自己的多智能体系统时,会发现它们很有用并能加以应用。
Benefits of a multi-agent system
多智能体系统的优势
Research work involves open-ended problems where it’s very difficult to predict the required steps in advance.
研究工作涉及开放式问题,往往很难提前预测所需步骤。
You can’t hardcode a fixed path for exploring complex topics, as the process is inherently dynamic and path-dependent.
你无法为探索复杂主题硬编码一条固定路径,因为该过程本质上是动态且依赖路径的。
When people conduct research, they tend to continuously update their approach based on discoveries, following leads that emerge during investigation.
当人们开展研究时,往往会根据发现不断更新方法,沿着调查过程中出现的线索前进。
This unpredictability makes AI agents particularly well-suited for research tasks.
这种不可预测性使 AI 智能体特别适合研究任务。
Research demands the flexibility to pivot or explore tangential connections as the investigation unfolds.
研究要求具备随着调查展开而转向或探索旁支联系的灵活性。
The model must operate autonomously for many turns, making decisions about which directions to pursue based on intermediate findings.
模型必须自主运行许多轮,根据中间发现决定追求哪些方向。
A linear, one-shot pipeline cannot handle these tasks.
线性的、一次性流水线无法处理这些任务。
The essence of search is compression: distilling insights from a vast corpus.
搜索的本质是压缩:从庞大的语料库中提炼洞见。
Subagents facilitate compression by operating in parallel with their own context windows, exploring different aspects of the question simultaneously before condensing the most important tokens for the lead research agent.
子智能体(subagent)通过并行运行、各自拥有独立的上下文窗口(context window)来促成这种压缩:它们同时探索问题的不同侧面,再把最重要的 token 浓缩后交给主导的研究智能体。
Each subagent also provides separation of concerns—distinct tools, prompts, and exploration trajectories—which reduces path dependency and enables thorough, independent investigations.
每个子智能体还实现了关注点分离——各自的工具、提示词和探索轨迹——这降低了路径依赖,使彻底而独立的调研成为可能。
Once intelligence reaches a threshold, multi-agent systems become a vital way to scale performance.
一旦智能达到某个阈值,多智能体系统便成为扩展性能的关键途径。
For instance, although individual humans have become more intelligent in the last 100,000 years, human societies have become exponentially more capable in the information age because of our collective intelligence and ability to coordinate.
例如,尽管在过去 10 万年中单个人类确实变得更聪明,但在信息时代,人类社会的能力之所以呈指数级增长,是因为我们拥有集体智慧和协调能力。
Even generally-intelligent agents face limits when operating as individuals; groups of agents can accomplish far more.
即便是通用智能体(agent),以个体形式运作时也会遇到局限;而成群的智能体可以完成远超个体的事情。
Our internal evaluations show that multi-agent research systems excel especially for breadth-first queries that involve pursuing multiple independent directions simultaneously.
我们的内部评测显示,多智能体研究系统尤其擅长处理需要同时朝多个独立方向推进的广度优先查询。
We found that a multi-agent system with Claude Opus 4 as the lead agent and Claude Sonnet 4 subagents outperformed single-agent Claude Opus 4 by 90.2% on our internal research eval.
我们发现,在我们内部的研究评测中,以 Claude Opus 4 作为主导智能体、Claude Sonnet 4 作为子智能体的多智能体系统,比单智能体的 Claude Opus 4 高出 90.2%。
For example, when asked to identify all the board members of the companies in the Information Technology S&P 500, the multi-agent system found the correct answers by decomposing this into tasks for subagents, while the single agent system failed to find the answer with slow, sequential searches.
例如,当被要求找出标普 500 信息技术板块所有公司的董事会成员时,多智能体系统把任务拆解给子智能体,从而找到了正确答案;而单智能体系统以缓慢的顺序搜索,没能找到答案。
Multi-agent systems work mainly because they help spend enough tokens to solve the problem.
多智能体系统之所以有效,主要是因为它们有助于花掉足够多的 token 来解决问题。
In our analysis, three factors explained 95% of the performance variance in the BrowseComp evaluation (which tests the ability of browsing agents to locate hard-to-find information).
在我们的分析中,三个因素解释了 BrowseComp 评测(该评测考察浏览智能体定位难以找到的信息的能力)中 95% 的性能差异。
We found that token usage by itself explains 80% of the variance, with the number of tool calls and the model choice as the two other explanatory factors.
我们发现,仅 token 用量本身就解释了 80% 的差异,另外两个解释因素是工具调用(tool use)次数和模型选择。
This finding validates our architecture that distributes work across agents with separate context windows to add more capacity for parallel reasoning.
这一发现验证了我们的架构:把工作分散到拥有各自上下文窗口的多个智能体上,从而为并行推理增加更多容量。
The latest Claude models act as large efficiency multipliers on token use, as upgrading to Claude Sonnet 4 is a larger performance gain than doubling the token budget on Claude Sonnet 3.7.
最新的 Claude 模型在 token 使用上起到了很大的效率倍增作用:升级到 Claude Sonnet 4 带来的性能提升,比把 Claude Sonnet 3.7 的 token 预算翻倍还要大。
Multi-agent architectures effectively scale token usage for tasks that exceed the limits of single agents.
对于超出单个智能体能力极限的任务,多智能体架构能有效地扩展 token 用量。
There is a downside: in practice, these architectures burn through tokens fast.
但有一个弊端:在实践中,这类架构消耗 token 的速度很快。
In our data, agents typically use about 4× more tokens than chat interactions, and multi-agent systems use about 15× more tokens than chats.
在我们的数据中,智能体消耗的 token 通常约为聊天交互的 4 倍,而多智能体系统消耗的 token 约为聊天的 15 倍。
For economic viability, multi-agent systems require tasks where the value of the task is high enough to pay for the increased performance.
从经济可行性来看,多智能体系统要求任务本身的价值足够高,足以承担为提升性能而增加的成本。
Further, some domains that require all agents to share the same context or involve many dependencies between agents are not a good fit for multi-agent systems today.
此外,那些要求所有智能体共享同一上下文、或智能体之间存在大量依赖的领域,目前并不适合多智能体系统。
For instance, most coding tasks involve fewer truly parallelizable tasks than research, and LLM agents are not yet great at coordinating and delegating to other agents in real time.
例如,与研究工作相比,大多数编码任务中真正可并行的任务更少,而且 LLM 智能体目前还不擅长实时协调和向其他智能体委派任务。
We’ve found that multi-agent systems excel at valuable tasks that involve heavy parallelization, information that exceeds single context windows, and interfacing with numerous complex tools.
我们发现,多智能体系统擅长处理那些有价值、且涉及高度并行化、信息量超出单个上下文窗口、需要与众多复杂工具交互的任务。
Architecture overview for Research
Research 的架构概览
Our Research system uses a multi-agent architecture with an orchestrator-worker pattern, where a lead agent coordinates the process while delegating to specialized subagents that operate in parallel.
我们的 Research 系统采用多智能体架构,配合编排者—工作者模式,由主导智能体协调整个过程,同时将任务委派给并行运行的专门子智能体。

The multi-agent architecture in action: user queries flow through a lead agent that creates specialized subagents to search for different aspects in parallel.
多智能体架构的实际运作:用户查询流经主导智能体,由它创建专门的子智能体,并行搜索不同方面。
When a user submits a query, the lead agent analyzes it, develops a strategy, and spawns subagents to explore different aspects simultaneously.
当用户提交查询时,主导智能体会分析查询、制定策略,并生成子智能体来同时探索不同方面。
As shown in the diagram above, the subagents act as intelligent filters by iteratively using search tools to gather information, in this case on AI agent companies in 2025, and then returning a list of companies to the lead agent so it can compile a final answer.
如上图所示,子智能体充当智能过滤器,迭代地使用搜索工具收集信息——在这里是 2025 年的 AI 智能体公司——然后把公司列表返回给主导智能体,以便它汇总出最终答案。
Traditional approaches using Retrieval Augmented Generation (RAG) use static retrieval.
使用检索增强生成(RAG)的传统方法采用静态检索。
That is, they fetch some set of chunks that are most similar to an input query and use these chunks to generate a response.
也就是说,它们获取与输入查询最相似的一组分块,并使用这些分块生成响应。
In contrast, our architecture uses a multi-step search that dynamically finds relevant information, adapts to new findings, and analyzes results to formulate high-quality answers.
相比之下,我们的架构采用多步搜索,动态查找相关信息、适应新发现,并分析结果以形成高质量答案。

Process diagram showing the complete workflow of our multi-agent Research system.
展示我们多智能体 Research 系统完整工作流程的流程图。
When a user submits a query, the system creates a LeadResearcher agent that enters an iterative research process.
当用户提交查询时,系统会创建一个 LeadResearcher 智能体,进入迭代式研究流程。
The LeadResearcher begins by thinking through the approach and saving its plan to Memory to persist the context, since if the context window exceeds 200,000 tokens it will be truncated and it is important to retain the plan.
LeadResearcher 首先思考整体方法,并把计划保存到 Memory 以持久化上下文,因为如果上下文窗口超过 200,000 个 token,它就会被截断,而保留计划很重要。
It then creates specialized Subagents (two are shown here, but it can be any number) with specific research tasks.
随后,它创建带有具体研究任务的专门子智能体(这里展示两个,但可以是任意数量)。
Each Subagent independently performs web searches, evaluates tool results using interleaved thinking, and returns findings to the LeadResearcher.
每个子智能体独立执行网页搜索,使用交错思考(interleaved thinking)评估工具结果,并把发现返回给 LeadResearcher。
The LeadResearcher synthesizes these results and decides whether more research is needed—if so, it can create additional subagents or refine its strategy.
LeadResearcher 综合这些结果,并判断是否需要更多研究——如果需要,它可以创建额外的子智能体或改进策略。
Once sufficient information is gathered, the system exits the research loop and passes all findings to a CitationAgent, which processes the documents and research report to identify specific locations for citations.
一旦收集到足够的信息,系统就会退出研究循环,并把所有发现传递给 CitationAgent,后者处理文档和研究报告,以确定引用的具体位置。
This ensures all claims are properly attributed to their sources.
这确保所有论断都正确地归属到其来源。
The final research results, complete with citations, are then returned to the user.
随后,带有引用的最终研究结果会返回给用户。
Prompt engineering and evaluations for research agents
面向研究智能体的提示词工程与评测
Multi-agent systems have key differences from single-agent systems, including a rapid growth in coordination complexity.
多智能体系统与单智能体系统有关键差异,包括协调复杂度的快速增长。
Early agents made errors like spawning 50 subagents for simple queries, scouring the web endlessly for nonexistent sources, and distracting each other with excessive updates.
早期的智能体会犯错误,比如为简单查询生成 50 个子智能体,为不存在的来源无休止地搜索网络,以及用过多的更新互相干扰。
Since each agent is steered by a prompt, prompt engineering was our primary lever for improving these behaviors.
由于每个智能体都由提示词驱动,提示词工程是我们改善这些行为的主要杠杆。
Below are some principles we learned for prompting agents:
以下是我们学到的用于为智能体编写提示词的一些原则:
Think like your agents.
像你的智能体一样思考。
To iterate on prompts, you must understand their effects.
要迭代提示词,你必须理解它们的效果。
To help us do this, we built simulations using our Console with the exact prompts and tools from our system, then watched agents work step-by-step.
为了帮助我们做到这一点,我们用 Console 构建了模拟,使用系统中确切的提示词和工具,然后一步步观察智能体的工作过程。
This immediately revealed failure modes: agents continuing when they already had sufficient results, using overly verbose search queries, or selecting incorrect tools.
这立即揭示了失败模式:智能体在已有足够结果时仍继续,使用过于冗长的搜索查询,或选择错误的工具。
Effective prompting relies on developing an accurate mental model of the agent, which can make the most impactful changes obvious.
有效的提示依赖于建立对智能体的准确心智模型,这能让最有影响力的改动变得显而易见。
Teach the orchestrator how to delegate.
教会编排器(orchestrator)如何委派。
In our system, the lead agent decomposes queries into subtasks and describes them to subagents.
在我们的系统中,主智能体将查询分解为子任务,并向子智能体描述它们。
Each subagent needs an objective, an output format, guidance on the tools and sources to use, and clear task boundaries.
每个子智能体都需要一个目标、一种输出格式、关于要使用的工具和来源的指导,以及清晰的任务边界。
Without detailed task descriptions, agents duplicate work, leave gaps, or fail to find necessary information.
没有详细的任务描述,智能体会重复工作、留下空白,或无法找到必要的信息。
We started by allowing the lead agent to give simple, short instructions like 'research the semiconductor shortage,' but found these instructions often were vague enough that subagents misinterpreted the task or performed the exact same searches as other agents.
我们一开始允许主智能体给出像“研究半导体短缺”这样简单、简短的指令,但发现这些指令往往模糊到让子智能体误解任务,或执行与其他智能体完全相同的搜索。
For instance, one subagent explored the 2021 automotive chip crisis while 2 others duplicated work investigating current 2025 supply chains, without an effective division of labor.
例如,一个子智能体探索了 2021 年汽车芯片危机,而另外 2 个则在调查当前 2025 年供应链时重复工作,缺乏有效的分工。
Scale effort to query complexity.
根据查询复杂度调整投入。
Agents struggle to judge appropriate effort for different tasks, so we embedded scaling rules in the prompts.
智能体很难判断不同任务所需的适当投入,因此我们在提示词中嵌入了伸缩规则。
Simple fact-finding requires just 1 agent with 3-10 tool calls, direct comparisons might need 2-4 subagents with 10-15 calls each, and complex research might use more than 10 subagents with clearly divided responsibilities.
简单的事实查找只需要 1 个智能体进行 3-10 次工具调用,直接比较可能需要 2-4 个子智能体,每个进行 10-15 次调用,而复杂研究可能会使用超过 10 个子智能体,并明确划分职责。
These explicit guidelines help the lead agent allocate resources efficiently and prevent overinvestment in simple queries, which was a common failure mode in our early versions.
这些明确的指导方针帮助主智能体高效分配资源,并防止在简单查询上过度投入,这是我们早期版本中常见的失败模式。
Tool design and selection are critical.
工具设计和选择至关重要。
Agent-tool interfaces are as critical as human-computer interfaces.
智能体-工具接口与人类-计算机接口同样关键。
Using the right tool is efficient—often, it’s strictly necessary.
使用正确的工具是高效的——通常,这是绝对必要的。
For instance, an agent searching the web for context that only exists in Slack is doomed from the start.
例如,一个智能体如果在网上搜索只存在于 Slack 中的上下文,从一开始就注定失败。
With MCP servers that give the model access to external tools, this problem compounds, as agents encounter unseen tools with descriptions of wildly varying quality.
有了 MCP 服务器让模型可以访问外部工具后,这个问题会加剧,因为智能体会遇到描述质量参差不齐的未见过的工具。
We gave our agents explicit heuristics: for example, examine all available tools first, match tool usage to user intent, search the web for broad external exploration, or prefer specialized tools over generic ones.
我们给智能体明确的启发式规则:例如,先检查所有可用工具,将工具使用与用户意图匹配,为广泛的外部探索搜索网络,或优先选择专用工具而非通用工具。
Bad tool descriptions can send agents down completely wrong paths, so each tool needs a distinct purpose and a clear description.
糟糕的工具描述可能会让智能体走上完全错误的道路,因此每个工具都需要有明确的目的和清晰的描述。
Let agents improve themselves.
让智能体自我改进。
We found that the Claude 4 models can be excellent prompt engineers.
我们发现 Claude 4 模型可以成为出色的提示词工程师。
When given a prompt and a failure mode, they are able to diagnose why the agent is failing and suggest improvements.
当给定一个提示词和一种失败模式时,它们能够诊断智能体为何失败并提出改进建议。
We even created a tool-testing agent—when given a flawed MCP tool, it attempts to use the tool and then rewrites the tool description to avoid failures.
我们甚至创建了一个工具测试智能体——当给定一个有缺陷的 MCP 工具时,它会尝试使用该工具,然后重写工具描述以避免失败。
By testing the tool dozens of times, this agent found key nuances and bugs.
通过数十次测试该工具,这个智能体发现了关键的细微差别和错误。
This process for improving tool ergonomics resulted in a 40% decrease in task completion time for future agents using the new description, because they were able to avoid most mistakes.
这个改进工具易用性的过程使未来使用新描述的智能体任务完成时间减少了 40%,因为它们能够避免大多数错误。
Start wide, then narrow down.
先广后窄。
Search strategy should mirror expert human research: explore the landscape before drilling into specifics.
搜索策略应模仿专家级人类研究:先探索整体格局,再深入具体细节。
Agents often default to overly long, specific queries that return few results.
智能体常常默认使用过长、过于具体的查询,导致返回结果很少。
We counteracted this tendency by prompting agents to start with short, broad queries, evaluate what’s available, then progressively narrow focus.
我们通过提示智能体先从简短、宽泛的查询开始,评测已有内容,然后逐步收窄焦点,来抵消这一倾向。
Guide the thinking process.
引导思考过程。
Extended thinking mode, which leads Claude to output additional tokens in a visible thinking process, can serve as a controllable scratchpad.
扩展思考模式会让 Claude 在可见的思考过程中输出额外 token,可充当可控的草稿区。
The lead agent uses thinking to plan its approach, assessing which tools fit the task, determining query complexity and subagent count, and defining each subagent’s role.
主智能体利用思考来规划方法,评估哪些工具适合任务,确定查询复杂度和子智能体数量,并定义每个子智能体的角色。
Our testing showed that extended thinking improved instruction-following, reasoning, and efficiency.
我们的测试表明,扩展思考提升了指令遵循、推理和效率。
Subagents also plan, then use interleaved thinking after tool results to evaluate quality, identify gaps, and refine their next query.
子智能体也会规划,然后在工具结果之后使用交错思考来评测质量、识别缺口并优化下一次查询。
This makes subagents more effective in adapting to any task.
这使子智能体在适应任何任务时更有效。
Parallel tool calling transforms speed and performance.
并行工具调用能彻底改变速度与性能。
Complex research tasks naturally involve exploring many sources.
复杂的研究任务天然涉及探索许多来源。
Our early agents executed sequential searches, which was painfully slow.
我们早期的智能体执行串行搜索,速度慢得令人痛苦。
For speed, we introduced two kinds of parallelization: (1) the lead agent spins up 3-5 subagents in parallel rather than serially; (2) the subagents use 3+ tools in parallel.
为提升速度,我们引入了两种并行化:(1) 主智能体并行启动 3-5 个子智能体,而非串行执行;(2) 子智能体并行使用 3+ 个工具。
These changes cut research time by up to 90% for complex queries, allowing Research to do more work in minutes instead of hours while covering more information than other systems.
这些改动将复杂查询的研究时间最多缩短 90%,让 Research 能在几分钟而非几小时内完成更多工作,同时覆盖比其他系统更多的信息。
Our prompting strategy focuses on instilling good heuristics rather than rigid rules.
我们的提示策略侧重于灌输良好的启发式方法,而非僵化规则。
We studied how skilled humans approach research tasks and encoded these strategies in our prompts—strategies like decomposing difficult questions into smaller tasks, carefully evaluating the quality of sources, adjusting search approaches based on new information, and recognizing when to focus on depth (investigating one topic in detail) vs. breadth (exploring many topics in parallel).
我们研究了熟练人类如何处理研究任务,并将这些策略编码进提示词——例如将困难问题分解为更小任务、仔细评测来源质量、根据新信息调整搜索方法,以及识别何时应聚焦深度(详细调查一个主题)还是广度(并行探索多个主题)。
We also proactively mitigated unintended side effects by setting explicit guardrails to prevent the agents from spiraling out of control.
我们还主动缓解意外副作用,通过设置明确的护栏来防止智能体失控。
Finally, we focused on a fast iteration loop with observability and test cases.
最后,我们专注于带有可观测性和测试用例的快速迭代循环。
Effective evaluation of agents
智能体的有效评测
Good evaluations are essential for building reliable AI applications, and agents are no different.
良好的评测对于构建可靠 AI 应用至关重要,智能体也不例外。
However, evaluating multi-agent systems presents unique challenges.
然而,评测多智能体系统带来了独特挑战。
Traditional evaluations often assume that the AI follows the same steps each time: given input X, the system should follow path Y to produce output Z.
传统评测通常假设 AI 每次都遵循相同步骤:给定输入 X,系统应沿着路径 Y 产生输出 Z。
But multi-agent systems don't work this way.
但多智能体系统并非如此运作。
Even with identical starting points, agents might take completely different valid paths to reach their goal.
即使起点完全相同,智能体也可能采取完全不同的有效路径来达成目标。
One agent might search three sources while another searches ten, or they might use different tools to find the same answer.
一个智能体可能搜索三个来源,而另一个搜索十个,或者它们可能使用不同工具找到相同答案。
Because we don’t always know what the right steps are, we usually can't just check if agents followed the “correct” steps we prescribed in advance.
因为我们并不总是知道正确步骤是什么,所以通常不能只检查智能体是否遵循了我们预先规定的“正确”步骤。
Instead, we need flexible evaluation methods that judge whether agents achieved the right outcomes while also following a reasonable process.
相反,我们需要灵活的评测方法,判断智能体是否在遵循合理过程的同时达成了正确结果。
Start evaluating immediately with small samples.
立即用小样本开始评测。
In early agent development, changes tend to have dramatic impacts because there is abundant low-hanging fruit.
在智能体开发的早期,改动往往会产生巨大影响,因为存在大量唾手可得的改进机会。
A prompt tweak might boost success rates from 30% to 80%.
对提示词做一点微调,就可能把成功率从 30% 提升到 80%。
With effect sizes this large, you can spot changes with just a few test cases.
效应量如此之大,你只需几个测试用例就能发现变化。
We started with a set of about 20 queries representing real usage patterns.
我们一开始用了一组约 20 个查询,代表真实使用模式。
Testing these queries often allowed us to clearly see the impact of changes.
测试这些查询常常让我们清楚地看到改动的影响。
We often hear that AI developer teams delay creating evals because they believe that only large evals with hundreds of test cases are useful.
我们经常听说,AI 开发者团队会推迟创建评测,因为他们认为只有包含数百个测试用例的大型评测才有用。
However, it’s best to start with small-scale testing right away with a few examples, rather than delaying until you can build more thorough evals.
然而,最好立即用少量示例开始小规模测试,而不是等到能构建更全面的评测后再开始。
LLM-as-judge evaluation scales when done well.
LLM-as-judge 评测如果做得好,就能扩展规模。
Research outputs are difficult to evaluate programmatically, since they are free-form text and rarely have a single correct answer.
研究产出很难通过程序化方式评测,因为它们是自由形式的文本,而且很少只有一个正确答案。
LLMs are a natural fit for grading outputs.
LLM 天然适合给输出评分。
We used an LLM judge that evaluated each output against criteria in a rubric: factual accuracy (do claims match sources?), citation accuracy (do the cited sources match the claims?), completeness (are all requested aspects covered?), source quality (did it use primary sources over lower-quality secondary sources?), and tool efficiency (did it use the right tools a reasonable number of times?).
我们使用了一个 LLM 评审,它按照评分标准(rubric)中的各项标准评估每个输出:事实准确性(主张是否与来源相符?)、引用准确性(引用的来源是否与主张相符?)、完整性(是否覆盖了所有要求方面?)、来源质量(是否使用了原始来源而非质量更低的二手来源?)以及工具效率(是否以合理的次数使用了正确的工具?)。
We experimented with multiple judges to evaluate each component, but found that a single LLM call with a single prompt outputting scores from 0.0-1.0 and a pass-fail grade was the most consistent and aligned with human judgements.
我们尝试用多个评审来评估每个组成部分,但发现用单次 LLM 调用、单个提示词输出 0.0-1.0 的分数以及通过-不通过等级,是最一致且与人类判断最吻合的做法。
This method was especially effective when the eval test cases did have a clear answer, and we could use the LLM judge to simply check if the answer was correct (i.e. did it accurately list the pharma companies with the top 3 largest R&D budgets?).
当评测测试用例确实有明确答案,并且我们可以用 LLM 评审直接检查答案是否正确时,这种方法尤其有效(例如,它是否准确列出了研发预算排名前 3 的制药公司?)。
Using an LLM as a judge allowed us to scalably evaluate hundreds of outputs.
使用 LLM 作为评审,使我们能够可扩展地评测数百个输出。
Human evaluation catches what automation misses.
人工评测能捕捉到自动化遗漏的问题。
People testing agents find edge cases that evals miss.
测试智能体的人会发现评测遗漏的边缘案例。
These include hallucinated answers on unusual queries, system failures, or subtle source selection biases.
这些包括对异常查询的幻觉答案、系统故障,或微妙的来源选择偏差。
In our case, human testers noticed that our early agents consistently chose SEO-optimized content farms over authoritative but less highly-ranked sources like academic PDFs or personal blogs.
在我们的案例中,人工测试者注意到,我们早期的智能体总是选择 SEO 优化的内容农场,而不是像学术 PDF 或个人博客这样权威但排名较低的来源。
Adding source quality heuristics to our prompts helped resolve this issue.
在提示词中加入来源质量启发式规则,帮助解决了这个问题。
Even in a world of automated evaluations, manual testing remains essential.
即使在自动化评测的世界里,人工测试仍然必不可少。
Multi-agent systems have emergent behaviors, which arise without specific programming.
多智能体系统具有涌现行为(emergent behaviors),这些行为在没有特定编程的情况下出现。
For instance, small changes to the lead agent can unpredictably change how subagents behave.
例如,对主智能体(lead agent)做微小改动,就可能以不可预测的方式改变子智能体的行为。
Success requires understanding interaction patterns, not just individual agent behavior.
成功需要理解交互模式,而不仅仅是个体智能体的行为。
Therefore, the best prompts for these agents are not just strict instructions, but frameworks for collaboration that define the division of labor, problem-solving approaches, and effort budgets.
因此,对这些智能体来说,最好的提示词不只是严格的指令,而是协作框架,定义分工、问题解决方法以及投入预算。
Getting this right relies on careful prompting and tool design, solid heuristics, observability, and tight feedback loops.
做好这一点依赖于精心的提示词设计和工具设计、可靠的启发式规则、可观测性(observability)以及紧密的反馈循环。
See the open-source prompts in our Cookbook for example prompts from our system.
请参阅我们 Cookbook 中的开源提示词,了解我们系统中的示例提示词。
Production reliability and engineering challenges
生产环境可靠性与工程挑战
In traditional software, a bug might break a feature, degrade performance, or cause outages.
在传统软件中,一个 bug 可能会破坏功能、降低性能或导致服务中断。
In agentic systems, minor changes cascade into large behavioral changes, which makes it remarkably difficult to write code for complex agents that must maintain state in a long-running process.
在智能体系统(agentic systems)中,微小改动会级联成巨大的行为变化,这使得为必须在长时间运行的进程中维护状态的复杂智能体编写代码变得非常困难。
Agents are stateful and errors compound.
智能体是有状态的,而错误会累积。
Agents can run for long periods of time, maintaining state across many tool calls.
智能体可以长时间运行,并在大量工具调用之间保持状态。
This means we need to durably execute code and handle errors along the way.
这意味着我们需要持久地执行代码,并在过程中处理错误。
Without effective mitigations, minor system failures can be catastrophic for agents.
如果没有有效的缓解措施,微小的系统故障对智能体来说也可能是灾难性的。
When errors occur, we can't just restart from the beginning: restarts are expensive and frustrating for users.
当错误发生时,我们不能只是从头重启:重启成本高昂,而且会让用户感到沮丧。
Instead, we built systems that can resume from where the agent was when the errors occurred.
相反,我们构建的系统可以从智能体发生错误时所处的位置恢复。
We also use the model’s intelligence to handle issues gracefully: for instance, letting the agent know when a tool is failing and letting it adapt works surprisingly well.
我们还利用模型的智能来优雅地处理问题:例如,让智能体知道某个工具正在失败,并让它自行适应,效果出奇地好。
We combine the adaptability of AI agents built on Claude with deterministic safeguards like retry logic and regular checkpoints.
我们将基于 Claude 构建的 AI 智能体的适应能力,与重试逻辑和定期检查点等确定性保障措施结合起来。
Debugging benefits from new approaches.
调试需要新的方法。
Agents make dynamic decisions and are non-deterministic between runs, even with identical prompts.
智能体会做出动态决策,并且即使在提示词相同的情况下,不同运行之间也具有非确定性。
This makes debugging harder.
这使调试变得更困难。
For instance, users would report agents “not finding obvious information,” but we couldn't see why.
例如,用户会报告智能体“找不到显而易见的信息”,但我们看不出原因。
Were the agents using bad search queries?
是智能体使用了糟糕的搜索查询吗?
Choosing poor sources?
还是选择了劣质来源?
Hitting tool failures?
还是遇到了工具故障?
Adding full production tracing let us diagnose why agents failed and fix issues systematically.
加入完整的生产环境追踪(tracing)可以让我们诊断智能体为何失败,并系统性地修复问题。
Beyond standard observability, we monitor agent decision patterns and interaction structures—all without monitoring the contents of individual conversations, to maintain user privacy.
除了标准可观测性之外,我们监控智能体的决策模式和交互结构——同时不监控单个对话的内容,以维护用户隐私。
This high-level observability helped us diagnose root causes, discover unexpected behaviors, and fix common failures.
这种高层级的可观测性帮助我们诊断根本原因、发现意外行为并修复常见故障。
Deployment needs careful coordination.
部署需要仔细协调。
Agent systems are highly stateful webs of prompts, tools, and execution logic that run almost continuously.
智能体系统是由提示词、工具和执行逻辑构成的高度有状态的网络,几乎持续运行。
This means that whenever we deploy updates, agents might be anywhere in their process.
这意味着每当我们部署更新时,智能体可能正处于其流程中的任何位置。
We therefore need to prevent our well-meaning code changes from breaking existing agents.
因此,我们需要防止善意的代码变更破坏现有智能体。
We can’t update every agent to the new version at the same time.
我们无法同时把每个智能体都更新到新版本。
Instead, we use rainbow deployments to avoid disrupting running agents, by gradually shifting traffic from old to new versions while keeping both running simultaneously.
相反,我们使用彩虹部署(rainbow deployments)来避免干扰正在运行的智能体,通过逐步将流量从旧版本转移到新版本,同时让两者并行运行。
Synchronous execution creates bottlenecks.
同步执行会造成瓶颈。
Currently, our lead agents execute subagents synchronously, waiting for each set of subagents to complete before proceeding.
目前,我们的主导智能体同步执行子智能体,等待每一组子智能体完成后再继续。
This simplifies coordination, but creates bottlenecks in the information flow between agents.
这简化了协调,但在智能体之间的信息流中造成了瓶颈。
For instance, the lead agent can’t steer subagents, subagents can’t coordinate, and the entire system can be blocked while waiting for a single subagent to finish searching.
例如,主导智能体无法引导子智能体,子智能体之间无法协调,而整个系统可能因为等待单个子智能体完成搜索而被阻塞。
Asynchronous execution would enable additional parallelism: agents working concurrently and creating new subagents when needed.
异步执行将带来额外的并行性:智能体可以并发工作,并在需要时创建新的子智能体。
But this asynchronicity adds challenges in result coordination, state consistency, and error propagation across the subagents.
但这种异步性在结果协调、状态一致性以及跨子智能体的错误传播方面增加了挑战。
As models can handle longer and more complex research tasks, we expect the performance gains will justify the complexity.
随着模型能够处理更长、更复杂的研究任务,我们预计性能提升将足以证明这种复杂性是合理的。
Conclusion
结论
When building AI agents, the last mile often becomes most of the journey.
在构建 AI 智能体时,最后一公里往往变成旅程的大部分。
Codebases that work on developer machines require significant engineering to become reliable production systems.
能在开发者机器上运行的代码库,需要大量工程工作才能成为可靠的生产系统。
The compound nature of errors in agentic systems means that minor issues for traditional software can derail agents entirely.
智能体系统中错误的累积性意味着,对传统软件而言的小问题也可能让智能体彻底偏离轨道。
One step failing can cause agents to explore entirely different trajectories, leading to unpredictable outcomes.
一个步骤失败就可能导致智能体探索完全不同的轨迹,从而带来不可预测的结果。
For all the reasons described in this post, the gap between prototype and production is often wider than anticipated.
出于本文描述的所有原因,原型与生产之间的差距往往比预期更大。
Despite these challenges, multi-agent systems have proven valuable for open-ended research tasks.
尽管存在这些挑战,多智能体系统已被证明对开放式研究任务很有价值。
Users have said that Claude helped them find business opportunities they hadn’t considered, navigate complex healthcare options, resolve thorny technical bugs, and save up to days of work by uncovering research connections they wouldn't have found alone.
用户表示,Claude 帮助他们找到了自己未曾考虑过的商业机会,厘清了复杂的医疗保健选择,解决了棘手的技术 bug,并通过发现他们独自无法找到的研究关联,节省了多达数天的工作时间。
Multi-agent research systems can operate reliably at scale with careful engineering, comprehensive testing, detail-oriented prompt and tool design, robust operational practices, and tight collaboration between research, product, and engineering teams who have a strong understanding of current agent capabilities.
多智能体研究系统可以在规模上可靠运行,前提是具备细致的工程、全面的测试、注重细节的提示词和工具设计、稳健的运维实践,以及研究、产品和工程团队之间紧密协作,而这些团队对当前智能体能力有深入理解。
We're already seeing these systems transform how people solve complex problems.
我们已经看到这些系统正在改变人们解决复杂问题的方式。

A Clio embedding plot showing the most common ways people are using the Research feature today.
一张 Clio 嵌入(embedding)图,展示了人们今天使用 Research 功能的最常见方式。
The top use case categories are developing software systems across specialized domains (10%), develop and optimize professional and technical content (8%), develop business growth and revenue generation strategies (8%), assist with academic research and educational material development (7%), and research and verify information about people, places, or organizations (5%).
排名靠前的用例类别是:跨专业领域开发软件系统(10%)、开发并优化专业和技术内容(8%)、制定业务增长和创收策略(8%)、协助学术研究和教育材料开发(7%),以及研究并核实关于人物、地点或组织的信息(5%)。
Acknowlegements
致谢
Written by Jeremy Hadfield, Barry Zhang, Kenneth Lien, Florian Scholz, Jeremy Fox, and Daniel Ford.
作者:Jeremy Hadfield、Barry Zhang、Kenneth Lien、Florian Scholz、Jeremy Fox 和 Daniel Ford。
This work reflects the collective efforts of several teams across Anthropic who made the Research feature possible.
这项工作体现了 Anthropic 多个团队的集体努力,他们让 Research 功能成为可能。
Special thanks go to the Anthropic apps engineering team, whose dedication brought this complex multi-agent system to production.
特别感谢 Anthropic 应用工程团队,他们的奉献让这个复杂的多智能体系统得以投入生产。
We're also grateful to our early users for their excellent feedback.
我们也感谢早期用户提供的出色反馈。
Appendix
附录
Below are some additional miscellaneous tips for multi-agent systems.
以下是一些关于多智能体系统的额外杂项提示。
End-state evaluation of agents that mutate state over many turns.
对在多个轮次中改变状态的智能体进行最终状态评测(end-state evaluation)。
Evaluating agents that modify persistent state across multi-turn conversations presents unique challenges.
评测在多轮对话中修改持久状态的智能体会带来独特的挑战。
Unlike read-only research tasks, each action can change the environment for subsequent steps, creating dependencies that traditional evaluation methods struggle to handle.
与只读研究任务不同,每个动作都可能改变后续步骤的环境,从而产生传统评测方法难以处理的依赖关系。
We found success focusing on end-state evaluation rather than turn-by-turn analysis.
我们发现,专注于最终状态评测而非逐轮分析能够取得成功。
Instead of judging whether the agent followed a specific process, evaluate whether it achieved the correct final state.
不要判断智能体是否遵循了特定过程,而是评测它是否达到了正确的最终状态。
This approach acknowledges that agents may find alternative paths to the same goal while still ensuring they deliver the intended outcome.
这种方法承认智能体可能找到通往同一目标的替代路径,同时仍确保它们交付预期结果。
For complex workflows, break evaluation into discrete checkpoints where specific state changes should have occurred, rather than attempting to validate every intermediate step.
对于复杂工作流,将评测拆分为离散的检查点,在这些检查点中应已发生特定状态变化,而不是试图验证每一个中间步骤。
Long-horizon conversation management.
长时程对话管理。
Production agents often engage in conversations spanning hundreds of turns, requiring careful context management strategies.
生产环境中的智能体经常会进行跨越数百轮的对话,这要求谨慎的上下文管理策略。
As conversations extend, standard context windows become insufficient, necessitating intelligent compression and memory mechanisms.
随着对话延长,标准上下文窗口变得不足,因此需要智能压缩和记忆机制。
We implemented patterns where agents summarize completed work phases and store essential information in external memory before proceeding to new tasks.
我们实现了这样的模式:智能体总结已完成的工作阶段,并将关键信息存储到外部记忆中,然后再继续处理新任务。
When context limits approach, agents can spawn fresh subagents with clean contexts while maintaining continuity through careful handoffs.
当接近上下文限制时,智能体可以生成具有干净上下文的新子智能体,同时通过谨慎的交接保持连续性。
Further, they can retrieve stored context like the research plan from their memory rather than losing previous work when reaching the context limit.
此外,当达到上下文限制时,它们可以从记忆中检索已存储的上下文(例如研究计划),而不是丢失之前的工作。
This distributed approach prevents context overflow while preserving conversation coherence across extended interactions.
这种分布式方法可以防止上下文溢出,同时在延长的交互中保持对话连贯性。
Subagent output to a filesystem to minimize the ‘game of telephone.’
将子智能体输出写入文件系统,以尽量减少“传话游戏”。
Direct subagent outputs can bypass the main coordinator for certain types of results, improving both fidelity and performance.
对于某些类型的结果,子智能体可以直接输出,绕过主协调器,从而同时提高保真度和性能。
Rather than requiring subagents to communicate everything through the lead agent, implement artifact systems where specialized agents can create outputs that persist independently.
与其要求子智能体通过主智能体传达所有内容,不如实现工件系统(artifact systems),让专用智能体能够创建独立持久化的输出。
Subagents call tools to store their work in external systems, then pass lightweight references back to the coordinator.
子智能体调用工具将其工作存储到外部系统,然后将轻量级引用传回协调器。
This prevents information loss during multi-stage processing and reduces token overhead from copying large outputs through conversation history.
这可以防止多阶段处理过程中的信息丢失,并减少因通过对话历史复制大型输出而产生的 token 开销。
The pattern works particularly well for structured outputs like code, reports, or data visualizations where the subagent's specialized prompt produces better results than filtering through a general coordinator.
该模式特别适用于代码、报告或数据可视化等结构化输出,在这些场景中,子智能体的专用提示词比通过通用协调器过滤能产生更好的结果。