Skip to main content

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

PatternPrimitiveBest for
RouteTeam (route mode)A direct question that one specialist owns
CoordinateTeam (coordinate mode)Open-ended questions where a lead decides who to consult
BroadcastTeam (broadcast mode)High-stakes calls where every specialist evaluates independently
TaskTeam (tasks mode)Multi-step jobs the team decomposes autonomously
PipelineWorkflowStandardized, 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

TeamWorkflow
ControlA lead model decides the flowYou define the steps
Best forOpen-ended or adaptive researchStandardized, repeatable reviews
AuditabilityVaries by runIdentical every run
Failure modeLead picks a poor pathA 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

TaskGuide
Fan specialists out at onceParallel investigation
Ground every memberGrounding research

Developer Resources