Skip to content

    AI Architect Case Files

    Case: Anthropic's Multi-Agent Research System

    What Anthropic's engineering post says about its lead-agent and subagent research system: design, token cost, evaluation, and production limits.

    By Published 8 min read

    • ai-architect
    • case-file
    • industry-developer-tools
    • pattern-orchestrator-worker
    • failure-cost-overrun
    • kind-public
    Share

    Public case (sourced). Based on Anthropic Engineering's published post "How we built our multi-agent research system" (13 June 2025); every fact below is attributed to it.

    This case belongs to Multi-agent and event-driven AI architecture. Where the post is silent, this page says so.

    Context

    Anthropic's post says Claude now has Research capabilities that let it search across the web, Google Workspace and any integrations to accomplish complex tasks. The post is an engineering account of how that feature's multi-agent system was built. It defines a multi-agent system as multiple agents (LLMs autonomously using tools in a loop) working together.

    The post does not publish usage volumes, response times in seconds or dollar costs.

    Problem statement

    The post says research work involves open-ended problems where it is very difficult to predict the required steps in advance, and that a fixed path for exploring complex topics cannot be hard-coded. It frames search as compression: distilling insights from a vast corpus. It measures the answer on its internal research evaluation: 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%. The post does not say how large that evaluation was or how the percentage is computed.

    Constraints

    As the post states them:

    • If the context window exceeds 200,000 tokens it is truncated, so the lead agent's plan must be kept outside it.
    • Agents typically use about 4 times more tokens than chat interactions, and multi-agent systems about 15 times more.
    • For economic viability the task's value must be high enough to pay for the increased performance.
    • Domains that need all agents to share the same context, or that have many dependencies between agents, are not a good fit today.
    • Agents are stateful and errors compound; running agents must not be disrupted by deployments.

    Why the traditional approach fell short

    The post says traditional approaches using retrieval-augmented generation (RAG) use static retrieval: they fetch the chunks most similar to the query and generate from them. Its architecture instead uses a multi-step search that finds information dynamically, adapts to new findings and analyses the results. The post does not compare against rules engines or manual research.

    Options considered

    Option What the post says Verdict in the post
    A. Static retrieval (RAG) Fetches the chunks most similar to the query and generates from them The post contrasts it with the multi-step search it built
    B. Single agent The baseline in the 90.2% comparison (single-agent Claude Opus 4) Outperformed by the multi-agent system on the post's internal evaluation
    C. Orchestrator-worker multi-agent A lead agent coordinates and delegates to subagents running in parallel, each with its own context window The post's choice

    A reader's simpler alternative, not from the post: if the question shape is known in advance, a fixed search-then-summarise pipeline avoids the multi-agent cost. The post says this system is for open-ended research.

    Solution architecture

    The names in the figures are the post's: LeadResearcher, Subagents, Memory, CitationAgent.

    Figure 1. The research system's components as the post describes them

    flowchart LR accTitle: Multi-agent research system components accDescr: A user query goes to the LeadResearcher, which saves its plan to Memory and creates Subagents that search in parallel. Subagents return findings to the LeadResearcher, which may create more subagents or refine its strategy. When it has enough, a CitationAgent processes the documents and report and the cited results go back to the user. User["User query"] Lead["LeadResearcher (orchestrator)"] Mem["Memory: saved plan"] Subs["Subagents: search in parallel"] Tools["Search tools"] Cite["CitationAgent"] Out["Results with citations"] User --> Lead Lead -->|"saves plan"| Mem Lead -->|"spawns"| Subs Subs --> Tools Subs -->|"findings"| Lead Lead -->|"findings and report"| Cite Cite --> Out

    How to read this: the arrow from Subagents back to the LeadResearcher is the loop; the post says the lead decides whether more research is needed, and the box labels use the post's component names.

    Figure 2. One research request in the order the post describes

    sequenceDiagram accTitle: Research request sequence from the post accDescr: The user sends a query. The LeadResearcher thinks through an approach and saves its plan to Memory, then spawns subagents. Each subagent searches and returns findings. The LeadResearcher decides whether more research is needed and, if so, creates more subagents or refines its strategy. When done, a CitationAgent processes the documents and report and the final results with citations are returned to the user. autonumber participant U as User participant L as LeadResearcher participant M as Memory participant S as Subagents participant C as CitationAgent U->>L: research query L->>M: save plan L->>S: tasks, one per aspect S->>S: search and evaluate tool results S-->>L: findings Note over L: Decision - is more research needed? opt more research needed L->>S: additional subagents or a refined strategy S-->>L: findings end L->>C: findings and report C-->>U: final results with citations

    How to read this: the opt block is the lead's decision to continue, and the post does not say which component hands the final answer to the user, so the last arrow follows its sentence that the cited results are returned to the user.

    How AI solved it, step by step

    The post's sequence, in its own order:

    1. A user query reaches the LeadResearcher, which analyses it and develops a strategy.
    2. It thinks through the approach and saves its plan to Memory, because of the 200,000-token truncation.
    3. It spawns subagents to explore different aspects at the same time. The post says each subagent needs an objective, an output format, guidance on tools and sources, and clear task boundaries.
    4. Each subagent searches independently, evaluates the results with interleaved thinking and returns findings.
    5. The LeadResearcher synthesises the findings and decides whether more research is needed; if so it can create additional subagents or refine its strategy.
    6. The findings go to a CitationAgent, which processes the documents and report to identify where citations belong.
    7. The cited results go back to the user.

    Why step 3 needs detail, per the post: without detailed task descriptions, agents duplicate work, leave gaps or fail to find the information.

    Under the hood

    The key claim in the post is about tokens, not agents. For BrowseComp, an evaluation that tests the ability of browsing agents to locate hard-to-find information, the post says three factors explained 95% of the performance variance, and token usage by itself explained 80%. The other two factors it names are the number of tool calls and the model choice. From this it concludes that multi-agent systems work mainly because they help spend enough tokens to solve the problem: subagents with their own context windows spend tokens in parallel, and the post says each also provides separation of concerns and reduces path dependency. It adds that upgrading to Claude Sonnet 4 is a larger gain than doubling the token budget on Claude Sonnet 3.7. The post does not publish the BrowseComp scores or the statistical method behind the 95% and 80%. In its appendix it says subagents can store their work in external systems and pass lightweight references back to the coordinator, rather than routing everything through the lead. The general mechanism is covered in the Multi-agent and event-driven lesson.

    What went wrong / failure modes

    All from the post:

    • Effort mis-scaling. Early agents made errors such as spawning 50 subagents for simple queries, searching the web endlessly for sources that did not exist, and distracting each other with excessive updates. The post's mitigation: scaling rules embedded in the prompts, for example one agent with 3 to 10 tool calls for simple fact-finding.
    • Duplicated or missing work from vague delegation, mitigated by detailed task descriptions.
    • Bad tool choices and descriptions. The post says a tool-testing agent rewrote flawed tool descriptions and a 40% decrease in task completion time for future agents followed.
    • Source quality. Human testers noticed early agents consistently chose SEO-optimised content farms over authoritative sources; the fix was source-quality heuristics in the prompts.
    • Compounding errors. The post says restarts were too costly, so it built systems that can resume from where the agent was, with retry logic and regular checkpoints, plus full production tracing.
    • Deployments. Rainbow deployments avoid disrupting running agents.
    • Synchronous execution. Lead agents wait for each set of subagents to finish, which the post says creates bottlenecks; it expects asynchronous execution to add parallelism and also to add challenges in result coordination, state consistency and error propagation.

    Results

    Only numbers the post publishes, each with its caveat:

    • Multi-agent (Opus 4 lead, Sonnet 4 subagents) outperformed single-agent Opus 4 by 90.2% on Anthropic's internal research evaluation.
    • Agents use about 4 times more tokens than chat, and multi-agent systems about 15 times more.
    • On BrowseComp, token usage alone explained 80% of performance variance; three factors together explained 95%.
    • The post says parallel tool calling cut research time by up to 90% for complex queries.
    • The post says tool-description rewriting led to a 40% decrease in task completion time.
    • Its first evaluation set was about 20 queries; an LLM judge scored outputs on factual accuracy, citation accuracy, completeness, source quality and tool efficiency, and a single LLM call outputting scores from 0.0 to 1.0 and a pass-fail grade was most consistent with human judgement.

    The post does not give costs in money, latency in seconds, or the size of the evaluation behind the 90.2%.

    Tradeoffs and when NOT to use this approach

    From the post: it needs high-value tasks that parallelise well; it is a poor fit where agents must share context or depend heavily on each other; most coding tasks have fewer truly parallelisable tasks than research; and the authors say agents are not yet great at coordinating and delegating to other agents in real time. The post also says small changes to the lead agent can change subagent behaviour in large ways. A reader can check the cost of a 15-times token multiplier with the LLM cost estimator.

    Design rules extracted

    Each rule restates something the post reports:

    1. Tell the orchestrator how to delegate: objective, output format, tool guidance and boundaries per subagent.
    2. Put effort rules in the prompt, because agents misjudge how much work a query needs.
    3. Keep the plan outside the context window so truncation cannot erase it.
    4. Make long-running agents resumable and traceable, and deploy without cutting off running agents.
    5. Start evaluation with a small set, keep human testers, and judge end states instead of exact steps.

    Sources

    Last verified: 2026-10-22

    Ask about this article

    Get answers grounded in this post. AI-generated — based on this article, and may be imperfect.

    Scaled AI Weekly

    Enjoyed this? Get more like it every Monday.

    Real architecture decisions, LLMOps patterns that survive production, and engineering leadership advice — from 12+ years of building at enterprise scale. Free. No spam. Unsubscribe anytime.

    Get new articles by email

    Free. We email a confirmation link first, and you can unsubscribe from any email.

    Join engineers building production AI systems

    Comments