执行
上一章确认了 Seed。执行就是把这份 Seed 交给运行时,让它产出真正的代码。运行时负责写文件、跑命令,Ouroboros 负责管顺序和状态。
1. 开始
在 Claude Code 会话里:
ooo run
预期结果:执行开始,并打印出几个用来查状态的 ID。它在后台继续跑,所以命令返回不代表活干完了。装了 Codex CLI 或 OpenCode 插件(装插件)的话,同一条命令在那边的会话里一样能用。
全新的执行在开跑前会问你一次用哪种方式。效率优先是先用较低的成本铺开并行和拆解的活,只有需要恢复时才加强路径;质量优先是把子任务保持在跟父任务同一档。不想每次都被问,就在普通终端里把默认值定一次:
ouroboros config set execution.default_policy quality_first
预期结果:输出 execution.default_policy: ask → quality_first,写进 ~/.ouroboros/config.yaml。只收 ask(默认)、efficient、quality_first 三个值,别的会被拒。留 ask 就还是每次问。这个设置对 resume 不生效——续跑用的是第一次执行定下的那套。
2. 四个阶段(Double Diamond)
| 阶段 | 在做什么 |
|---|---|
| Discover | 看仓库、看环境、看需求里还有什么需要确认。 |
| Define | 定下来做什么、不做什么。 |
| Design | 定结构和实现顺序。 |
| Deliver | 建文件、跑测试。 |
这个顺序存在的理由只有一个:不让实现在理解之前开始。
3. ID 分几种
不同命令打印不同角色的 ID,从输出里复制就行。
| ID | 长相 | 哪里拿 | 哪里用 |
|---|---|---|---|
session_id | orch_… | 访谈和 run 的输出 | ooo status、ooo evaluate、恢复会话 |
job_id | job_… | 后台任务启动输出 | 查后台任务状态和结果 |
execution_id | exec_… | run 启动输出 | ooo cancel |
auto_session_id | auto_… | ooo auto 输出 | ooo auto --resume |
lineage_id | lin_… | ooo evolve 输出 | 查修订历史、ooo ralph |
4. 看状态
ooo status <session_id>
预期结果:显示当前阶段和进度。想看实时进度,另开一个终端跑 ouroboros monitor。
5. 取消
ooo cancel
预期结果:列出正在跑的执行,选一个、或者直接传 ID 取消。取消完用 ooo status 再确认一次状态。
6. 算跑完了的标准
- 运行状态显示 completed。
- 结果文件确实出现在工作目录里。
- 你把完成摘要里的
session_id存下来了——下一章评估要用。
第二条值得单独说:状态说完成了,和文件真的在那儿,是两件事。用眼睛确认一遍再往下走。
这一页对着当前源码核过:四个阶段名和 Double Diamond 的说法在 orchestrator_stage.py 与 tui/events.py 里,五种 ID 前缀在源码中都能查到(对照组:不存在的前缀查出 0 条)。有对不上的地方,欢迎到 GitHub Issues 说一声。
