any-agent

一套代码跑遍多个 Agent 框架,还能直接对比评估

any-agent 是一个 Python 开发框架,目标是给不同 AI Agent 框架提供统一的使用与评估接口。当前 Agent 生态碎片化严重,LangChain、LlamaIndex、AutoGen、CrewAI 等各有 API 和抽象,切换或对比成本很高。any-agent 通过一层适配抽象,让开发者用同一套代码调用不同框架构建 Agent,并内置评估能力,方便横向对比效果、成本和稳定性。项目还涉及 a2a、MCP 等协议关键词,说明在工具调用与多 Agent 互操作方向有布局。适合需要快速试验多种 Agent 方案、做选型或基准测试的团队,减少重复接入工作。

开源 free 开发框架
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1219
维护状态 较活跃
是否开源
定价模式 free

项目数据

分类开发框架
开发团队mozilla-ai
所属国家
定价模式free
价格说明开源免费,Mozilla 项目
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型a2a,agent-evaluation,agents,ai,mcp
GitHub 星标★ 1219
30天Star增速
HF 下载量
上线时间2025-03-25 00:00:00
最近更新2026-09-16 00:00:00
维护状态较活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-09-13
浏览次数0

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 环境(支持版本见项目 pyproject.toml)
  • 已安装 pip
  • 所用模型提供商的 API Key(如 Mistral、OpenAI)
  • 如需在 Jupyter Notebook 中运行,需额外安装 nest_asyncio

安装与启动步骤

  1. 1安装 any-agent

    在终端用 pip 安装核心包。README 提示:若要用某框架,需在安装命令里带上对应框架选项,可选值见 pyproject.toml。

    pip install 'any-agent'
  2. 2配置模型密钥

    根据所选模型提供商导出对应 API Key 环境变量。示例用 Mistral,换成 OpenAI 等其他厂商时用相应变量名。

    export MISTRAL_API_KEY="sk-xxxxxxxx"
  3. 3编写 Agent 脚本

    所有 Agent 系统的导入方式统一:从 any_agent 引入 AgentConfig 和 AnyAgent,指定框架名、model_id、instructions 和 tools。

    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)
  4. 4运行脚本

    把上一步代码保存为 py 文件后执行,终端会打印出 Agent 的执行轨迹 agent_trace。

    python any_agent_example.py
  5. 5Jupyter 兼容处理

    在 Jupyter Notebook 中运行 AnyAgent 前必须先执行这两行,否则会报 RuntimeError: This event loop is already running。

    import nest_asyncio
    nest_asyncio.apply()

关键配置

配置项必填说明示例
MISTRAL_API_KEYMistral 模型密钥,README 示例所用提供商的环境变量sk-xxxxxxxx
OPENAI_API_KEY改用 OpenAI 模型时需要设置的对应厂商密钥sk-xxxxxxxx
model_idAgentConfig 中的模型标识,格式为 厂商:模型名mistral:mistral-small-latest
instructionsAgentConfig 中的系统指令,告诉 Agent 如何行动Use the tools to find an answer
toolsAgentConfig 中的工具列表,可传入 search_web、visit_webpage 等[search_web, visit_webpage]

如何确认成功

运行脚本后终端打印出 agent_trace(Agent 执行轨迹)即表示调用成功。

常见问题

Q:怎么指定要使用的 Agent 框架?

A:安装时在 pip install 命令中带上计划使用的框架选项,并在 AnyAgent.create 的第一个参数填框架名(示例为 "tinyagent"),可选值见 pyproject.toml 与官方文档。

Q:Jupyter 里报 RuntimeError: This event loop is already running

A:这是 Jupyter Notebook 的已知限制。在运行 AnyAgent 前加上 import nest_asyncio 和 nest_asyncio.apply() 两行即可解决。

Q:不想用 Mistral 模型怎么办?

A:设置对应提供商的 API Key(如 OPENAI_API_KEY),并把 AgentConfig 里的 model_id 改成该厂商的模型标识。

Q:新项目还适合用 any-agent 吗?

A:项目已进入 soft deprecation,新项目推荐改用 mozilla-ai-tinyagent;只有确实需要跨多个框架运行或评估 Agent 时才用 any-agent。

注意事项

  • any-agent 处于 soft deprecation 状态,仅接受安全/缺陷修复 PR,不再规划新功能。
  • 支持跨 Agno、Google ADK、LangChain、LlamaIndex、OpenAI Agents SDK、smolagents 等框架统一调用与评估。
  • 多 Agent 场景可通过 Agents-As-Tools 方式实现,详见官方 Tools 文档。
  • README 未给出 Python 版本和框架可选值,安装前请查阅 pyproject.toml 与官网文档。

核心亮点

  • 统一接口屏蔽不同 Agent 框架的 API 差异,切换框架不用重写业务逻辑
  • 内置评估能力,可对多个框架做横向效果对比,便于选型
  • 覆盖 a2a、MCP 等新兴协议,工具调用和多 Agent 互操作有前瞻性

不足之处

  • 项目星标约 1200,生态和文档成熟度仍在成长阶段
  • 统一抽象可能无法完全覆盖各框架的高级或独有特性

适用场景

  • 团队在多个 Agent 框架间做技术选型和基准测试
  • 需要快速原型验证不同框架效果,避免重复接入
  • 构建跨框架、跨协议的多 Agent 协作与评估流程

替代项目

LangChain、LlamaIndex、AutoGen

项目介绍

any-agent 是一个开发框架领域的开源项目,官方简介:A single interface to use and evaluate different agent frameworks。项目使用 Python 开发,在 GitHub 上获得 1200 星标。

同类项目推荐

langchain 开源

组装 AI 应用的乐高积木,从想法到上线不换工具

The agent engineering platform.

★ 146451 2026-08-09
transformers 开源

全球最大的模型仓库全家桶,想用的模型一把抓

Transformers: the model-definition framework for state-of-the-art machine learning m···

★ 166251 2026-08-09
bruno 开源

把 API 测试当代码管理,用 Git 搞定协作与版本追踪

Opensource IDE For Exploring and Testing API's (lightweight alternative to Postman/I···

★ 46994 2026-08-12