Skip to main content
A Team is a collection of agents (or sub-teams) that work together. The team leader delegates tasks to members based on their roles. Team structure
from agno.team import Team
from agno.agent import Agent

team = Team(members=[
    Agent(name="English Agent", role="You answer questions in English"),
    Agent(name="Chinese Agent", role="You answer questions in Chinese"),
    Team(
        name="Germanic Team",
        role="You coordinate the team members to answer questions in German and Dutch",
        members=[
            Agent(name="German Agent", role="You answer questions in German"),
            Agent(name="Dutch Agent", role="You answer questions in Dutch"),
        ],
    ),
])

Why Teams?

Single agents hit limits fast. Context windows fill up, decision-making gets muddy, and debugging becomes impossible when one agent handles everything. Teams solve this by distributing work across specialized agents:
BenefitDescription
SpecializationEach agent masters one domain instead of being mediocre at everything
Parallel processingMultiple agents work simultaneously on independent subtasks
MaintainabilityWhen something breaks, you know exactly which agent to fix
ScalabilityAdd new capabilities by adding agents, not rewriting everything
The tradeoff: coordination overhead. Agents need to communicate and share state. Get this wrong and you’ve built a more expensive failure mode.

When to Use Teams

Use a team when:
  • A task requires multiple specialized agents with different tools or expertise
  • A single agent’s context window gets exceeded due to task complexity
  • You want to keep each agent focused on a narrow scope
Use a single agent when:
  • The task is simple enough for one domain of expertise
  • Minimizing token costs matters
  • You’re not sure yet (start simple, add agents when you hit limits)

Team Patterns

Teams support three main coordination patterns:
PatternConfigurationUse case
Supervisor (default)Default settingsTask decomposition, quality control, synthesis
Routerrespond_directly=True, determine_input_for_members=FalseRoute requests to specialists without synthesis
Broadcastdelegate_to_all_members=TrueParallel research, gather multiple perspectives
See Delegation for details on each pattern.

Guides

Developer Resources