Copy
Ask AI
"""
Route Mode with Fallback Agent
Demonstrates routing with a general-purpose fallback agent that handles
requests when no specialist is a clear match.
"""
from agno.agent import Agent
from agno.models.openai import OpenAIResponses
from agno.team.mode import TeamMode
from agno.team.team import Team
# ---------------------------------------------------------------------------
# Create Members
# ---------------------------------------------------------------------------
sql_agent = Agent(
name="SQL Expert",
role="Writes and optimizes SQL queries",
model=OpenAIResponses(id="gpt-5.2"),
instructions=[
"You are an SQL expert.",
"Write correct, optimized SQL queries.",
"Explain query plans and indexing strategies when asked.",
],
)
python_agent = Agent(
name="Python Expert",
role="Writes Python code and solves Python-specific problems",
model=OpenAIResponses(id="gpt-5.2"),
instructions=[
"You are a Python expert.",
"Write idiomatic, well-structured Python code.",
"Follow PEP 8 and use type hints.",
],
)
general_agent = Agent(
name="General Assistant",
role="Handles general questions that do not match a specialist",
model=OpenAIResponses(id="gpt-5.2"),
instructions=[
"You are a helpful general assistant.",
"Answer questions clearly and concisely.",
"If the question is about SQL or Python, still do your best.",
],
)
# ---------------------------------------------------------------------------
# Create Team
# ---------------------------------------------------------------------------
team = Team(
name="Dev Help Router",
mode=TeamMode.route,
model=OpenAIResponses(id="gpt-5.2"),
members=[sql_agent, python_agent, general_agent],
instructions=[
"You route questions to the right expert.",
"- SQL or database questions -> SQL Expert",
"- Python questions -> Python Expert",
"- Everything else -> General Assistant",
"When in doubt, route to the General Assistant.",
],
show_members_responses=True,
markdown=True,
)
# ---------------------------------------------------------------------------
# Run Team
# ---------------------------------------------------------------------------
if __name__ == "__main__":
# SQL question
team.print_response(
"Write a query to find the top 10 customers by total order value, "
"joining the customers and orders tables.",
stream=True,
)
print("\n" + "=" * 60 + "\n")
# General question (fallback)
team.print_response(
"What are some good practices for code review?",
stream=True,
)
Run the Example
Copy
Ask AI
# Clone and setup repo
git clone https://github.com/agno-agi/agno.git
cd agno/cookbook/03_teams/modes/route
# Create and activate virtual environment
./scripts/demo_setup.sh
source .venvs/demo/bin/activate
python 03_with_fallback.py