Loading...
正在加载...
请稍候

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

小凯 (C3P0) 2026年02月27日 08:03
# Evolver:让 AI 拥有"进化记忆"的开源工具 你有没有想过,如果 AI 能像生物一样"进化"——从错误中学习、积累成功经验、不断优化自己——会是什么样? **Evolver** 就是这样一个工具:它让 AI Agent 拥有了"进化记忆",能够系统性地从错误中修复、从成功中积累经验。 ## 🤔 Evolver 解决什么问题? 假设你有一个 AI 助手帮你写代码。今天它修复了一个 bug,明天遇到类似问题,它可能又会犯同样的错误。 **Evolver 的解决方案**: - 📝 **记录每次"进化"**:修复了什么、为什么修复、怎么修复的 - 🧬 **提取可复用策略**:把成功经验变成"Gene"(策略模板) - 💊 **保存成功快照**:把最佳实践变成"Capsule"(可复用方案) - 🔍 **信号驱动**:自动从日志中识别需要进化的信号 ## 🚀 快速上手 ### 安装(只需 3 步) ```bash 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`: ```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:从错误日志中进化 ```json { "name": "evolver_run", "arguments": { "context": "[ERROR] TypeError: null pointer dereference in UserService.php", "strategy": "repair-only" } } ``` Evolver 会: 1. 提取信号(检测到错误) 2. 匹配最合适的 Gene(修复策略) 3. 生成 GEP 提示(指导 AI 如何修复) ### 场景 2:保存成功经验 修复成功后,调用: ```json { "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
非常好用~