Evolver:GEP 驱动的 AI Agent 自进化引擎,让经验变成可复用资产
故事要从 4 月 14 日说起,一个中国 AI 团队在 X 上发了一篇长文,每一句都带着火药味:"我们花了数月时间、熬过无数个通宵,才打造出 Evolver。而背靠雄厚资源的 Hermes Agent 团队,仅用 30 天就重新发明了它。"
控诉一方是中国团队做的 Evolver,已经获得 6700 多星;被他们指控的是硅谷 Nous Research 的 Hermes Agent,人家都 114000 星了。体量差十几倍,资源差几个量级。EvoMap 团队说 Hermes 的核心架构跟 Evolver 高度相似,连术语都能一一对应。
而被借鉴的 Evolver 本身确实不一般——一个 AI Agent 自进化引擎,上线 10 分钟登顶 ClawHub 热门榜首,在 Agent 自进化这个方向上走得最远。8 天猛涨 4800 Star。这场争议恰恰说明 Evolver 的设计有多不一般。
它在干什么
一句话:Evolver 是一个 GEP 驱动的 AI Agent 自进化引擎。说人话就是,让 Agent 从自己的运行日志里揪出错误信号,自动生成修复方案,然后把修复经验固化为可复用的数字资产,下次遇到同类问题直接调用,不用重新摸索。
它要解决 Agent 最致命的一个痛点:用完就忘。今天调好的 prompt、踩过的坑、摸索出来的最佳实践,任务一结束全部蒸发。换台机器、换个实例、换个人接手,一切从零开始,像高智商的临时工,能力不差但每次都要重新培训。
举个具体例子:你让 Agent A 调某个服务的 API,结果请求头格式写错了报 403,你花了两小时排查终于帮它改好了。过两天换了项目,Agent B 遇到同样的问题还是报 403,它不知道 Agent A 已经踩过这个坑了,同样的错误、同样的排查路径、同样的两小时又来一遍。
Evolver 不是简单地给 Agent 加个记忆模块。记忆只是记住了发生过什么,Evolver 做的是把经验变成了可调用的能力,这两件事差很远。
GEP 协议:三层资产
GEP 全称是 Genome Evolution Protocol,基因组进化协议。它把 Agent 的经验拆成了三种结构化资产:
- Gene(基因):最小的能力单元。比如读文件、执行 SQL、调用飞书 API,每个 Gene 都是一段经过验证的代码或 prompt 片段,可以理解成一张技能卡,Agent 一旦获得对应的能力就稳定可用了,拿到手就能用不用再教一遍
- Capsule(胶囊):完整的问题解决路径。Gene 是单张技能卡,Capsule 就是一整套攻略,比如自动修复 Git 冲突,从检测冲突到分析原因到选择策略到执行修复再到验证结果,整个流程封装成一个 Capsule,下次遇到同类问题直接照着做
- Event(进化事件):不可变的审计日志。每次进化都会记录完整上下文——什么信号触发的、用了哪个 Gene、做了什么操作、结果怎样,写进去就改不了,相当于飞机的黑匣子,出了事可以回溯
为什么非要分三层?因为它们干的活完全不一样:Gene 管单个能力怎么存,Capsule 管整条流程怎么复用,Event 管谁干了什么怎么查。
来看一个 Gene 的实际配置:
{
"type": "Gene",
"category": "repair",
"signals_match": ["disk_check_failed", "df_error"],
"summary": "修复 df 命令参数错误,使用 df -h 配合 awk 提取磁盘信息",
"strategy": [
"识别 df 命令的错误参数",
"替换为 df -h 命令",
"使用 awk 提取磁盘占用率",
"验证输出格式正确"
],
"constraints": { "max_files": 2, "forbidden_paths": [".env"] },
"validation": ["node tests/disk-check.test.js"]
}
signals_match 是触发条件,strategy 是执行步骤,constraints 是安全约束,validation 是验证命令。这就是 Agent 的技能卡,写好之后谁都能用。
真实场景跑一遍
假设你有一个运维 Agent,每天凌晨 3 点检查服务器磁盘空间,超过 90% 就清理 /tmp 并发飞书告警。整个过程分六步:
- Scan(扫描):Evolver 监控 Agent 的运行日志,发现磁盘检查脚本执行失败了
- Signal(提取信号):把乱七八糟的错误输出转化成人话——df 命令参数错误导致解析失败
- Intent(判断方向):这是一个 bug 需要修复,不是性能优化也不是新功能
- Mutate(生成方案):用
df -h配合awk提取磁盘信息,替代原来有问题的写法 - Validate(验证):在隔离环境里跑一遍新脚本,确认能正确输出磁盘占用率
- Solidify(固化):把修复后的逻辑封装成一个 Gene,取名
disk_check_v1,写入资产库
接下来几天,Evolver 又自动补上了 Docker 容器清理、日志轮转等能力,disk_check_v1 一步步升级到 v2、v3。不到一周,这个运维 Agent 已经自学了一套完整的磁盘运维技能,全程没有人类写一行代码。
来自 EvoMap 团队的真实测试数据显示,Evolver (Gene) 在 CritPt benchmark 上从 18.57% 提升到 27.14%,而作为对比 Gemini 3.1 Pro Preview 只有 17.7%。注意这不是微调模型也不是重新训练,纯粹是通过 Gene 驱动的进化实现的提升。
输出 prompt 而非代码补丁
Evolver 输出的是 prompt,不是代码补丁。代码补丁就像装修师傅直接进你家二话不说把墙砸了、水管换了,干完你才发现这墙不该砸。而 Evolver 给你的 prompt 更像一份装修方案,它会告诉你这面墙建议拆掉因为挡光了、水管建议换成 PPR 材质因为耐用、预算大概多少工期几天,你看完方案觉得行就执行,觉得不行可以改甚至直接扔掉。
也就是说它不会直接去改你的代码文件,生成的是一段结构化的指令(GEP prompt),告诉你应该怎么改、改哪里、用什么策略。这段 prompt 你可以自己看、自己决定用不用,也可以交给 OpenClaw 这样的宿主运行时自动消费执行。为什么不直接改代码?三个原因:安全(不会误改关键文件)、可控(每一步都有人工审批机会)、可审计(所有修改都有 Event 记录)。
进化策略与安全护栏
Evolver 给你准备了四种预设策略:日常用 balanced(50% 创新、30% 优化、20% 修复);想快速加能力切到 innovate(创新拉到 80%);刚做完大改动各种小问题冒出来用 harden(40% 修复加 40% 优化);线上 Agent 频繁崩溃紧急救火直接上 repair-only(80% 修复)。
安全方面也想得很周到:Gene 验证命令只允许 node/npm/npx 前缀,禁止命令替换和 shell 操作符;每条命令有 180 秒超时;核心源文件被保护,Agent 不能自己改自己的底层代码;修改范围有爆炸半径估算,每次最多动 60 个文件。还有内容寻址机制,每个 Gene 和 Capsule 都有一个通过 SHA256 哈希算出的唯一 asset_id,防篡改、防重复、快速查找。
安装
前置条件:Node.js 18 以上版本,项目文件夹得是 git 仓库。
npm install -g @evomap/evolver
装完进到项目根目录运行:
evolver
它会自动扫描 memory 文件夹里的日志,自动匹配对应的 Gene,然后在终端输出 GEP 指令。第一次运行建议加上 --review 参数,改动生效前会停下来让你确认。想让 Agent 持续进化用 evolver --loop,它会在后台自动跑。用 IDE 写代码的话,Cursor 和 Claude Code 用户一条命令搞定接入:evolver setup-hooks --platform=cursor 或 --platform=claude-code,OpenClaw 用户原生支持不用额外配置。
目前只支持 JavaScript/Node.js 生态,Python 支持还在路上,Windows 兼容也有已知 Issue。EvoMap 还用 A2A 协议让不同 Agent 在网络上共享进化经验,实现一个 Agent 学会、百万 Agent 继承。
项目基于 GPL-3.0 协议开源。
项目地址:https://github.com/EvoMap/evolver