关于 evolve
evolve 是一个 Ouroboros 技能,通过多轮迭代改进本体和验收标准,并可在每一代执行与评估。它支持查看和回退谱系,在收敛、停滞或达到代数上限时结束。
主要功能
- 01迭代改进本体
- 02选择是否执行并评估每一代
- 03查看谱系状态和进度
- 04回退到较早代数
- 05停滞时转交进一步分析
适用场景
- 01改进项目目标的验收标准
- 02不执行项目的本体迭代
- 03检查收敛进度
- 04从较早代数继续
MCP 相关
使用 Ouroboros MCP 工具进行访谈、生成 Seed、执行进化步骤、查看谱系状态和回退。此工作流需要 Ouroboros MCP 服务。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ q00/ ouroboros --skill evolve安装后在 Claude Code 中输入/evolve确认已加载。
详细介绍
ooo evolve - 演化循环
启动、监控或回退演化循环,让本体和验收标准在多代迭代中不断完善。
Gen 1: Seed → Execute(all ACs) → Judge → Gate
Gen 2+: Wonder(failed ACs) → Reflect(active ACs only) → Execute(active) → Gate(all)
...until the gate passes, the loop stagnates, or 30 generations are reached
用法
ooo evolve "build a task management CLI" # start
ooo evolve "build a task management CLI" --no-execute # ontology-only (fast)
ooo evolve --status <lineage_id> # lineage status
ooo evolve --rewind <lineage_id> <generation_number> # rewind
说明
加载 MCP 工具(延迟加载 Schema 防护)
Ouroboros 工具可能会延迟加载,某一轮加载的 Schema 到下一轮时可能已卸载。每次调用 ouroboros_* 前,请立即使用当前运行时的工具发现功能加载对应工具:ouroboros_evolve_step、ouroboros_lineage_status 和 ouroboros_evolve_rewind 使用 "+ouroboros evolve";ouroboros_interview 使用 "+ouroboros interview";ouroboros_generate_seed 使用 "+ouroboros seed";ouroboros_lateral_think 使用 "+ouroboros lateral"。如果工具的 Schema 未加载,调用会失败并提示 "Invalid tool parameters"。如果工具已可调用,工具发现操作不会执行任何操作,预期会返回空结果。只有在工具确实不存在时,才使用备用方案。
启动新的循环
- 运行访谈:调用
ouroboros_interview,将用户输入作为initial_context,直到歧义度 ≤ 0.2。 - 生成 Seed:调用
ouroboros_generate_seed,并传入访谈的session_id。 - 调用
ouroboros_evolve_step,传入新的lineage_id(例如lin_<seed_id>)、seed_content(Seed YAML)和execute(默认true,表示每代执行 Execute→Evaluate;--no-execute对应false)。第 2 代及之后的调用只传入lineage_id。每次调用恰好运行一代;两次调用之间会根据事件重建状态。 - 根据
action执行相应操作:continue:检查active_ac_indices,然后再次调用,并传入lineage_id。只有失败或重新开放的 AC 会演化;冻结的 PASS AC 会重新验证,而不会重新生成。ontology_stable:这不代表成功。对同一条 lineage 再次调用,并传入execute: true,然后处理该响应;在收到convergedaction 之前,绝不能报告已收敛。converged:独立评估的结果已通过。显示最终本体。stagnated:在 3 代窗口内,本体保持不变,或被拒绝的评分变动小于 0.01。交由ooo unstuck(ouroboros_lateral_think)处理。exhausted:已达到 30 代上限。显示最佳一代。failed:报告错误。如果错误指出 lineage 所有者已过期,先确认原所有者进程已终止,然后调用一次并传入recover_expired_claim: true;所有者运行缓慢或仍在运行时,绝不能设置此参数。
- 在
action为continue时重复操作。使用execute: true时,每代已经运行过 Execute→Evaluate,因此绝不要将lineage_id传给ooo evaluate:正式评估需要执行的session_id,而 lineage ID 并非该 ID。
已执行的代都会包含 QA 判定,除非设置了 skip_qa: true;使用其评分跟踪各代的质量。第 1 代通过时,可能会立即收敛。
状态
调用 ouroboros_lineage_status,并传入 lineage_id;显示代数、本体演化情况和收敛进度。此操作只读取状态,不会恢复循环。
回退
调用 ouroboros_evolve_rewind,并传入 lineage_id 和 to_generation(保留指定代,包含该代;之后的代会被截断)。随后使用相同的 lineage_id 调用 ouroboros_evolve_step 继续运行。
基准测试控制(仅限用户明确要求)
不要自行启动全图控制臂:这会消耗正在测量的节省量。仅当用户提出要求时,才对现有的第 2 代及之后的 lineage 调用 ouroboros_evolve_step,并传入 benchmark_control: true、execute: true,以及位于独立工作树中、检出处理组提交且 Git 状态干净的明确 project_dir。较小的活动集只能说明工作集情况,不能据此宣称节省;节俭性结论应以服务端的凭据为准。
备用方案(没有 Ouroboros MCP 服务)
说明演化循环,并建议安装 MCP 服务(参见入门指南),然后运行 ouroboros mcp serve --runtime claude-cli,并将其添加到运行时的 MCP 配置中。
RFC #1392 状态面包屑页脚
最终回复必须以且仅以一行 ◆ <current state> → next: <recommended action> 结尾。尽可能通过 ouroboros_session_status 从实时会话状态推导状态,否则根据此技能的实际结果推导。切勿使用线性的 Step N of M 页脚;如果下一步确实有多个选择,请列出 2-3 个选项。