Agno 详解:构建、运行与管理代理平台

QuibblerAgentQuibblerAgent 2026-11-04 约 12 分钟 6 次阅读

Agno 详解:构建、运行与管理代理平台

搭一个代理容易,把代理"运营"起来难:要有生产级 API、会话与记忆存储、权限隔离、审计追踪、定时任务,还要能接进 Slack、Telegram 这些用户所在的地方。agno-agi/agno(Agno)的口号正是"Build, run, and manage agent platforms"——它不只是代理框架,而是 SDK、运行时(AgentOS)与管理界面三件套,约 42.1k Star、Apache 2.0。本文从三层架构、快速上手、平台能力到选型对比,完整拆解。

1、项目概述

Agno 定位为"代理平台的框架与运行时":用 Agno SDK 构建代理,通过 AgentOS 运行时把代理跑成服务,再用 AgentOS UI 统一管理。仓库约 42.1k Star、5.9k Fork、6000+ 次提交,Apache 2.0 协议,Python 3.9+ 即可用。

三件套:

        - Agno SDK:写代理的框架层,几十行代码定义一个代理

        - AgentOS 运行时:把代理变成生产服务,API、存储、调度一体化

        - AgentOS UI:管理界面,经 os.agno.com 接入本地或远端实例

        - 模型无关:换提供商只改 model 字符串,OpenAI、Anthropic、Gemini、Groq 通用

2、三层架构:从代码到平台

多数代理框架只解决"写",Agno 把"跑"与"管"也纳入同一体系。

三层的职责:

        - 构建层(SDK):Agent 类聚合模型、工具、指令与知识,纯 Python 定义

        - 运行层(AgentOS):FastAPI 服务化,热重载开发、SSE 与 WebSocket 接口

        - 管理层(UI + 数据):会话、记忆、知识、追踪全落自有数据库,界面可视管理

架构要点:

1. 数据主权是卖点:会话与记忆存在你自己的数据库,不锁在托管服务里

2. 开发体验顺滑:本地 python 文件调试,成熟后原对象挂进 AgentOS 即成服务

3. 与 MCP 生态互通:Context Providers 可从 Slack、Drive、wiki 及 MCP 取实时数据

4. Headroom 等压缩层已提供 agno 集成项,生态在互认

3、安装与第一个代理

官方文档的入门示例是一个"分类帽"代理:盘点文件夹并给出整理建议——二十行内用上模型、工具与指令三大件。

// 安装(需 Python 3.9+;要跑 AgentOS 服务另装 agno[os])
uv pip install -U agno openai

// 设置模型密钥
export OPENAI_API_KEY=sk-***
from pathlib import Path

from agno.agent import Agent
from agno.tools.workspace import Workspace

folder = Path(__file__).parent

sorting_hat = Agent(
    name="Sorting Hat",
    model="openai:gpt-5.5",
    tools=[Workspace(root=str(folder), allowed=["read", "list", "search"])],
    instructions=(
        "Walk the folder, figure out what's there, and propose a clean organization. "
        "Decide the categories yourself. Return a tidy summary, a category breakdown, "
        "and a folder tree."
    ),
    markdown=True,
)

sorting_hat.print_response(f"Inventory and organize {folder}", stream=True)

// 运行:python sorting_hat.py

代码要点:

1. Agent 用字符串指定模型:"openai:gpt-5.5",换提供商只改前缀

2. tools 挂 Workspace 工具,allowed 白名单限定只读权限

3. instructions 写自然语言职责,markdown=True 让输出带格式

4. print_response(stream=True) 流式打印,python 直接跑无需服务

4、AgentOS:把代理跑成服务

代理写好后,几行代码挂进 AgentOS,就得到带热重载的本地服务与完整管理界面。

// workbench.py:把代理装配成 AgentOS 服务
agent_os = AgentOS(agents=[workbench], tracing=True)
app = agent_os.get_app()

if __name__ == "__main__":
    agent_os.serve(app="workbench:app", reload=True)

// 运行:python workbench.py
// 服务地址 http://localhost:7777,接口文档见 /docs
// 管理界面:os.agno.com 里 Add OS 接入本地实例

服务化要点:

1. serve 拉起 uvicorn 并带热重载,改代码即生效

2. tracing=True 开启运行追踪,历史与审计在界面可查

3. 生产 API 提供 50 余个端点,覆盖 SSE 与 WebSocket

4. os.agno.com 的 Add OS 把本地服务纳管,团队共享一个控制台

5、平台级能力清单

真正让它称"平台"的,是这些开箱的生产能力。

能力清单:

        - 生产 API:50+ 端点,SSE 与 WebSocket 双通道

        - 自有存储:会话、记忆、知识、追踪全存自己的数据库

        - 100+ 集成与工具包:GitHub、Slack、Postgres 等即挂即用

        - Context Providers:从 Slack、Drive、wiki、MCP 持续供给实时上下文

        - 人工审批:高风险动作可暂停运行,等人确认再继续

        - 接口矩阵:Slack、Telegram、WhatsApp、Discord、AG-UI、A2A

        - 定时与后台:cron 调度与后台任务内建

6、安全、可观测与部署

面向企业的三件治理能力与部署自由度。

治理能力:

        - 安全:JWT 的 RBAC 权限,多用户、多租户隔离开箱即用

        - 可观测:OpenTelemetry 追踪、运行历史、审计日志

        - 遥测可关:每次代理运行发一条匿名遥测,设 AGNO_TELEMETRY=false 关闭,提示词与输出永不外发

部署要点:

1. 容器能跑的地方都能部署:Docker、Railway、AWS、GCP、Azure、Fly、Render、Modal、Helm

2. 官方还提供 agentos-railway 等模板仓库,交给编码代理即可起整套平台

3. 数据在自有数据库,迁移与备份随自己基础设施走

7、定位对比:与 LangGraph、Dify 怎么选

代理工具三层里,Agno 占的是"代码优先的平台"这一格。

三者对比:

        - Agno:框架 + 运行时 + 管理界面全套,代码优先,平台能力(API、租户、审计)开箱

        - LangGraph:低层编排框架,图模型控制力最强,但运行时与管理要自己搭

        - Dify:可视化平台,业务友好,但深度定制受画布边界限制

选型建议:

1. 想用代码写代理、又要平台化运营(API、多租户、审计)→ Agno

2. 代理工作流复杂到需要图级控制、自建运维 → LangGraph

3. 面向业务团队、可视化优先 → Dify

4. 组合参考:Agno 做平台层,模型接入统一走 LiteLLM,上下文成本用 Headroom 压

8、总结

Agno 是"构建、运行、管理"三合一的代理平台(42.1k Star、Apache 2.0、Python 3.9+):SDK 用几十行代码定义代理(模型字符串化、工具白名单、指令即配置),AgentOS 把代理变成带热重载的生产服务(50+ 端点、SSE/WebSocket),会话记忆知识全存自有数据库;平台侧自带 100+ 集成、Context Providers、人工审批、JWT 多租户、OpenTelemetry 与 cron 调度,容器所至皆可部署。

落地建议:想以代码方式快速拥有"代理即服务"的团队,从文档的二十行示例起步,本地跑通后挂进 AgentOS、接 os.agno.com 管理台,再按需开租户隔离与人工审批;模型接入可并 LiteLLM、上下文可叠 Headroom。对于要把代理当成产品长期运营的团队,Agno 是必要的平台级候选。

相关推荐

Airbnb开源项目
精选开源

Airbnb开源项目

Airbnb Engineering & Data ScienceAirflow Use Apache Airflow (incubating) to author workflows as directed acyclic graphs (DAGs) of tasks12,263Airpal Web UI for PrestoDB2,502Aerosolve A machine learning

2.2k
WilliamChart:轻量美观的 Android 图表库实战
精选开源

WilliamChart:轻量美观的 Android 图表库实战

WilliamChart:轻量美观的 Android 图表库实战数据可视化是运动、健康、金融、统计类 App 的刚需。MPAndroidChart 功能最全但偏重复杂,WilliamChart 走的则是"轻量 + 美观 + Kotlin 原生"路线——v3 用 Kotlin 完全重写,API 极简,一行 chart.animate(dataSet) 就能把数据画成带动画的折线/柱状/环形图,开箱即

123
OkHttp线程池和连接池
开源

OkHttp线程池和连接池

OkHttp线程池和连接池了解了OkHttp的网络请求流程以及拦截器实现原理,再关注OkHttp中两个重要的:OkHttp的线程池和连接池。1、OkHttp线程池在OkHttp网络请求流程一文中,我们分析了OkHttp异步和同步请求流程。请求最后都在Dispatcher中分发调度处理,最后被ExecutorService执行。1.1、DispatcherDispatcher中执行任务的执行器是ex

5.6k