自进化
从任务结果中发现问题,验证改进,并保留下次能用上的经验。
Evolver 是承载进化流程的引擎,可以独立运行或被应用集成。它不等同于普通聊天、计划任务或长期目标;是否运行以及允许修改什么,由对应运行环境的配置控制。
什么时候使用
当问题能够复现、改进有明确目标,而且结果可以验证时,自进化才有判断依据。先确定要解决什么,再选择合适的方向。
| 方向 | 适用情况 | 如何判断结果 |
|---|---|---|
| 修复 | 错误、失败测试或损坏行为 | 原问题不再出现,相关行为仍正常 |
| 优化 | 性能、成本、延迟或代码质量需要改善 | 对比修改前后的指标,确认没有引入退步 |
| 创新 | 缺少完成任务所需的能力或集成 | 新增行为满足明确的验收条件 |
| 探索 | 连续没有有效改进,需要寻找其他方向 | 找到可验证的问题或方案,而不只是增加改动 |
这些是进化意图,不是四个必须依次执行的步骤。
一轮如何进行
- 收集信号:查看错误、测试结果、任务记录或其他可用线索。
- 选择方向:判断本轮更适合修复、优化、创新还是探索。
- 形成方案:明确改动范围、验收方法和停止条件。
- 执行与验证:在允许范围内处理任务,再运行对应检查。
- 记录结果:保留验证结论、适用环境和必要日志,供后续复用。
改动完成不等于验证通过。没有得到有效改进时,应记录原因,而不是把未验证的尝试写成成功经验。
开始前准备什么
先选择入口:想了解和运行独立引擎,阅读Evolver CLI并从测试仓库的单轮运行开始;已有 Agent 集成则按宿主工具的实际配置执行。桌面普通任务不会因为读过本页就自动进入进化流程。
准备一项可复现问题和对应检查,保留失败证据。先在相同条件下验证修复,再判断是否值得保存;安装与运行参数集中在开发指南中。
保留与复用经验
示例:修复一次可复现的导出错误
假设导出文件名遇到特殊字符时失败。先在测试仓库保留触发问题的输入、失败结果与依赖版本,再把本轮目标限定为“修复文件名处理,不改变导出内容”。以下是验收思路,不是默认自动执行的任务:
- 用原输入复现失败,确认不是服务暂时不可用或材料缺失。
- 允许引擎在指定范围内形成最小修复,保留修改前后的差异。
- 用同一输入验证原问题,再用普通文件名检查原有导出行为。
- 全部检查通过后,记录适用条件、修复方法和结果;提交或发布仍按对应授权流程进行。
如果原问题无法复现、修复造成其他失败,或本轮没有改善,就保留失败证据并停止扩大改动。需要恢复时只处理本轮改动,保留其他已有工作。不要把“完成了一轮”或“生成了资产”当作改善已被验证。
怎样记录可复用结果
经验应当说明“什么条件下,哪种处理方式有效”,而不是只记录一句结论。保存时包含问题背景、关键步骤、验证结果和限制。
Evolver 使用 Gene、Capsule 和 EvolutionEvent 等资产记录方法、结果与进化过程。复用前仍要核对环境和适用范围,旧任务成功不代表新任务可以直接跳过验证。
循环与探索
运行策略决定每轮偏向哪类工作,循环配置决定是否继续执行,变更边界限制每轮影响范围。
探索可在进化饱和或连续空转时扩大搜索方向,例如检查 TODO、陈旧文件或可复用资产。它仍需要冷却与停止条件,不应变成无限运行或无目标改动。
先在单轮运行或审查模式中确认工作区与验证方式,再配置持续循环。具体参数放在进化行为中,避免把独立 Evolver 的设置误当作桌面任务开关。
权限与确认
策略和循环不会扩大权限。外部访问、文件删除、提交、资产发布和生产写入仍遵循各自的授权与确认流程。
验证未通过时,不应继续发布或把结果标记为可复用成功经验。需要恢复时,按运行环境配置的回滚方式处理,不覆盖无关的工作区内容。
常见问题
- 一直运行但没有有效改进:检查输入信号、目标和停止条件;不要仅靠延长循环解决。
- 修改了代码但不知道是否有效:补充可复现条件与验收方法,再判断结果。
- 旧经验在新环境中失效:检查依赖、版本和使用范围,重新验证后再复用。
- 找不到桌面里的对应开关:本页说明进化流程;独立引擎的安装和参数应查看开发及配置指南。