【免费下载链接】evo
turns your codebase into an autoresearch loop — discovers what to measure, instruments the benchmark, then runs tree search with parallel subagents.
evo 是一个把代码库变成自动研究(autoresearch)循环的开源工具:先用/evo:discover自动发现要优化的指标并搭好 benchmark,再用/evo:optimize启动优化循环——编排器派发多个并行 subagent 各自在独立 worktree 中提假设、改代码、跑评测,保留提升分数的改动,丢弃失败的实验。本文带你用两条命令跑通整个 AI 代码优化流程。
evo 是什么:比“爬山法”更强的自动优化循环
传统的自动优化(如 Karpathy 的 autoresearch)本质是贪心爬山:试一下、保留或回滚、在单条分支上重复。evo 在这之上加了结构:
- 树搜索(Tree search):多个方向可以从任意已提交节点分叉,探索不会塌缩到一条路径
- 并行半自主 subagent:每个 subagent 在自己的 git worktree 里读 trace、提假设、跑多轮迭代
- 共享状态:失败 trace、注释、被丢弃的假设对每个 agent 可见
- Gates(门禁):回归测试或安全检查,不过关的实验即使分数更高也会被丢弃
- Dashboard:实时可视化最优分数与实验树
它运行在 Claude Code、Codex、Cursor、Kimi、OpenClaw、Hermes、Opencode、Pi 等 agent 框架上,实验可以跑在本地,也可以跑在 Modal、E2B、Daytona、AWS、Azure、SSH 等远程沙箱里。
三步安装:最快配置方法
# 1. 安装 evo CLI uv tool install evo-hq-cli # 2. 安装宿主 agent(二选一示例) npm install -g @anthropic-ai/claude-code # 或 @openai/codex # 3. 安装插件与宿主 hooks evo install claude-code # 或 codex / cursor / kimi / opencode 等如需远程后端,用对应 extra 安装,例如uv tool install 'evo-hq-cli[modal]'。完整的命令速查见 cli-quick-reference.md。
第一步:/evo:discover 自动发现优化指标并构建 benchmark
进入你的项目后,在宿主 agent 中执行:
/evo:discover make the JSON parser at src/parser.py fasterdiscover会探索仓库、回答“优化什么、benchmark 命令是什么、指标方向是 max 还是 min”——你也可以像上面这样直接把答案塞进命令,跳过提问。它会自动完成三件事:
- 构建评测:在 baseline worktree 中搭好 benchmark,并接好 trace 插桩(优先用 SDK 方式,见 sdk_node.js 与 sdk_python.py)
- 注册 gates:如果 benchmark 是新建的,自动附加一个“留出集分数下限”门禁,防止优化循环通过"返回常数、跳过工作、牺牲正确性换速度"来作弊
- 提交 baseline:跑出第一个实验,记下基线分数,并自动启动 Dashboard
discover 的详细流程定义在 discover/SKILL.md。
第二步:/evo:optimize 启动并行优化循环
/evo:optimize subagents=3 budget=5 stall=5这就是整个项目的核心。每个 round,编排器(orchestrator)会:
- 读状态:
evo scratchpad、evo frontier查看实验树、frontier 节点与失败模式 - 派 scan subagent 做跨实验分析:找出重复失败的根因、共性"墙"模式
- 写结构化 brief:每个 subagent 一份,包含 Objective(要攻击的瓶颈)、Parent node(从哪个实验分叉)、Boundaries(不要尝试什么)、Pointer traces(先研究哪些任务)
- 并行派发 N 个优化 subagent:每个在自己的 worktree 里
evo new→ 改代码 →evo run,分数提升且过 gate 才提交 - 收集结果、裁剪分支,然后进入下一轮,直到连续
stall轮(默认 5 轮)没有提升才自动停止
三个旋钮值得了解(参数说明见 optimize/SKILL.md):
| 参数 | 含义 | 怎么选 |
|---|---|---|
subagents=N | 每轮并行宽度 | 独占 GPU / 独占资源 → 1;CPU 轻量隔离任务 → 可以更大 |
budget=N | 每个 subagent 分支内的迭代深度 | 运行确定性高可以给更大 |
stall=N | 连续多少轮无提升则停止 | 默认 5 |
宽度选择有讲究:并行度过低浪费墙钟时间,过高则内存抖动、OOM,甚至干扰计时类 benchmark 的测量精度。选择前先通读 sizing-the-round.md,里面枚举了独占加速器、内存重型、共享可变 fixture、外部限流等情形。
Frontier 策略:下一轮往哪走
每轮结束后,编排器按策略选择从哪个已提交分支继续扩展:
- argmax——扩展分数最高的分支
- top_k——在 K 个最优中轮询
- epsilon_greedy——多数时候选最优,偶尔随机探索
- softmax——按分数加权采样
- pareto_per_task——保留聚合分数掩盖的"单项专家"
在 Dashboard 的 Frontier 标签页中即可切换并调参。
循环中的实用小技巧
- 无人值守:默认
autonomous on,循环跨轮次自动推进;想每轮停一下就evo autonomous off - 中途下指令:
evo direct可以在运行中注入用户级指令,agent 收到 banner 后evo ack确认 - 等待别用 while 轮询:用
evo wait --for process=<pid> --for log-growth=<log> --timeout 60m,进程退出、日志停更或超时任意一个条件触发即返回,见 evo-wait.md - 卡壳时自动补充创意:连续 3 个实验无进展或每 5 个提交实验,会并行派出 ideator(失败分析 / 文献扫描 / frontier 外推)产出新假设
Dashboard:实时监控你的 AI 代码优化进度
/evo:discover或evo init会自动启动 Dashboard 并打印 URL(默认http://127.0.0.1:8080,端口被占时自动顺延)。
顶栏四个指标一目了然:Best Score(当前最优及相对基线的提升)、Experiments(总数与 kept/skip/err 分布)、Frontier(可探索的开放分支数)、Active(正在运行的实验数)。中间是实验树——每个节点标注假设与分数,点击节点可看 SUMMARY / DIFF / TASKS 三个标签;底部是分数随时间的阶梯曲线。
不想开浏览器时,evo report会在终端直接渲染分数散点图,evo status、evo frontier、evo show <exp_id>则是最常用的只读排查命令。
收尾:/evo:ship 把胜出实验变成可合并的改动
循环停止后,别急着手动git diff——胜出 worktree 的 diff 通常混着调试打印、搜索过程中的反复修改,直接合并不干净。执行:
/evo:shipship 技能(ship/SKILL.md)会自动选出历史中分数最高的有效实验,展示 baseline → winner 的累计 diff 供你确认,然后重新推导出一个最小、干净、可复现胜出行为的改动:有 remote 就开 PR,否则合并进工作分支,并附上一份 mergeability 报告。指定具体实验则用/evo:ship exp_0042。
常见问题
Q:串行任务(比如只有 1 张 GPU)值得用 evo 吗?
值得。/evo:optimize subagents=1依然保留完整结构——round 之间的跨切面扫描、verifier 预检/事后审计、ideator 补充创意、frontier 选择与 stall 纪律,这些才是循环价值的核心,并行只是其中一环。
Q:实验会改坏我的仓库吗?
不会。每个实验在独立 worktree / 远程容器中运行,失败即丢弃,gate 不过不提交;所有状态写入都走evoCLI(evo new/evo run/evo discard等),由锁管理,避免手工改graph.json造成的竞态。
Q:如何升级?
evo update # 升级 CLI + 所有已安装宿主 evo update codex --force # 单个宿主;0.4.4 之前版本迁移建议加 --force小结
整个流程只有两条核心命令:
/evo:discover # 一次性:发现指标、构建 benchmark、注册 gates、提交基线 /evo:optimize # 启动优化循环:并行 subagent + 树搜索 + gates,直到分数停滞 /evo:ship # 收尾:把胜出实验蒸馏成可合并的改动evo 把"改代码 → 跑评测 → 保留/丢弃"这条循环从手工变成了有共享状态、有门禁、有观测面的自动研究系统。挑一个有清晰可测指标的目标(解析器提速、agent 任务成功率、模型质量等),让机器替你夜以继日地爬山,你只负责早上看 Dashboard 上的 0.94。
更多细节:README.md 中有完整的后端对照表与安装说明,Python/Node 两套评测插桩 SDK 分别在 sdk/python 与 sdk/node。
【免费下载链接】evo
turns your codebase into an autoresearch loop — discovers what to measure, instruments the benchmark, then runs tree search with parallel subagents.
相关推荐
Scalene AI 优化建议实战:从 profiling 到自动化代码优化
Scalene AI 优化建议实战:从 profiling 到自动化代码优化 本文围绕 Scalene 仓库中 test/automatic/README.md
开发工具性能测试AI 应用A-Evolve 完全指南:用 LLM 驱动的演化循环自动优化 AI Agent
A Evolve 完全指南:用 LLM 驱动的演化循环自动优化 AI Agent A Evolve 是一套面向任意领域、任意演化算法的 AI Agent 自我进
AI 技能人工智能大模型深度学习工作流自动化实战指南:从零代码到流程优化
工作流自动化实战指南:从零代码到流程优化 你是否曾遇到这样的困境:每天重复处理Excel数据直到深夜,错过重要会议?或者因为跨平台数据同步不及时,导致客户投诉?
工作流自动化低代码AI 应用人工智能AI AgentMCP 服务后端前端
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考