{
  "source_file": "0930",
  "source_platform": "Ghost",
  "author": "Avi Chawla / Daily Dose of Data Science",
  "title_listed": "Claude Subagents vs Agent Teams",
  "keywords": "",
  "domain": "大模型算法",
  "content_type": "深度技术解析",
  "is_paid_flag": "否",
  "url": "https://www.dailydoseofds.com/p/claude-subagents-vs-agent-teams/",
  "publish_date": "2026-05-11",
  "corpus_stage": "",
  "notes": "",
  "id": "912e79493c0d",
  "collected_at": "2026-10-02T13:48:24",
  "title": "Claude Subagents vs. Agent Teams",
  "body_markdown": "Mar 17, 2026\nClaude\nClaude Subagents vs. Agent Teams\n...explained visually.\nAvi Chawla\n👉\nMost people reach for multi-agent systems the moment a task feels complex.\nThat’s almost always the wrong instinct.\nThe right question isn’t “should I use multiple agents?” but rather “what kind of coordination does this task actually need?”\nThe answer to that determines everything about your architecture.\nClaude gives you two distinct multi-agent paradigms: sub-agents and agent teams. They look similar on the surface. Architecturally, they solve completely different problems.\nSub-Agents: Parallelism through isolation\nA sub-agent is a specialized Claude instance that runs in its own isolated context window.\nHere’s the mental model: imagine you’re a research lead. You don’t read every primary source yourself. You delegate focused questions to researchers, they come back with distilled findings, and you synthesize everything into a coherent output.\nThat’s exactly what sub-agents do.\nEach sub-agent gets:\nIts own system prompt defining its specialty\nA specific set of tools it can access\nA clean, isolated context window\nOne job to do\nWhen it finishes, only the final result returns to the parent. Not the full reasoning chain. Not the intermediate steps. Just the compressed output.\nThe point of sub-agents isn’t just parallelism, it’s compression. You’re distilling a vast amount of exploration into a clean signal, without polluting your parent agent’s context with noise.\nOne hard constraint: sub-agents can’t spawn other sub-agents, and they can’t talk to each other. Every result flows back to the parent. The parent is the sole coordinator.\nThis constraint is a feature, not a limitation. It keeps the system predictable. You always know where information flows and where decisions get made.\nHere’s a minimal SDK example of defining and invoking sub-agents:\nThe description field is what tells the parent agent which sub-agent to invoke. Here, the prompt mentions “security vulnerabilities” so the parent routes to\nsecurity-reviewer\n, not\nperformance-optimizer\n. If the prompt had asked about latency or bottlenecks instead, the other agent would have been picked. The description is the routing signal. Keep it specific.\nAgent Teams: Coordination through communication\nAgent teams are a fundamentally different model.\nWhere sub-agents are short-lived workers that complete a task and disappear, agent teams are long-running instances that persist, communicate directly with each other, and coordinate through shared state.\nThink of it like the difference between hiring contractors for isolated tasks vs. assembling a team that works together in the same room.\nAn agent team has three moving parts:\nA team lead that coordinates work, assigns tasks, and synthesizes results\nTeammates that are independent agent instances, each with their own context window, working in parallel\nA shared task list that tracks what’s pending, in progress, and done, along with dependencies between tasks\nA typical lifecycle looks like this:\nNotice the\nblockedBy\nfield on the test writer. That’s the shared task list doing real coordination work: the test writer won’t start until the backend agent is done, without the lead having to manually manage that sequencing.\nThe big difference from sub-agents is direct peer-to-peer communication. Teammates can send messages to each other, share findings, surface blockers, and negotiate without routing everything through the lead.\nYou can also interact with individual teammates directly. You’re not forced to go through the lead agent for everything.\nThe core distinction: Fire-and-Forget vs. Ongoing coordination\nHere’s how to think about the choice between them.\nSub-agents are fire-and-forget.\nYou give them a task, they complete it, they report back\nNo conversation between agents\nNo shared memory, no ongoing state\nEach sub-agent lives and dies within a single session\nAgent teams are collaborative.\nAgents persist and accumulate context over time\nMid-task discoveries surface to teammates immediately\nA frontend agent can tell a backend agent “the API response structure needs to change” and the backend agent adjusts without waiting for the lead to mediate\nThe clearest way to choose between them:\nUse sub-agents when your work is embarrassingly parallel: independent research streams, codebase exploration, or lookups where the parent only needs the summary\nUse agent teams when your work requires ongoing negotiation: agents that need to reconcile their outputs before proceeding, or where a discovery in one thread changes what another thread should do\nHow to design Agent systems from first principles\nMost multi-agent designs fail because people split work by role instead of by context.\nThe intuitive instinct is to split by role: planner, implementer, tester. It feels organized. But it creates a telephone game where information degrades at every handoff.\nThe implementer doesn’t have what the planner knew\nThe tester doesn’t have what the implementer decided\nQuality drops at every boundary\nThe right mental model is context-centric decomposition.\nAsk: what context does this subtask actually need? If two subtasks need deeply overlapping information, they probably belong to the same agent. If they can operate with truly isolated information and clean interfaces between them, that’s where you split.\nA practical example: an agent implementing a feature should also write the tests for that feature. It already has the context. Splitting those two into separate agents creates a handoff problem that costs more than the parallelism saves.\nOnly separate when context can be genuinely isolated.\nThe five orchestration patterns worth knowing\nRegardless of which paradigm you use, these five patterns cover most real-world needs:\nPrompt chaining: Sequential steps where each call processes the previous output. Use when order matters and steps are dependent.\nRouting: A classifier decides which specialized handler gets the task. Easy questions go to cheaper, faster models. Hard questions go to more capable ones. This is how you keep costs from exploding.\nParallelization: Independent subtasks run simultaneously. Either the same task runs multiple times for diverse outputs (voting), or different subtasks run at the same time (sectioning).\nOrchestrator-worker: A central agent breaks down the task, delegates to workers, and synthesizes results. This is the dominant architecture for both sub-agents and agent teams, and what most production systems actually use.\nEvaluator-optimizer: One agent generates, another evaluates and provides feedback in a loop. Useful when quality matters more than speed and a single pass isn’t reliable enough.\nWhen not to use multi-Agent systems at all\nThis is the part most articles skip.\nTeams have spent months building elaborate multi-agent pipelines only to discover that better prompting on a single agent achieved equivalent results.\nStart simple. Add complexity only when you can clearly measure that it’s needed.\nMulti-agent systems earn their cost in three situations:\nContext protection: A subtask generates information irrelevant to the main task. Keeping it in a sub-agent prevents context bloat.\nTrue parallelization: Independent research or search tasks that benefit from simultaneous coverage.\nSpecialization: The task requires conflicting system prompts, or one agent is juggling so many tools that its performance degrades.\nThey’re the wrong call when:\nAgents constantly need to share context with each other\nInter-agent dependencies create more overhead than execution value\nThe task is simple enough that one well-prompted agent handles it\nOne specific warning for coding: parallel agents writing code make incompatible assumptions. When you merge their work, those implicit decisions conflict in ways that are hard to debug. Sub-agents for coding should answer questions and explore, not write code simultaneously with the main agent.\nWhat makes Multi-Agent systems actually fail\nThree failure modes show up constantly.\n1. Vague task descriptions cause agents to duplicate each other’s work.\nEvery agent needs a clear objective, an expected output format, guidance on what tools or sources to use, and explicit boundaries on what it should not cover. Without this, two agents will research the same thing and neither will notice.\n2. Verification agents declare victory without verifying.\nExplicit, concrete instructions are non-negotiable: run the full test suite, cover these specific cases, do not mark as complete until each one passes. Vague approval criteria produce false positives.\n3. Token costs compound faster than you expect.\nThe solution is to tier your models intelligently:\nUse your most capable model where it genuinely matters\nRoute routine work to faster, cheaper models\nBuild in budget controls so costs can’t run away unchecked\nThe one design principle that actually matters\nDesign around context boundaries, not around roles or org charts.\nStart with a single agent. Push it until you find where it breaks. That failure point tells you exactly what to add next.\nAdd complexity only where it solves a real, measured problem.\nTo learn more...\nWe did a crash course to help you implement reliable Agentic systems, understand the underlying challenges, and develop expertise in building Agentic apps on LLMs, which every industry cares about now.\nHere’s everything we did in the crash course (with implementation):\n​\n​​​\n​​\nIn Part 1\n​​\n​​​\n​\n, we covered the fundamentals of Agentic systems, understanding how AI agents act autonomously to perform tasks.\n​​​​​​\nIn Part 2\n​​​​​​\n, we extended Agent capabilities by integrating custom tools, using structured outputs, and we also built modular Crews.\n​​​​​​\nIn Part 3\n​​\n​​​\n​\n, we focused on Flows, learning about state management, flow control, and integrating a Crew into a Flow.\n​​​​​​\nIn Part 4\n​​​​​​\n, we extended these concepts into real-world multi-agent, multi-crew Flow projects.\nIn\n​​​​​​\nPart 5\n​​\n​​​\n​\nand\n​\n​​​\n​​\nPart 6\n​​​​​​\n, we moved into advanced techniques that make AI agents more robust, dynamic, and adaptable, like Guardrails, Async execution, Callbacks, Human-in-the-loop, Multimodal Agents, and more.\nIn\n​​​​​​\nPart 7\n​​​​​​\n, we covered Knowledge of agentic Systems.\nIn\n​\n​​​\n​​\nPart 8\n​​​​​​\nand\n​\n​​​\n​​\nPart 9\n​​​​​​\n, we primarily focused on 5 types of Memory for AI agents, which help agents “remember” and utilize past information.\nIn\n​\n​​​\n​​\nPart 10\n​​\n​​​\n​\n, we implemented the ReAct pattern from scratch.\nIn\n​\n​​​\n​​\nPart 11\n​​​​​\n​​​​​​​\n, we implemented the Planning pattern from scratch.\nIn\n​​​​​\nPart 12\n​​\n​​\n​\n, we implemented the Multi-agent pattern from scratch.\nIn\n​\n​​\n​​\nPart 13\n​​​​​\nand\n​\n​​\n​​\nPart 14\n​​​​​\n, we covered 10 practical steps to improve Agentic systems.\nIn\n​​​​\nPart 15\n​​\n​\n​\n,\n​​​​\nPart 16\n​​\n​\n​\nand\n​​​​\nPart 17\n​​\n​\n​\n, we covered practical ways to optimize the Agent’s memory in production use cases.\nThanks for reading!\nPublished on Mar 17, 2026\nComments\nShare\nCopy link\nShare to X\nShare to Facebook\nShare to Linkedin\nCopied\nPrevious\nLLM Fine-tuning: Techniques for Adapting Language Models\nNext\nLLM Inference and Optimization: Fundamentals, Bottlenecks, and Techniques",
  "metadata": {
    "title": "Claude Subagents vs. Agent Teams",
    "description": "...explained visually.",
    "keywords": null,
    "author": null,
    "og:site_name": "Daily Dose of Data Science",
    "og:type": "article",
    "og:title": "Claude Subagents vs. Agent Teams",
    "og:description": "...explained visually.",
    "og:url": "https://www.dailydoseofds.com/p/claude-subagents-vs-agent-teams/",
    "og:image": "https://storage.ghost.io/c/3f/df/3fdf6ed2-17ac-4b12-a693-8078bd13e748/content/images/2026/05/clipboard-image-1778534178.png",
    "og:image:width": "1200",
    "og:image:height": "480",
    "twitter:card": "summary_large_image",
    "twitter:title": "Claude Subagents vs. Agent Teams",
    "twitter:description": "...explained visually.",
    "twitter:url": "https://www.dailydoseofds.com/p/claude-subagents-vs-agent-teams/",
    "twitter:image": "https://storage.ghost.io/c/3f/df/3fdf6ed2-17ac-4b12-a693-8078bd13e748/content/images/2026/05/clipboard-image-1778534178.png",
    "twitter:label1": "Written by",
    "twitter:data1": "Avi Chawla",
    "twitter:label2": "Filed under",
    "twitter:data2": "Claude",
    "twitter:site": "@_avichawla",
    "article:published_time": "2026-03-16T21:22:00.000Z",
    "article:modified_time": "2026-05-11T21:24:05.000Z",
    "article:tag": "Claude"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [],
  "images": [
    {
      "status": "ok",
      "url": "https://storage.ghost.io/c/3f/df/3fdf6ed2-17ac-4b12-a693-8078bd13e748/content/images/size/w400/2026/03/avi-google.jpg",
      "bytes": 11344,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/000.jpg",
      "src": "https://storage.ghost.io/c/3f/df/3fdf6ed2-17ac-4b12-a693-8078bd13e748/content/images/size/w400/2026/03/avi-google.jpg",
      "alt": "Avi Chawla",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!N-0b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74e64a66-02af-490f-9371-55286fa09cf0_1566x788.png",
      "bytes": 347531,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/001.png",
      "src": "https://substackcdn.com/image/fetch/$s_!N-0b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F74e64a66-02af-490f-9371-55286fa09cf0_1566x788.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!vnG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb0cf7c-db55-4796-affa-46cb070a3cf8_680x342.png",
      "bytes": 89438,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/002.png",
      "src": "https://substackcdn.com/image/fetch/$s_!vnG7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6eb0cf7c-db55-4796-affa-46cb070a3cf8_680x342.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!5QXf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc3dfe20-dce1-4f18-9c16-7d2a06333a65_3092x2792.png",
      "bytes": 200537,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/003.png",
      "src": "https://substackcdn.com/image/fetch/$s_!5QXf!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc3dfe20-dce1-4f18-9c16-7d2a06333a65_3092x2792.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!vGH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faca4d293-112e-4db9-a8ec-bda1df3cd3f7_680x342.png",
      "bytes": 81767,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/004.png",
      "src": "https://substackcdn.com/image/fetch/$s_!vGH7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Faca4d293-112e-4db9-a8ec-bda1df3cd3f7_680x342.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!bBiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6acf1e8-b1e7-4322-9973-cde9f8bd389b_3412x1172.png",
      "bytes": 90180,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/005.png",
      "src": "https://substackcdn.com/image/fetch/$s_!bBiU!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb6acf1e8-b1e7-4322-9973-cde9f8bd389b_3412x1172.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!Q3pu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f6248f-2cc9-4cbd-b748-ebcfdb4053e3_680x376.png",
      "bytes": 110464,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/006.png",
      "src": "https://substackcdn.com/image/fetch/$s_!Q3pu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc0f6248f-2cc9-4cbd-b748-ebcfdb4053e3_680x376.png",
      "alt": "",
      "downloaded": true
    },
    {
      "status": "ok",
      "url": "https://substackcdn.com/image/fetch/$s_!LE70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fa513fd-d199-42fe-8151-e685c26a2055_680x352.png",
      "bytes": 113464,
      "reused": true,
      "local_path": "attachments/912e79493c0d/images/007.png",
      "src": "https://substackcdn.com/image/fetch/$s_!LE70!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8fa513fd-d199-42fe-8151-e685c26a2055_680x352.png",
      "alt": "",
      "downloaded": true
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-1-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-2-with-implementation/",
      "label": "​​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-3-with-implementation/",
      "label": "​​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-4-with-implementation/",
      "label": "​​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-5-with-implementation/",
      "label": "​​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-6-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-7-with-implementation/",
      "label": "​​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-8-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-9-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-10-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-11-with-implementation/",
      "label": "​​​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-12-with-implementation/",
      "label": "​​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-13-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-14-with-implementation/",
      "label": "​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-15-with-implementation/",
      "label": "​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-16-with-implementation/",
      "label": "​​​​",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/ai-agents-crash-course-part-17-with-implementation/",
      "label": "​​​​",
      "type": "a"
    },
    {
      "href": "https://x.com/intent/tweet?url=https%3A%2F%2Fwww.dailydoseofds.com%2Fp%2Fclaude-subagents-vs-agent-teams%2F&text=Claude%20Subagents%20vs.%20Agent%20Teams",
      "label": "Share to X",
      "type": "a"
    },
    {
      "href": "https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.dailydoseofds.com%2Fp%2Fclaude-subagents-vs-agent-teams%2F",
      "label": "Share to Facebook",
      "type": "a"
    },
    {
      "href": "https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.dailydoseofds.com%2Fp%2Fclaude-subagents-vs-agent-teams%2F",
      "label": "Share to Linkedin",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/llmops-crash-course-part-12/",
      "label": "Previous LLM Fine-tuning: Techniques for Adapting Language Models",
      "type": "a"
    },
    {
      "href": "https://www.dailydoseofds.com/llmops-crash-course-part-13/",
      "label": "Next LLM Inference and Optimization: Fundamentals, Bottlenecks, and Techniques",
      "type": "a"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-14T10:48:00Z",
  "source_url": "https://www.dailydoseofds.com/p/claude-subagents-vs-agent-teams/",
  "papers": [],
  "actual_video_files": [],
  "body_chars": 11216,
  "expected_body_images": 8,
  "discovery_status": "ok",
  "delivery_status": "ok",
  "missing_reason": "",
  "raw_html": "attachments/912e79493c0d/pages/source.html",
  "local_html": "attachments/912e79493c0d/pages/article.html",
  "body_base_path": "attachments/912e79493c0d/pages/",
  "body_markdown_path": "attachments/912e79493c0d/pages/article.md"
}