A-Evolve

通过评测反馈自动迭代 Agent 工作区中的提示词、技能与记忆。

Star 数
★ 803
最近更新
1 个月前
主语言
Python

30 秒速览

可在哪里用
通用 · 跨平台OpenAI API · Claude API
开始前需要
Python 3.11+GitShell / 命令行网络访问本地文件系统MCP Server
典型场景
需要在 SWE-bench Verified 上持续改进代码修复 Agent 的研究团队,可从内置 swe-verified 种子工作区和适配器开始。
主要局限
效果依赖具体基准、基础模型、演化算法和任务设置;README 所列成绩不能证明自定义 Agent 会获得同等提升。

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

A-Evolve 是一个用于演化现有 Agent 的 Python 基础设施,而不是单独的终端用户 Agent。开发者将 Agent 工作区和评测适配器交给 `ae.Evolver`,系统以 Solve、Observe、Evolve、Gate、Reload 五个阶段运行迭代。它通过文件系统工作区管理可演化状态,包括 `manifest.yaml`、提示词、`SKILL.md` 技能、工具配置和 JSONL 记忆。演化引擎根据轨迹与评测反馈修改这些文件,并用保留任务验证候选变更;发生回归时可通过 Git 回滚。项目提供 SWE-bench Verified、MCP-Atlas、Terminal-Bench、SkillsBench 和 CL-Bench 等适配器示例,也允许接入自定义 Agent、评测和演化算法。

调用 Evolver.run(cycles=10) 后,A-Evolve 让 Agent 对一批任务执行 solve(),收集 Trajectory 和评测反馈,并把观察结果写入结构化日志。EvolutionEngine.step() 可分析工作区、观察记录、历史和试验结果,再修改提示词、技能或记忆文件。Gate 阶段使用保留任务验证修改;回归的修改通过 Git 撤销,接受的版本以 evo-1evo-2 等标签保存。自定义 Agent 只需继承 BaseAgent 并实现 solve(self, task: Task) -> Trajectory;自定义评测则实现 BenchmarkAdapter.get_tasks().evaluate()

  1. 需要在 SWE-bench Verified 上持续改进代码修复 Agent 的研究团队,可从内置 swe-verified 种子工作区和适配器开始。
  2. 构建 MCP 工具调用 Agent 的开发者,可使用 mcp-atlas 适配器,并让系统根据评测反馈增加或调整技能文件。
  3. 研究新的自我改进策略的算法作者,可实现 EvolutionEngine.step(),复用试验、历史和 Git 回滚组件。
  4. 已有自定义 Agent、但希望用统一评测闭环迭代提示词、技能和记忆的团队,可将其封装为 BaseAgent
  5. 需要在终端操作或技能发现任务上比较演化策略的评测人员,可使用 Terminal-Bench 或 SkillsBench 的内置示例。

如何安装或部署这个 Agent?

运行环境为 Python 3.11+。安装核心库:pip install a-evolve;若使用 Claude 支持:pip install a-evolve[anthropic];若使用 MCP-Atlas:pip install a-evolve[mcp];若使用 SWE-bench:pip install a-evolve[swe];全部可选组件:pip install a-evolve[all]。从源码开发可运行:git clone https://github.com/A-EVO-Lab/a-evolve.git && cd a-evolve,然后执行 pip install -e ".[all,dev]"。README 列出 Anthropic、OpenAI 和 AWS Bedrock 作为 LLM Provider 示例,但未说明凭据的具体配置方式;使用相应 Provider 前仍需自行完成其认证配置。

如何使用这个 Agent?

最小调用:import agent_evolve as ae;然后创建 evolver = ae.Evolver(agent="swe-verified", benchmark="swe-verified"),执行 results = evolver.run(cycles=10),并读取 results.final_scoreresults.converged。要接入自己的 Agent,继承 BaseAgent、实现 solve() 返回 Trajectory,再传入 ae.Evolver(agent=MyAgent("./my_workspace"), benchmark="mcp-atlas")。工作区应使用文档给出的文件系统契约,并由 Agent 在每轮后重新加载;系统会对接受的修改进行 Git 标记。

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

优点
  • 把可演化状态限定为普通工作区文件,使提示词、技能和记忆可被同一套演化流程处理,而无需了解 Agent 内部实现。
  • 支持通过 BaseAgent.solve()BenchmarkAdapterEvolutionEngine.step() 分别替换 Agent、评测和算法。
  • Gate 阶段使用保留任务验证候选修改,并以 Git 回滚和 evo-* 标签保留审计轨迹。
  • 提供多类内置评测适配器和种子工作区,覆盖代码修复、MCP 工具调用、终端操作、技能发现及持续学习评测。
局限
  • 效果依赖具体基准、基础模型、演化算法和任务设置;README 所列成绩不能证明自定义 Agent 会获得同等提升。
  • 工作区文件会被自动修改,且运行依赖 Git 式版本控制;接入前需要明确哪些提示词、技能和记忆文件可安全演化。
  • 虽然列出 Anthropic、OpenAI 和 AWS Bedrock Provider,README 未给出凭据配置、模型选择或成本控制的具体步骤。
  • Terminal-Bench 的任务域明确涉及 Docker,采用该适配器时可能需要相应容器运行环境。

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

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

Agent 源码审查 Star 最近更新 主语言 完整支持的平台
A-Evolve 当前 38 · 缺口较多 ★ 803 1 个月前 Python OpenAI API · Claude API
Webwright 浏览器编程代理 66 · 存在缺口 ★ 6k 1 个月前 Python Codex · Claude Code · OpenAI API · Claude API
hax 62 · 存在缺口 ★ 813 今天 C OpenAI API · Claude API
ReadmeAI - AI 驱动的 README 生成器 51 · 缺口较多 ★ 3k 1 天前 Python OpenAI API · Claude API

FollowAgents 如何评估这个 Agent?

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

证据显示仓库未提供权限管理、用户确认、数据流透明、敏感数据处理、依赖安全、外部影响、回滚或来源归属的明确实现或文档。README提到git回滚和审计跟踪,但未提供具体机制或代码证据。因此所有信任标准得分为0。

可靠稳定6 / 14 · 2.1/5

自一致性:README、pyproject.toml和测试文件在接口和功能描述上基本一致,但缺少完整代码验证。依赖可用性:依赖列表明确,但未验证版本可用性。失败消息:测试和文档中未提供错误处理或失败消息的详细说明。

适用触发12 / 18 · 3.3/5

受众和场景:README明确面向研究社区和开发者,提供了多种使用场景。能力边界:文档说明了框架的插件化设计,但未明确限制。触发精度:API设计清晰,但未提供详细触发条件。环境适配:支持多种LLM提供商和基准,但未提供环境配置细节。

规范维护10 / 18 · 2.8/5

信息架构:README结构清晰,提供了快速开始、架构、算法等章节。安装说明:提供了pip安装和源码安装指南。命名稳定性:API命名一致,但未提供版本历史。示例和FAQ:提供了代码示例和基准演示,但缺少FAQ。已知限制:未明确列出。许可证:MIT许可证明确。版本和变更日志:版本号存在,但无变更日志。维护责任:未明确维护者或贡献指南。

有效结果7 / 13 · 2.7/5

输出可用性:提供了清晰的API和示例,但未验证实际输出。边际价值:声称能提升基准性能,但未提供独立验证。成本效益:未提供成本分析或资源需求。

证据核验3 / 8 · 1.9/5

声明可追溯性:README中的基准结果未提供详细实验设置或复现步骤。跨来源佐证:仅依赖README声明,无外部验证。事实与推断分离:未明确区分事实和推断。

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

常见问题

它会直接训练或微调我的语言模型吗?
README 描述的核心机制是修改 Agent 工作区中的提示词、技能、工具配置和记忆文件,并未将模型权重训练列为 A-Evolve 的核心 API。
失败或性能下降的变更如何处理?
系统会在 Gate 阶段用保留任务验证候选变更;回归的修改通过 Git 回滚,接受的修改以 evo-* 标签记录。
能否接入自己的 Agent 和评测?
可以。自定义 Agent 实现 BaseAgent.solve(),自定义评测实现 BenchmarkAdapter.get_tasks().evaluate()
需要哪家模型提供商?
README 将 LLM Provider 设计为可替换接口,并列出 Anthropic、OpenAI 和 AWS Bedrock 示例;具体认证配置未在提供的材料中说明。
运行成本是多少?
提供的材料没有给出价格、令牌消耗或推荐的迭代预算。运行会调用所配置的模型 Provider,因此成本取决于所选模型和运行周期。
在 GitHub 查看 ↗ 安装 ↓

相关 Agents