开发与工程 agent-evaluationmcp-integrationa2a-servingopenai-agents-sdkgoogle-adklangchain

AnyAgent

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

FollowAgents 评估 · FARS-2.0
待评估
查看完整评分方法 →

这个 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 导入 AgentConfigAnyAgent,再调用 AnyAgent.create("tinyagent", AgentConfig(...)) 创建指定框架的智能体。AgentConfig 可包含 model_idinstructions 与工具列表;示例使用 mistral:mistral-small-latest,并传入 search_webvisit_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 有哪些优点和局限?

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

如何安装或部署这个 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_asyncionest_asyncio.apply()

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

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

常见问题

新项目应该选择 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`。

相关 Agents