Enabling the knowledge option on the team leader helps optimize delegation and enhances multi-agent collaboration by selectively invoking deeper knowledge when required.
Add the following code to your Python file
knowledge_tool_team.py
from agno.agent import Agent
from agno.knowledge.knowledge import Knowledge
from agno.models.openai import OpenAIResponses
from agno.team.team import Team
from agno.tools.hackernews import HackerNewsTools
from agno.tools.knowledge import KnowledgeTools
from agno.vectordb.lancedb import LanceDb, SearchType
agno_docs = Knowledge(
# Use LanceDB as the vector database and store embeddings in the `agno_docs` table
vector_db=LanceDb(
uri="tmp/lancedb",
table_name="agno_docs",
search_type=SearchType.hybrid,
),
)
# Add content to the knowledge
agno_docs.insert(url="https://www.paulgraham.com/read.html")
knowledge_tools = KnowledgeTools(
knowledge=agno_docs,
think=True,
search=True,
analyze=True,
add_few_shot=True,
)
web_agent = Agent(
name="Web Search Agent",
role="Handle web search requests",
model=OpenAIResponses(id="gpt-5.2"),
tools=[HackerNewsTools()],
instructions="Always include sources",
add_datetime_to_context=True,
)
finance_agent = Agent(
name="Finance Agent",
role="Handle financial data requests",
model=OpenAIResponses(id="gpt-5.2"),
tools=[HackerNewsTools()],
add_datetime_to_context=True,
)
team_leader = Team(
name="Reasoning Finance Team",
model=OpenAIResponses(id="gpt-5.2"),
members=[
web_agent,
finance_agent,
],
tools=[knowledge_tools],
instructions=[
"Only output the final answer, no other text.",
"Use tables to display data",
],
markdown=True,
show_members_responses=True,
add_datetime_to_context=True,
)
def run_team(task: str):
team_leader.print_response(
task,
stream=True,
show_full_reasoning=True,
)
if __name__ == "__main__":
run_team("What does Paul Graham talk about the need to read in this essay?")