Structured Debate
Same task is sent to every agent in the team.
Same task is sent to every agent in the team. Moderator synthesizes the answer.
"""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
)Example behavior
When the leader calls its broadcast tool, all members receive the same delegated task. The synchronous print_response() used here visits them sequentially. For concurrent member execution, call await team.aprint_response(..., stream=True) inside an async entry point. The leader can also answer directly without calling the broadcast tool.
Run the Example
Set up your virtual environment
uv venv --python 3.12
source .venv/bin/activateInstall dependencies
uv pip install -U agno anthropic openaiExport your API keys
export ANTHROPIC_API_KEY="your_anthropic_api_key_here"
export OPENAI_API_KEY="your_openai_api_key_here"Run the example
Save the code above as structured_debate.py, then run:
python structured_debate.pyFull source: cookbook/03_teams/02_modes/broadcast/04_structured_debate.py