EvoAgentX
从自然语言目标生成、执行并迭代优化多智能体工作流的 Python 框架。
- Star 数
- ★ 3.4k
- 最近更新
- 27 天前
- License
- NOASSERTION
- 主语言
- Python
- FA 评分
- 47/100 · 缺口较多
30 秒速览
- 可在哪里用
- 通用 · 跨平台OpenAI APIClaude API(部分支持)
- 开始前需要
- 典型场景
- 需要把“生成俄罗斯方块 HTML 代码”这类自然语言任务拆解为多智能体流程的开发者。
- 主要局限
- 首次可运行示例需要 OpenAI API 密钥;外部模型、搜索服务和部分工具还可能需要各自的提供商配置或密钥。
这个 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 当前 | 47 · 缺口较多 | ★ 3.4k | 27 天前 | Python | OpenAI API |
| Deuz SDK | 69 · 存在缺口 | ★ 697 | 3 天前 | TypeScript | OpenAI API · Claude API |
| 从零构建邮件智能体 | 49 · 缺口较多 | ★ 2.3k | 1 个月前 | Jupyter Notebook | OpenAI API |
| AgentScope 2.0 | 70 · 存在缺口 | ★ 32k | 今天 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
证据显示:框架提供HITL机制,允许人工审批关键操作(user_confirmation=2);工具集包含文件系统、shell、数据库等,但未明确权限最小化设计(least_privilege=1);数据流透明度有限,未详细说明数据如何被处理(data_flow_transparency=1);敏感数据处理未明确,如API密钥管理仅建议环境变量(sensitive_data_handling=1);依赖安全未审计,存在大量第三方依赖(dependency_security=1);外部效应如发送邮件等需人工确认,但未全面覆盖(external_effects=1);无回滚机制(rollback=0);来源归属明确,MIT许可证和第三方许可证声明(source_attribution=2)。
证据显示:代码结构一致,测试存在(self_consistency=2);依赖众多且部分未固定版本,可用性风险(dependency_availability=1);错误消息在示例中提供,但整体失败处理不明确(failure_messages=1)。
证据显示:面向研究者和开发者,场景多样(audience_and_scenarios=2);能力边界未明确,如工具权限范围(capability_boundaries=1);触发精度依赖LLM生成,未明确控制(trigger_precision=1);环境适配支持多种模型和工具,但依赖复杂(environment_fit=2)。
证据显示:文档结构清晰,有快速开始和教程(information_architecture=2);安装说明详细(install_notes=2);命名稳定但版本更新未明确(naming_stability=1);示例丰富(examples_and_faq=2);已知限制未明确列出(known_limitations=1);MIT许可证明确(license=2);版本号存在但无changelog(versioning_changelog=1);维护责任明确,有贡献指南和社区(maintenance_responsibility=2)。
证据显示:输出可用,如生成HTML报告(output_usability=2);边际价值高,提供进化算法(marginal_value=2);成本效益未评估,依赖大量外部API(cost_benefit=1)。
证据显示:论文和基准测试结果可追溯(claim_traceability=2);跨来源验证有限,仅内部测试(cross_source_corroboration=1);事实与推断分离不明确(fact_inference_separation=1)。
- 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
- 依赖众多且部分未固定版本,存在供应链风险。
- 敏感数据处理和权限最小化未明确,需谨慎使用。
- 无回滚机制,操作失败可能无法恢复。