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)

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