AnyAgent

用统一 Python 接口运行并评估多种智能体框架。

Star 数
★ 1.3k
最近更新
1 个月前
License
Apache-2.0
主语言
Python

30 秒速览

运行形态
代码库 / SDK开发框架
可在哪里用
兼容但需适配OpenAI API(部分支持)
费用
软件免费,模型调用费用自付
上手难度
低 · 几分钟可跑通
开始前需要
Python 3.11+Shell / 命令行网络访问MCP Server
典型场景
需要在 TinyAgent、Google ADK、LangChain 等多个已支持框架之间采用同一创建与运行接口的 Python 团队。
不适合
  • 需要长期维护和持续新功能的团队,项目已软弃用
  • 只想用单一框架、不需要跨框架对比的开发者

这个 Agent 能做什么,适合哪些场景?

AnyAgent 是一个 Python 库,用于以统一方式使用和评估不同的智能体框架。其核心入口是 AgentConfig 与 AnyAgent:开发者可通过 AnyAgent.create() 选择框架,并用相同的配置模式提供模型、指令和工具。README 列出的支持范围包括 TinyAgent、Google ADK、LangChain、LlamaIndex、OpenAI Agents SDK、smolagents 与 Agno。一次 agent.run() 调用会产生 agent_trace,并且项目提供用于创建智能体评估的示例。它还提供 MCP 智能体和 A2A 服务、多智能体协作的教程入口,但项目已进入软弃用状态,后续不计划新增功能。

安装后,代码从 any_agent 导入 AgentConfig 和 AnyAgent,再调用 AnyAgent.create("tinyagent", AgentConfig(...)) 创建指定框架的智能体。AgentConfig 可包含 model_id、instructions 与工具列表;示例使用 mistral:mistral-small-latest,并传入 search_web 和 visit_webpage。随后调用 agent.run("Which Agent Framework is the best??") 执行请求,并将返回的 agent_trace 打印出来。项目还公开了评估、追踪、服务,以及 MCP 与 A2A 相关的文档和示例入口。

  1. 需要在 TinyAgent、Google ADK、LangChain 等多个已支持框架之间采用同一创建与运行接口的 Python 团队。
  2. 想为带网页搜索能力的智能体建立评估流程,并比较三种评估方法的开发者。
  3. 需要把 MCP 工具接入智能体的应用开发者。
  4. 计划通过 A2A 服务公开智能体,或让一个智能体作为另一个智能体工具的团队。
  5. 正在迁移到 tinyagent 前,仍需跨多个框架运行或评估现有智能体的研究人员。

如何安装或部署这个 Agent?

运行环境需要 Python 3.11 或更高版本。

pip install 'any-agent'

随后为所选模型提供商设置密钥。README 示例使用:

export MISTRAL_API_KEY="YOUR_KEY_HERE"

也可按所用提供商设置相应密钥,例如 OPENAI_API_KEY。

如何使用这个 Agent?

可直接使用 README 中的最小调用方式:

from any_agent import AgentConfig, AnyAgent
from any_agent.tools import search_web, visit_webpage
agent = AnyAgent.create(

"tinyagent",

AgentConfig(

model_id="mistral:mistral-small-latest",
instructions="Use the tools to find an answer",

tools=[search_web, visit_webpage]

)
)

agent_trace = agent.run("Which Agent Framework is the best??")
print(agent_trace)

在 Jupyter Notebook 中,如遇到 RuntimeError: This event loop is already running,先执行 import nest_asyncio 和 nest_asyncio.apply()。

这个 Agent 有哪些优点和局限?

优点
  • 通过 AnyAgent.create() 和 AgentConfig 为多个已列出的框架提供共同的创建与运行入口。
  • 明确覆盖智能体评估;入门示例包含对网页搜索智能体使用三种方法进行评估。
  • 提供 MCP、A2A 服务,以及“智能体作为工具”的多智能体教程入口。
局限
  • 项目处于软弃用状态:仅接受安全和缺陷修复,不计划新增功能。
  • 运行时要求 Python 3.11 或更高版本。
  • 模型调用需要为所选提供商配置 API 密钥;README 不提供统一的无凭据运行模式。
  • 所给材料没有列出各框架的安装选项,也没有给出评估 API 的完整配置细节。

这个 Agent 与同类方案有什么区别?

对于新项目,项目明确建议直接使用 mozilla-ai-tinyagent;AnyAgent 更适合必须在 Agno、Google ADK、LangChain、LlamaIndex、OpenAI Agents SDK 或 smolagents 等多个框架之间运行或评估智能体的场景。

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
AnyAgent 当前 41 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 1.3k 1 个月前 Python —
Agentic AI 工程课程 39 · 缺口较多 开发框架免费 + 模型费 ★ 6.6k 5 天前 Jupyter Notebook OpenAI API
Solace 智能体网格 35 · 缺口较多 命令行工具免费 + 模型费 ★ 4.9k 1 天前 Shell —
Youtu-Agent 27 · 缺口较多 命令行工具免费 + 模型费 ★ 4.6k 7 个月前 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
41/ 100 五分制 2.1 / 5
信任安全 0/29
可靠稳定 8/14
适用触发 12/18
规范维护 11/18
有效结果 7/13
证据核验 3/8
查看各维度的扣分理由
信任安全0 / 29 · 0.0/5

证据显示:仓库未提供权限模型、用户确认机制、数据流透明性、敏感数据处理、依赖安全审计、外部影响控制、回滚机制或来源归属的说明。所有信任相关标准均未得到满足,因此得分为0。

可靠稳定8 / 14 · 2.9/5

证据显示:README和pyproject.toml一致地描述了项目目的、依赖和用法,自洽性良好。依赖在PyPI上可获取,且版本范围明确,可用性较好。但失败消息方面,仅提及Jupyter的已知限制,未提供其他错误处理或诊断信息,因此得分较低。

适用触发12 / 18 · 3.3/5

证据显示:README明确了目标受众(需要跨框架运行或评估代理的开发者)和多种使用场景(如web搜索、评估、MCP、A2A)。能力边界通过支持框架列表和可选依赖清晰界定。触发精度通过明确的API和配置选项体现。环境适配方面,支持Python 3.11+,并提供了Jupyter的注意事项。

规范维护11 / 18 · 3.1/5

证据显示:README提供了清晰的信息架构,包括文档链接、快速入门、cookbook等。安装说明明确,支持可选依赖。命名稳定,API一致。提供了多个示例和FAQ(cookbook)。已知限制在README中提及(如Jupyter事件循环问题)。许可证为Apache-2.0,明确。版本控制通过setuptools_scm动态生成,但未提供CHANGELOG。维护责任通过贡献指南和软弃用声明体现。

有效结果7 / 13 · 2.7/5

证据显示:输出可用性方面,提供了AgentTrace对象和打印功能,但未详细说明输出格式。边际价值方面,作为跨框架统一接口,具有独特价值。成本效益方面,未提供性能或资源消耗数据,因此得分较低。

证据核验3 / 8 · 1.9/5

证据显示:README中的声明(如支持框架、功能)与pyproject.toml中的依赖和配置部分对应,但未提供独立的验证来源。跨来源佐证有限,主要依赖单一仓库。事实与推断的区分不明确,例如软弃用声明是推断而非事实。

风险与缓解建议
  • 源码中未见:最小权限约束只授予完成任务所需的权限:用专用账号或只读令牌,并限定可访问的目录和仓库。
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:数据流向说明运行时观察它连接了哪些外部服务(代理或防火墙日志);弄清数据去向之前不要输入敏感数据。
  • 源码中未见:敏感信息处理使用专用、低权限、可随时吊销的 API 密钥,不要复用生产凭据,也不要让密钥出现在日志里。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:外部影响披露先弄清它会写入、发送或修改哪些外部系统,用测试账号或测试仓库验证后再接入正式环境。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 源码中未见:来源归属可核验从官方仓库或包源安装,核对发布者和仓库地址,避免同名仿冒包。
  • 仓库处于软弃用状态,新项目建议使用mozilla-ai-tinyagent。
  • 未提供安全审计或权限模型,使用前需自行评估风险。
  • 依赖较多,且包含可选框架,安装时需注意版本兼容性。
证据充分度:低 评估于 2026年8月9日 审查版本 3e248d1c5a04 评估后仓库已有新提交,评分可能未覆盖最新改动
查看完整评分方法 →

最近版本

来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。

  1. 1.18.0
    发布说明摘录
    What's Changed * feat(tinyagent): Allow messages as input to agent.run. by @daavoo in https://github.com/mozilla-ai/any-agent/pull/906 Full Changelog: https://github.com/mozilla-ai/any-agent/compare/1.17.0...1.18.0
    在 GitHub 查看 ↗
  2. 1.17.0
    发布说明摘录
    What's Changed * feat: Add any-llm-args to config. by @daavoo in https://github.com/mozilla-ai/any-agent/pull/905 Full Changelog: https://github.com/mozilla-ai/any-agent/compare/1.16.1...1.17.0
    在 GitHub 查看 ↗
  3. 1.16.1
    发布说明摘录
    What's Changed * fix(tests): Clear ANY_LLM_KEY env var in unit tests by @peteski22 in https://github.com/mozilla-ai/any-agent/pull/903 * fix(smolagents): Reuse AnyLLM client instance to avoid event loop errors by @peteski22 in https://github.com/mozilla-ai/any-agent/pull/902 * fix(callbacks): Handle coroutines in before/after_agent_invocation by @daavoo in https://github.com/mozilla-ai/any-agent/pull/904 Full Changelog: https://github.com/mozilla-ai/any-agent/compare/1.16.0...1.16.1
    在 GitHub 查看 ↗

常见问题

新项目应该选择 AnyAgent 还是 tinyagent?
README 建议新项目直接使用 tinyagent。当你明确需要跨多个已支持框架运行或评估智能体时,AnyAgent 才是更贴切的选择。
运行需要哪些凭据?
需要为实际采用的模型提供商设置相应 API 密钥;示例使用 MISTRAL_API_KEY,并提到也可使用 OPENAI_API_KEY 等。
它能接入 MCP 或 A2A 吗?
可以。README 提供“Creating an agent with MCP”“Serve an Agent with A2A”及 A2A 多智能体系统的教程入口。
在 Jupyter 中出现事件循环错误怎么办?
README 指出可导入 nest_asyncio 并调用 nest_asyncio.apply(),以处理 RuntimeError: This event loop is already running。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents