Skip to content

Agent Taxonomy

Organizing multi-agent system terminology by abstraction level

About This Document

LLM-based multi-agent systems are flooded with overlapping terms — custom agents, sub-agents, meta-agents, orchestrators, Swarm — each used differently across frameworks. This document organizes them into four abstraction layers, making the overlaps and independent axes explicit.

For Claude Code-specific implementation details, see what-is-subagent.md. For agent-to-agent communication protocols, see what-is-a2a.md.

Why a Taxonomy is Needed

Common Confusion

Agent terminology often suffers from the same word meaning different things depending on the framework or article.

  • "Meta-agent" referring to a design pattern in one article, to a specific product feature in another
  • "Custom agent" and "sub-agent" being listed in parallel when they actually have an inclusion relationship
  • "Swarm" being used both as a framework name and as a design pattern name

These confusions stem from flat-listing terms that belong to different abstraction levels.

Making Abstraction Levels Explicit

Organizing terms into four layers as shown below clarifies the picture.

Abstraction LevelExample TermsNature
Architecture PatternOrchestrator-Worker, Swarm, Hierarchical Team, Meta-AgentPattern names
Execution RoleOrchestrator / Supervisor, Planner, Worker, CriticPosition and responsibility within a pattern
Implementation UnitCustom Agent, Sub-agent, Background AgentConcrete implementation form
Lifecycle AttributePersistent / Ephemeral, Spawned / ForkedAdjectives that modify implementation units

In other words, "custom agent" and "sub-agent" are not parallel concepts. A sub-agent is usually implemented as a custom agent (defined by the user in Markdown, etc.). "Meta-agent" is similarly not a specific product feature — it's a conceptual term referring to patterns where an Orchestrator dynamically generates sub-agents.

Concept Map

Definitions per Layer

1. Architecture Pattern

Architectural patterns describing how agents are composed.

PatternDefinitionRepresentative Example
Orchestrator-WorkerA coordinator delegates tasks to multiple sub-agents (Workers) in a hierarchical structureAnthropic Multi-Agent Research System, Claude Code
Hierarchical TeamAn explicit hierarchy with fixed rolesCrewAI, AutoGen
SwarmMinimizes hierarchy; agents collaborate via handoffs in an autonomous decentralized modelOpenAI Swarm (experimental; succeeded by Agents SDK)
Meta-AgentA design concept of "an agent that generates/manages other agents"A general term — not a product feature name

While some articles treat "Meta-Agent" as a product feature name, no established product feature with that name currently exists. Use it as a conceptual term to stay safe.

2. Execution Role

The responsibilities each agent takes on within an architecture pattern.

RoleResponsibility
Orchestrator / Supervisor / Lead AgentTask decomposition, delegation decisions, result aggregation, dynamic coordination
PlannerPlanning, step decomposition
Worker / SpecialistExecutes individual specialized tasks
Critic / Reviewer / EvaluatorValidates outputs, scores them, decides on re-runs

Anthropic's Multi-Agent Research System calls the Orchestrator the "lead agent." Note that the same responsibility may have different names across frameworks.

3. Implementation Unit

Forms in which agents actually exist as code or configuration files.

Implementation UnitDefinitionRepresentative Mechanism
Custom AgentAn agent declaratively defined by the user (prompt, available tools, permissions, model). A superset that includes sub-agentsClaude Code's .claude/agents/*.md, GitHub Copilot's .agent.md
Sub-agentA child agent delegated by a parent, executing in an independent context window. Intermediate tool calls don't bleed into the parent — only the final output returnsClaude Code Subagents, Claude Agent SDK Subagents
Background AgentAn asynchronous, long-running agent that persists state across sessionsGitHub Copilot Cloud Agents

For Claude Code-specific definition details, see what-is-subagent.md.

4. Lifecycle Attribute

Properties that modify implementation units in terms of "how they are created and destroyed."

AttributeMeaning
PersistentMaintains state across sessions. Typical of background agents
EphemeralDestroyed upon task completion. Common behavior of sub-agents. Helps prevent context pollution
Spawned / ForkedDynamically generated from a parent. Often combined with Ephemeral

Why Independent Context Matters

The biggest advantage of sub-agents is that they protect the parent session's context window.

Independent contexts deliver:

  • Token efficiency: Exploratory tool-call intermediate results don't crowd the parent's context
  • Error isolation: Sub-agent failures are less likely to propagate to the parent
  • Parallelism: Multiple sub-agents can run concurrently. In Anthropic's Multi-Agent Research System, the lead spawns 3–5 sub-agents in parallel

Cross-Framework Mapping

Implementation and Independent Context

FrameworkImplementation Unit DefinitionSub-execution with Independent Context
Claude Code.claude/agents/*.md✅ Subagents
GitHub Copilot / VS Code.github/agents/*.agent.md✅ Custom Agents
OpenAI Agents SDKPython (Agent class)✅ Handoff
CrewAIPython (Agent)✅ Task delegation
LangGraphGraph nodes✅ Sub-graphs

Architecture Pattern and Extensions

FrameworkHierarchical PatternInter-agent CommunicationBackground Execution
Claude CodeOrchestrator + SubagentsA2A support under consideration△ (as tasks)
GitHub Copilot / VS CodeCoordinator + Worker✅ Cloud Agents
OpenAI Agents SDKTriage + Specialist
CrewAICrew (Manager + Workers)
LangGraphState Machine

Note that .agent.md and AGENTS.md are different:

  • .agent.md: GitHub Copilot / VS Code's individual custom agent definition file (formerly Custom Chat Modes)
  • AGENTS.md: A repository-root README for coding agents. In December 2025, OpenAI and Anthropic donated it to the Linux Foundation (Agentic AI Foundation), establishing it as an industry standard

Selection Guide

ScenarioRecommended PatternImplementation Unit
Simple single taskSingle agentCustom agent
Context protection needed (exploratory research, cross-codebase work)Orchestrator-WorkerSub-agent (Ephemeral)
Complex coordination and task decompositionHierarchical TeamOrchestrator + multiple Workers
Long-running async workBackground JobBackground agent (Persistent)
Emergent, flexible collaborationSwarmHandoff-based

Trade-offs

Hierarchy and parallelism improve robustness and accuracy, but token cost and latency increase. Anthropic's Multi-Agent Research System reports that a configuration with Claude Opus 4 as the lead and Claude Sonnet 4 as subagents outperformed a single Opus 4 by 90.2% on their internal research eval. However, the same report notes that token consumption explains 80% of the performance variance, making the cost trade-off significant.

A multi-agent setup is not always better — choose based on task characteristics and cost constraints.

Several protocols exist around agents and are easy to confuse. Here's a quick disambiguation.

ProtocolOriginPurpose
MCP (Model Context Protocol)AnthropicStandard for LLMs to connect to external tools / data sources. Tool connectivity inside an agent. See what-is-mcp.md
A2A (Agent-to-Agent Protocol)Google → Linux FoundationPeer-to-peer communication between agents. See what-is-a2a.md
AGENTS.mdOpenAI / Anthropic (donated to Linux Foundation)Repository-root README for coding agents

MCP and A2A are complementary. If MCP is the "vertical" connection between an agent and its tools, A2A is the "horizontal" connection between agents.

References

Primary Sources

Secondary Sources (commentary)

PurposeDocument
Claude Code-specific sub-agent implementationwhat-is-subagent.md
Choose between Skill and Sub-agentSub-agent vs Skills
Validator pattern in practiceUsing sub-agents as quality gates
Agent/Sub-agent/Skill/MCP 4-way comparisonFAQ: 4 roles compared
Inter-agent communication protocolwhat-is-a2a.md
MCP detailswhat-is-mcp.md
Three-layer architecture (Agent / Skills / MCP)03-architecture.md
Implementation patternspatterns.md

Released under the MIT License.