Skip to main content
To build effective agents, start simple: a model, tools, and instructions. Once that works, layer in more functionality as needed. For example, here’s the simplest possible agent with access to HackerNews:
hackernews_agent.py
from agno.agent import Agent
from agno.models.anthropic import Claude
from agno.tools.hackernews import HackerNewsTools

agent = Agent(
    model=Claude(id="claude-sonnet-4-5"),
    tools=[HackerNewsTools()],
    instructions="Write a report on the topic. Output only the report.",
    markdown=True,
)
agent.print_response("Trending startups and products.", stream=True)

Run your Agent

Use Agent.print_response() for development. It prints the response in a readable format in your terminal. For production, use Agent.run() or Agent.arun():
from typing import Iterator
from agno.agent import Agent, RunOutputEvent, RunEvent
from agno.models.anthropic import Claude
from agno.tools.hackernews import HackerNewsTools

agent = Agent(
    model=Claude(id="claude-sonnet-4-5"),
    tools=[HackerNewsTools()],
    instructions="Write a report on the topic. Output only the report.",
    markdown=True,
)

# Stream the response
stream: Iterator[RunOutputEvent] = agent.run("Trending products", stream=True)
for chunk in stream:
    if chunk.event == RunEvent.run_content:
        print(chunk.content)

Dynamic Agent Configuration

In Agno, callable factories are a first-class pattern for dynamic runtime configuration. For agents, callables are used to build tools and knowledge from live run context instead of fixed configuration. Teams can dynamically compose members, tools, and knowledge per user or task with callable factories. Tools expose only what is relevant at that moment to keep execution focused. In case of knowledge, callables route retrieval to the best source per request for more precise, up-to-date responses.

Next Steps

After getting familiar with the basics, add functionality as needed:
TaskGuide
Run agentsRunning agents
Debug agentsDebugging agents
Manage sessionsAgent sessions
Handle input/outputInput and output
Add toolsTools
Manage contextContext engineering
Add knowledgeKnowledge
Handle images, audio, video, filesMultimodal
Add guardrailsGuardrails
Cache responses during developmentResponse caching