犀牛鸟 2026 研究笔记 estelledc.github.io

Agno 深度解读

“会写 Python 就会写 Agent,不搞 Spring Boot 式的 20 个配置文件”


一句话定位

Agno(前身 PhiData)是 Agent 框架中的极简主义者——1741 行核心 dataclass 定义了 Agent 的全部能力,190+ 内建工具开箱即用,用最少的抽象层实现最大的功能覆盖。

设计哲学上最精彩的地方

Agno 的核心信条是:Agent 框架不应该比你自己写的代码更复杂。整个 Agent 定义就是一个 Python dataclass,不用继承、不用装饰器模式、不用 Builder 模式。所有配置都是构造函数参数——你看到 Agent() 的签名就知道它能做什么

日常类比:Python 脚本。能跑就行,需要什么 import 什么。不搞 Java Spring 那种 20 个配置文件才能跑一个 Hello World 的事。Agno 追求的是”打开编辑器,5 分钟内 Agent 跑起来”的体验。

最精彩的设计决策是把 190+ 工具全部内建。LangChain 的工具通过 partner 包分散在几十个 pip 包里,每用一个新工具就要 pip install langchain-xxx。Agno 把搜索(DuckDuckGo/Google/Bing)、代码执行(Python/Shell/Docker)、数据处理(SQL/CSV/Pandas)、多媒体(Image/Audio/Video/PDF)全部打包在一起。“不需要额外安装”本身就是一种设计哲学——它降低的不是技术门槛,而是心理门槛。

LearningMachine:Agent 的自我进化

Agno 独有的”自我学习”机制值得关注。开启 learning=True 后,Agent 在执行过程中可以把成功策略存入长期记忆(向量数据库),下次遇到类似任务直接检索复用。这不是简单的对话历史——而是提炼后的经验知识

其他框架的 Memory 通常停留在”记住上几轮对话”的层面,Agno 的 LearningMachine 试图让 Agent 像人一样”积累经验”。虽然效果取决于 LLM 的提炼能力,但方向是对的。

局限性:极简的边界

1741 行的 Agent dataclass 违反了单一职责原则。身份、模型、工具、记忆、知识库、推理、结构化输出全部平铺在一个类里。随着功能持续增加,这个类只会越来越大,最终变成维护噩梦。

Team 的 4 种协作模式(coordinate/route/broadcast/tasks)虽然覆盖了常见场景,但相比 LangGraph 的图模型,表达力受限。你没法定义”Agent A 和 B 并行,C 等 A 完成后开始,D 等 B 和 C 都完成后汇总”这种复杂依赖关系。

状态管理也不如 LangGraph 精细——没有 Channel 系统来精确控制并发写入的冲突解决,也没有 Checkpoint 级别的中断恢复能力。

本地代码结构

agno/
├── libs/agno/agno/
│   ├── agent/
│   │   ├── agent.py        # 1741 行核心 Agent dataclass
│   │   └── session.py      # 会话管理
│   ├── team/
│   │   ├── team.py         # Team 协作(4 种模式)
│   │   └── session.py      # Team 会话
│   ├── models/             # LLM 适配器(OpenAI/Anthropic/Google 等)
│   ├── tools/              # 190+ 内建工具
│   ├── knowledge/          # 知识库(向量检索)
│   ├── memory/             # 记忆模块
│   ├── storage/            # 持久化后端
│   ├── playground/         # AgentOS Web 部署
│   └── reasoning/          # 推理引擎
├── cookbook/                # 使用示例
└── docs/                   # 文档

本地关键文件

文件 用途
libs/agno/agno/agent/agent.py 1741 行 Agent dataclass,框架核心
libs/agno/agno/team/team.py Team 协作,4 种模式实现
libs/agno/agno/tools/ 190+ 内建工具目录
libs/agno/agno/memory/agent.py AgentMemory 实现
libs/agno/agno/knowledge/agent.py AgentKnowledge 知识库
libs/agno/agno/playground/playground.py AgentOS 一行部署入口