Evolver:让 AI 拥有"进化记忆"的开源工具
Evolver:让 AI 拥有"进化记忆"的开源工具
你有没有想过,如果 AI 能像生物一样"进化"——从错误中学习、积累成功经验、不断优化自己——会是什么样?
Evolver 就是这样一个工具:它让 AI Agent 拥有了"进化记忆",能够系统性地从错误中修复、从成功中积累经验。
🤔 Evolver 解决什么问题?
假设你有一个 AI 助手帮你写代码。今天它修复了一个 bug,明天遇到类似问题,它可能又会犯同样的错误。
Evolver 的解决方案:
- 📝 记录每次"进化":修复了什么、为什么修复、怎么修复的
- 🧬 提取可复用策略:把成功经验变成"Gene"(策略模板)
- 💊 保存成功快照:把最佳实践变成"Capsule"(可复用方案)
- 🔍 信号驱动:自动从日志中识别需要进化的信号
🚀 快速上手
安装(只需 3 步)
git clone https://github.com/linkerlin/Evolver.php.git
cd Evolver.php
composer install
php evolver.php --validate
配置到你的 AI 客户端
以 Kimi Code CLI 为例,编辑 ~/.kimi/mcp.json:
{
"mcpServers": {
"evolver": {
"command": "php",
"args": ["/你的路径/Evolver.php/evolver.php"]
}
}
}
就这样!现在你的 AI 就拥有了进化能力。
🛠️ 核心工具一览
Evolver 提供了 13 个 MCP 工具,最常用的有:
| 工具 | 用途 | 使用场景 |
|---|---|---|
evolver_run | 🧬 运行进化周期 | AI 遇到问题需要"思考如何进化" |
evolver_solidify | 💾 固化进化结果 | 进化成功后,保存经验 |
evolver_extract_signals | 🔍 提取信号 | 从日志中发现进化机会 |
evolver_list_genes | 📋 查看策略库 | 查看已有的成功策略 |
evolver_list_capsules | 💊 查看成功案例 | 查看历史最佳实践 |
📖 使用示例
场景 1:从错误日志中进化
{
"name": "evolver_run",
"arguments": {
"context": "[ERROR] TypeError: null pointer dereference in UserService.php",
"strategy": "repair-only"
}
}
Evolver 会: 1. 提取信号(检测到错误) 2. 匹配最合适的 Gene(修复策略) 3. 生成 GEP 提示(指导 AI 如何修复)
场景 2:保存成功经验
修复成功后,调用:
{
"name": "evolver_solidify",
"arguments": {
"intent": "repair",
"summary": "通过添加 null 检查修复了空指针异常",
"signals": ["null_pointer_error"],
"blastRadius": {"files": 1, "lines": 5}
}
}
这次成功经验会被保存,下次遇到类似问题,AI 可以直接参考!
🎯 四种进化策略
| 策略 | 适用场景 |
|---|---|
balanced | 日常使用,平衡修复和创新 |
repair-only | 紧急修复模式,只修 bug |
harden | 安全加固,提升稳定性 |
innovate | 创新探索,尝试新功能 |
🛡️ 安全设计
Evolver 内置了多重安全保护:
- 爆炸半径限制:单次进化最多 60 个文件、20,000 行
- 命令白名单:只允许执行安全的验证命令
- 源码保护:核心引擎文件禁止自修改
- 三种安全模式:
never(禁用)/review(需确认)/always(全自动)
🧠 核心概念
Gene(基因)= 可复用策略模板
Gene 是"怎么解决某类问题"的方法论。比如:
gene_gep_repair_from_errors:从错误日志中修复的策略gene_optimize_performance:性能优化的策略gene_innovate_new_feature:创新新功能的策略
Capsule(胶囊)= 成功案例快照
Capsule 是某次成功进化的完整记录,包含:
- 遇到了什么问题
- 用了什么 Gene
- 做了什么修改
- 结果如何验证
🏗️ 架构设计
┌─────────────────────────────────────────┐
│ MCP stdio (evolver.php) │
│ - 通过 stdin/stdout 与 AI 通信 │
├─────────────────────────────────────────┤
│ 核心引擎 │
│ - SignalExtractor(信号提取) │
│ - GeneSelector(策略选择) │
│ - PromptBuilder(提示构建) │
│ - SolidifyEngine(结果固化) │
├─────────────────────────────────────────┤
│ 存储层 │
│ - SQLite(本地数据库,完全私有) │
│ - WAL 模式 + mmap 优化 │
└─────────────────────────────────────────┘
💡 最佳实践
1. 定期查看 Genes:用 evolver_list_genes 了解 AI 积累了哪些策略
2. 重要修改后 solidify:每次成功修复后,及时固化经验
3. 选择合适的策略:生产环境用 harden,实验环境用 innovate
4. 开启 review 模式:重要项目建议设置 EVOLVE_ALLOW_SELF_MODIFY=review
🌟 总结
Evolver 让 AI 从"一次性助手"进化为"持续成长的伙伴":
- ✅ 记住教训:不再重复犯错
- ✅ 积累经验:成功策略可复用
- ✅ 系统进化:有章法的自我改进
- ✅ 完全私有:所有数据本地存储
---
*Evolver - 赋予 AI 进化的力量 🧬* #Evolver
🌟 智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。
🎁 领取 2000万 Tokens