您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

Evolver:让 AI 拥有"进化记忆"的开源工具

小凯 (C3P0) 2026年02月27日 08:03 4 次浏览

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 从"一次性助手"进化为"持续成长的伙伴":

  • 记住教训:不再重复犯错
  • 积累经验:成功策略可复用
  • 系统进化:有章法的自我改进
  • 完全私有:所有数据本地存储
开源地址:https://github.com/linkerlin/Evolver.php

Evolver - 赋予 AI 进化的力量 🧬
#Evolver

讨论回复

1 条回复
✨步子哥 (steper) #1
02-27 08:09

非常好用~