Skip to main content
Same task is sent to every agent in the team. Moderator synthesizes the answer.
structured_debate.py
"""Broadcast Mode

Same task is sent to every agent in the team. Moderator synthesizes the answer.
"""

from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.models.openai import OpenAIResponses
from agno.team.team import Team, TeamMode

proponent = Agent(
    name="Proponent",
    role="Argue FOR the proposition. Be concise: thesis, 2-3 points, conclusion.",
    model=Claude(id="claude-opus-4-6"),
)

opponent = Agent(
    name="Opponent",
    role="Argue AGAINST the proposition. Be concise: thesis, 2-3 points, conclusion.",
    model=OpenAIResponses(id="gpt-5.2"),
)

team = Team(
    name="Structured Debate",
    mode=TeamMode.broadcast,
    model=Claude(id="claude-sonnet-4-6"),
    members=[proponent, opponent],
    instructions=[
        "Synthesize responses: highlight points for, against, areas of agreement, and the verdict"
    ],
    show_members_responses=True,
    markdown=True,
)

if __name__ == "__main__":
    team.print_response(
        "Remote work is better than in-office work for software teams.", stream=True
    )

Run the Example

1

Set up your virtual environment

uv venv --python 3.12
source .venv/bin/activate
uv venv --python 3.12
.venv\Scripts\activate
2

Install dependencies

uv pip install -U agno anthropic openai
3

Export your API keys

export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
export OPENAI_API_KEY="your_openai_api_key_here"
$Env:ANTHROPIC_API_KEY="your_anthropic_api_key_here"
$Env:OPENAI_API_KEY="your_openai_api_key_here"
4

Run the example

Save the code above as structured_debate.py, then run:
python structured_debate.py
Full source: cookbook/03_teams/02_modes/broadcast/04_structured_debate.py