
Why Teams?
Use a team when separate roles, tools, or execution paths make a task easier to control.
The leader and members make separate model calls. This adds latency, token usage, and coordination state.
When to Use Teams
Use a team when:- A task requires multiple specialized agents with different tools or expertise
- You need an explicit routing, broadcast, or task-list pattern
- Member runs need separate outputs or metrics
- The task fits one domain of expertise
- Minimizing token costs matters
- The extra coordination does not improve the result
Team Capabilities
Callable Factories
Pass a function instead of a static list fortools, knowledge, or members. Agno calls it at the start of each run, injecting context based on the function's parameter names.
knowledge, tools, and members all accept callable factories. Agents also support callable factories for knowledge and tools. See callable factories for examples and caching settings for cache key configuration.
Team Modes
TeamMode makes collaboration styles explicit. Prefer mode= instead of toggling respond_directly or delegate_to_all_members directly.
mode overrides legacy flags. If mode is not set, respond_directly=True maps to TeamMode.route and delegate_to_all_members=True maps to TeamMode.broadcast. Otherwise the team uses TeamMode.coordinate.
Modes define the delegation path without changing member configuration. See Delegation.
Guides
Build Teams
Define members, roles, and structure.
Run Teams
Execute teams and handle responses.
Debug Teams
Inspect and troubleshoot team behavior.
