Overview
Agno is a powerful Python framework for building AI agents that can use tools, manage workflows, and handle complex multi-stage tasks. It’s designed for both rapid prototyping and production deployments, with built-in support for memory, streaming, and agent orchestration.When to Use Agno
- Simple Agents: Build single-purpose agents with tool access quickly
- Multi-Agent Workflows: Orchestrate multiple specialized agents in sequences
- Production Apps: Deploy with Streamlit UI and built-in playground
- Memory-Enabled Agents: Create agents that remember context across sessions
- Research & Analysis: Build agents that search, analyze, and synthesize information
Installation
Additional Dependencies
Core Concepts
Agent
TheAgent is the primary building block. It combines a language model, instructions, tools, and optional memory.
Models
Agno supports multiple model providers. Nebius is commonly used in the repository:Tools
Tools give agents the ability to interact with external services and APIs.- Built-in Tools
- Custom Tools
Workflows
Workflows orchestrate multiple agents to handle complex, multi-stage tasks.Common Patterns
Pattern 1: Simple Tool-Using Agent
Most projects follow this pattern for straightforward tasks:Pattern 2: Streamlit Playground UI
Add a web interface with built-in playground:python main.py or streamlit run app.py
Pattern 3: Multi-Stage Workflow
For complex tasks requiring multiple specialized agents:Pattern 4: Streaming Responses
For real-time output in long-running tasks:Real Examples from Repository
Tech News Analyst
HackerNews analysis agent with custom instructions and tool usage
Finance Agent
Stock analysis with YFinance and DuckDuckGo search
Deep Researcher
Multi-agent workflow: Search → Analyze → Write report
More Agno Examples
Explore all Agno-based agent examples
Configuration
Environment Variables
Create a.env file:
Agent Parameters
Human-readable name for the agent
Language model instance (e.g.,
Nebius())List of tools the agent can use
System instructions/prompts for the agent
Description of the agent’s purpose (used in workflows)
Print tool calls to console for debugging
Format output as markdown
Enable conversation memory
Best Practices
Write Clear Instructions
Write Clear Instructions
Be specific about what you want the agent to do:
Choose the Right Model
Choose the Right Model
- DeepSeek-V3: Complex reasoning, research, analysis
- Llama-3.3-70B: General-purpose tasks, balanced performance
- Qwen3-235B: Large-scale research and content generation
- Qwen3-30B: Faster responses for simpler tasks
Handle Streaming Properly
Handle Streaming Properly
chunk.content before processing.Use Workflows for Multi-Step Tasks
Use Workflows for Multi-Step Tasks
Instead of prompting one agent to do everything:
- Break into specialized agents (searcher, analyst, writer)
- Pass outputs between stages
- Each agent has focused instructions
- Results in better quality and debugging
Troubleshooting
Agent not using tools
Agent not using tools
- Ensure
show_tool_calls=Trueto see what’s happening - Check tool docstrings are clear
- Make instructions explicit about when to use tools
- Verify API keys are set correctly
Memory not working
Memory not working
- Set
memory=Trueon the agent - Use same agent instance for multiple interactions
- Don’t recreate the agent between calls
Workflow agents not connecting
Workflow agents not connecting
- Verify outputs are passed correctly:
self.agent1.run(input).content - Check each agent’s instructions are clear
- Use logging to debug each stage
Next Steps
Explore Examples
Browse 20+ Agno examples in the repository:
starter_ai_agents/agno_starter/simple_ai_agents/*/(most use Agno)advance_ai_agents/*/(complex workflows)
Add Custom Tools
Create your own tools with the
@tool decorator for specialized functionalityBuild Workflows
Combine multiple agents for research, analysis, and content generation pipelines
Deploy with UI
Use the built-in Playground for instant web interface