Documentation Index
Fetch the complete documentation index at: https://docs.agno.com/llms.txt
Use this file to discover all available pages before exploring further.
A research question has a shape. A factual lookup wants one specialist. A high-stakes decision wants every specialist at once. A standardized review wants the same auditable steps every time. Agno gives you a Team mode or a Workflow for each.
Pick the shape
| Pattern | Primitive | Best for |
|---|
| Route | Team (route mode) | A direct question that one specialist owns |
| Coordinate | Team (coordinate mode) | Open-ended questions where a lead decides who to consult |
| Broadcast | Team (broadcast mode) | High-stakes calls where every specialist evaluates independently |
| Task | Team (tasks mode) | Multi-step jobs the team decomposes autonomously |
| Pipeline | Workflow | Standardized, auditable reviews that must run the same way every time |
Coordinate: a lead orchestrates dynamically
A lead model decides which analysts to consult based on the question, then synthesizes.
from agno.models.google import Gemini
from agno.team import Team, TeamMode
coordinate_team = Team(
id="coordinate-team",
name="Investment Team - Coordinate",
mode=TeamMode.coordinate,
model=Gemini(id="gemini-3.1-pro-preview"),
members=[market_analyst, financial_analyst, technical_analyst, risk_officer],
instructions=[
"Dynamically decide which analysts to consult based on the question.",
"Always consult the Risk Officer before any allocation decision.",
"Provide a final recommendation with a specific dollar allocation.",
],
show_members_responses=True,
)
answer = coordinate_team.run("Should we add NVDA at a $2M position?").content
# The lead consults the analysts it judges relevant, always the Risk
# Officer before sizing, then synthesizes one recommendation.
Broadcast: everyone evaluates, the lead synthesizes
Every analyst assesses the same question independently. The lead reconciles agreement and disagreement into one call. Use this when independence reduces bias.
broadcast_team = Team(
id="broadcast-team",
name="Investment Team - Broadcast",
mode=TeamMode.broadcast,
model=Gemini(id="gemini-3.1-pro-preview"),
members=[market_analyst, financial_analyst, technical_analyst, risk_officer],
instructions=[
"All analysts evaluated this independently.",
"Note where they agree and disagree, then decide.",
"Weight the Risk Officer's concerns heavily in position sizing.",
],
show_members_responses=True,
)
Pipeline: the same steps, every time
When a review must be auditable, a Workflow fixes the steps. Each step’s output feeds the next; independent steps run in parallel.
from agno.workflow import Parallel, Step, Workflow
investment_workflow = Workflow(
id="investment-workflow",
name="Investment Review Pipeline",
steps=[
Step(name="Market Assessment", agent=market_analyst),
Parallel(
Step(name="Fundamental Analysis", agent=financial_analyst),
Step(name="Technical Analysis", agent=technical_analyst),
name="Deep Dive",
),
Step(name="Risk Assessment", agent=risk_officer),
Step(name="Investment Memo", agent=memo_writer),
Step(name="Committee Decision", agent=committee_chair),
],
)
result = investment_workflow.run("Run a full investment review on NVDA")
# result.content is the Committee Decision; result.step_results holds each
# step in order (the Deep Dive is one nested list). Same shape every run.
Teams vs Workflows
| Team | Workflow |
|---|
| Control | A lead model decides the flow | You define the steps |
| Best for | Open-ended or adaptive research | Standardized, repeatable reviews |
| Auditability | Varies by run | Identical every run |
| Failure mode | Lead picks a poor path | A step is wrong, but always the same step |
A mature research system uses both: Teams for exploration, a Workflow for the decision of record.
Next steps
| Task | Guide |
|---|
| Fan specialists out at once | Parallel investigation |
| Ground every member | Grounding research |
Developer Resources