EvoAgentX
从自然语言目标生成、执行并迭代优化多智能体工作流的 Python 框架。
- Star 数
- ★ 3.4k
- 最近更新
- 8 天前
- License
- NOASSERTION
- 主语言
- Python
- FA 评分
- 44/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 通用 · 跨平台OpenAI APIClaude API(部分支持)
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 需要把“生成俄罗斯方块 HTML 代码”这类自然语言任务拆解为多智能体流程的开发者。
- 不适合
- 需要开箱即用聊天产品或托管服务的团队
- 需要生产级金融投资建议的用户(示例仅为 alpha 版)
这个 Agent 能做什么,适合哪些场景?
EvoAgentX 是一个用于构建、评估和演化基于 LLM 的智能体与智能体工作流的开源框架。它以自然语言目标为输入,使用 WorkFlowGenerator 生成 WorkFlowGraph,再由 AgentManager 创建工作流中的智能体,并通过 WorkFlow.execute() 执行。项目提供短期与长期记忆、HITLManager 人机协作机制,以及搜索、代码执行、文件、数据库、图像和浏览器等工具包。它集成 TextGrad、MIPRO、AFlow 和 EvoPrompt 等工作流或提示词优化算法,并提供基准与评估教程。它以 Python 库形式安装和调用,不是托管式聊天产品;模型调用、外部搜索、浏览器和数据库等能力取决于所配置的提供商、工具和凭据。
开发者先配置 OpenAILLMConfig 和 OpenAILLM,随后将目标传入 WorkFlowGenerator(llm=llm).generate_workflow(goal) 以生成工作流图。AgentManager.add_agents_from_workflow() 根据该图创建智能体,WorkFlow(graph=..., agent_manager=..., llm=...).execute() 运行工作流并返回输出。生成器可接收 tools 列表,例如 ArxivToolkit,使其在生成工作流时为合适的智能体分配工具;项目还提供搜索、HTTP 请求、文件操作、命令执行、数据库、图像和浏览器自动化工具包。HITLInterceptorAgent 可在目标智能体执行指定动作前暂停流程,要求人工批准或拒绝;工作流图还可 display() 并通过 save_module() / from_file() 保存和加载。
- 需要把“生成俄罗斯方块 HTML 代码”这类自然语言任务拆解为多智能体流程的开发者。
- 希望在 HotPotQA、MBPP 或 MATH 等任务上,用 TextGrad、AFlow、MIPRO 或 EvoPrompt 优化现有工作流提示词或结构的研究人员。
- 需要检索并汇总指定关键词和时间范围内 arXiv 论文的研究团队,可为工作流提供 ArxivToolkit 或 MCP 工具。
- 需要在发送邮件等敏感动作前加入人工批准节点的应用开发者,可使用 HITLInterceptorAgent。
- 需要让工作流调用搜索、HTTP、文件系统、PostgreSQL、MongoDB、FAISS 或浏览器工具的 Python 开发团队。
如何安装或部署这个 Agent?
使用 pip 安装:
pip install evoagentx也可直接从仓库安装:
pip install git+https://github.com/EvoAgentX/EvoAgentX.git本地开发示例使用 Python 3.11:创建并激活 conda 环境后,运行 pip install -r requirements.txt,或运行 pip install -e .。
如何使用这个 Agent?
先设置 OpenAI 凭据,例如在 Linux/macOS 中:
export OPENAI_API_KEY=<your-openai-api-key>然后创建模型和执行首个工作流:
import os
from evoagentx.models import OpenAILLMConfig, OpenAILLM
from evoagentx.workflow import WorkFlowGenerator, WorkFlow
from evoagentx.agents import AgentManageropenai_config = OpenAILLMConfig(model="gpt-4o-mini",
openai_key=os.getenv("OPENAI_API_KEY"),
stream=True,
output_response=True)
llm = OpenAILLM(config=openai_config)
goal = "Generate html code for the Tetris game"
workflow_graph = WorkFlowGenerator(llm=llm).generate_workflow(goal)
agent_manager = AgentManager()
agent_manager.add_agents_from_workflow(workflow_graph, llm_config=openai_config)
workflow = WorkFlow(graph=workflow_graph, agent_manager=agent_manager, llm=llm)
output = workflow.execute()
print(output)如需工具,把例如 ArxivToolkit() 放入 WorkFlowGenerator 的 tools 参数和 AgentManager 的 tools 参数。除 OpenAI 外,README 说明可通过原生适配或 LiteLLM、SiliconFlow、OpenRouter 接入 Qwen、Claude、DeepSeek、Kimi 等模型;相应配置细节未在所给内容中展开。
这个 Agent 有哪些优点和局限?
- 可从单个自然语言目标生成结构化多智能体工作流,并提供生成、实例化和执行的明确 Python API。
- 将工作流构建、评估与演化放在同一框架中,且明确集成 TextGrad、MIPRO、AFlow 和 EvoPrompt。
- 工具覆盖搜索与 HTTP、文件与命令、MongoDB/PostgreSQL/FAISS、图像以及两类浏览器自动化,并支持 MCP 工具。
- HITLManager 与 HITLInterceptorAgent 支持在特定动作前进行人工批准或输入收集。
- README 明确列出 OpenAI、Qwen,以及经 LiteLLM、SiliconFlow 或 OpenRouter 接入多个模型的路径,也提到本地部署模型可尝试 LiteLLM。
- 首次可运行示例需要 OpenAI API 密钥;外部模型、搜索服务和部分工具还可能需要各自的提供商配置或密钥。
- CMDToolkit 可执行 shell/CLI 命令,StorageToolkit 和 FileToolkit 可操作文件;采用时需要自行按运行环境建立权限与隔离边界。
- DockerInterpreterToolkit 适用于隔离代码执行,但 Docker 运行时及其部署、安全配置没有在所给内容中说明。
- README 将股票分析工作流称为 alpha 版本,并建议加入更多指标和分析工具后再作为实用投资助手使用。
- 所给仓库元数据标示许可证为 NOASSERTION,而 README 声称采用 MIT License;采用前应核实实际许可证文件与适用条款。
这个 Agent 与同类方案有什么区别?
EvoAgentX 将 TextGrad、MIPRO、AFlow 和 EvoPrompt 列为已集成的演化算法,而不是只提供其中单一算法。README 还说明它在 GAIA 验证集场景中用于优化 Open Deep Research 和 OWL 的提示词;所给内容未提供与这些项目的统一功能或性能对比。
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| EvoAgentX 当前 | 44 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 3.4k | 8 天前 | Python | OpenAI API |
| Deuz SDK | 76 · 表现良好 | 代码库 / SDK免费 + 模型费 | ★ 508 | 22 天前 | TypeScript | OpenAI API · Claude API |
| 企业级 AI Agent 平台 | 57 · 缺口较多 | 自托管服务 | ★ 152 | 今天 | Python | — |
| 从零构建邮件智能体 | 46 · 缺口较多 | 代码库 / SDK免费 + 模型费 | ★ 2.4k | 2 个月前 | Jupyter Notebook | OpenAI API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 列出 shell、檔案、資料庫、瀏覽器及 HTTP 工具,權限可延伸至本機與外部服務,但所示 Agent 核心沒有細粒度權限策略,故最小權限與外部效果僅部分處理。HITL 範例提供執行前批准,但須明確啟用且只示範特定動作;資料流與副作用告知主要停留在工具清單及範例。Quickstart 提供環境變數與 .env 金鑰設定及避免提交提示,然而 README 的繁體中文金鑰段落未保留該提示,且未說明記憶資料的保護方式。依賴分組及部分版本範圍可見,但沒有安全審核證據。未見撤銷或回復機制。LICENSE 列出 MIT 與部分第三方來源,支持來源歸屬得 2 分;第三方授權清單並非完整來源追溯。
快速開始文件說明 WorkflowResult 的成功與錯誤欄位,Agent 程式也有輸入斷言及操作準備流程,錯誤可讀性有一定支撐。安裝文件對 Python 最低版本互相矛盾(英文為 3.11,中文為 3.10;pyproject.toml 為 >=3.10),而 README 提供的安裝方式及 pyproject 選用依賴清單也未完全一致,因此自洽與依賴可用性只部分成立。沒有執行證據,未據此推斷執行可靠性。
文件面向研究者、開發者與工作流工程師,列出研究、問答、程式生成及工具驅動情境,受眾和場景有實質說明。能力邊界僅零散提到股票示範為 alpha、且需更多金融指標;廣泛的「自我進化」及真實世界互動宣稱沒有相應限制說明。以自然語言目標生成工作流是明確入口,但何時適用、何時需要人工設計的指引有限。文件提到 Python、Conda、Windows 與 Linux/macOS 金鑰設定,然而版本文件衝突且環境相容性細節不足。
README、安裝、快速開始、模組與教學等資訊架構清楚,提供 pip/source/Conda 路徑及可選功能依賴。範例涵蓋工作流、工具及 HITL,並展示錯誤輸出欄位;未見 FAQ。已知限制有 alpha 示範與未完成路線圖,但沒有系統性限制清單。LICENSE 明確列 MIT 及部分第三方授權,惟套件 metadata 為 MIT 而輸入提供的 license metadata 是 NOASSERTION,且第三方清單有限,故非滿分。pyproject 有 0.1.4 版本,但此材料未提供清晰版本變更紀錄。作者欄為團隊與聯絡信箱,README 提供聯絡方式和回覆承諾;維護責任與更新流程仍不夠具體。
快速開始可產生工作流圖、建立 Agent 並取得結構化結果,示例直接說明如何保存、載入及顯示,輸出可供程式使用。框架把生成、評估、演化、記憶和工具整合在一處,對需組合這些能力的開發者有明確增值。成本效益僅部分可判斷:核心及多組選用依賴量大,需 LLM 金鑰且文件未量化 API、運算或維護成本。
功能主張多連到具體模組、範例、教學及論文,且 README 與 Quickstart 的基本工作流步驟相互呼應,故可追溯性尚可。不同來源的佐證有限:所示 Agent 程式、測試、文件與依賴設定並未逐項驗證 README 列出的所有能力;測試檔僅為樣本,不能作為整體測試充分性的證明。基準數字與強效宣稱以文件表格呈現,但本材料未附可核對的完整方法和產物,事實與推論的界線僅部分清晰。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 所列工具包含 shell 命令、檔案與資料庫寫入、瀏覽器及外部 API;在授予 Agent 工具前,請檢查具體工具權限與資料流。
- HITL 範例預設未啟用,且只攔截指定代理與動作;不要假定所有外部副作用都會要求批准。
- 安裝文件對最低 Python 版本存在 3.10 與 3.11 的矛盾;先核對目標 revision 的套件設定及所需選用依賴。
最近版本
来自该项目 GitHub Releases 的最新发布记录,说明为上游原文摘录,未经本站改写或测试。
-
v0.1.4 v0.1.4 Release
发布说明摘录
This release improves workflow orchestration, parameter validation, and overall compatibility. Highlights - Improved workflow execution and graph handling, with better compatibility across old and new workflow patterns. - Added stronger validation for tool and action parameters through stricter JSON schema checks. - Normalized LLM-generated parameter types to reduce runtime mismatches. - Improved workflow task progression and completion handling. - Added utility support for async and mixed sync/async execution paths. …在 GitHub 查看 ↗ -
v0.1.3 v0.1.3 Release
发布说明摘录
Release Notes This release focuses on the agent/tool-calling upgrade and provider compatibility improvements. Highlights - Refactored CustomizeAgent and CustomizeAction to support structured inputs/outputs, JSON Schema-backed parameters, and more robust tool orchestration. - Added native function-calling support for providers that speak the OpenAI-style tool protocol, with a fallback prompt-based path for others. - Improved OpenRouter support with prompt caching, provider-aware request shaping, and cache-write cost warnings. …在 GitHub 查看 ↗ -
v0.1.2 v0.1.2 Release
发布说明摘录
Release Highlights This release upgrades EvoAgentX core LLM provider support and improves structured output handling. LLM Provider Updates - Updated OpenAILLM and OpenRouterLLM to support sync/async generation, streaming usage tracking, and tool-call output formatting. - Refactored AliyunLLM and SiliconFlowLLM to use OpenAI-compatible clients. - Improved LiteLLM compatibility with OpenAI-style response and cost handling. - Added streaming cost tracking via usage chunks where providers support it. …在 GitHub 查看 ↗
常见问题
运行最小示例需要什么凭据?
能否使用本地模型或 Claude?
如何在人为关键决策上保留控制权?
框架会访问网络、文件或命令行吗?
谢谢反馈,我们会据此改进页面。