用途:retro(ax:retro)关闭 ax 自改进循环。Claude 编排 ax improve 等命令,用户逐行决定每个提案与裁定。仅在明确触发时启动,如“let's do an ax retro”“review my ax proposals”“triage proposals”“what's my experiment loop status”“lock pending verdicts”“hook effectiveness review”“self-improvement session”或 /ax:retro 斜杠命令;不要因泛化的“看看我最近的工作”而触发。前提是 ax(axctl)在 PATH 上,若 ax improve list 失败,让用户检查 docs/development.md#setup(DuckDB dylib 配置,无需守护进程)并停止。
工作流:Step 0 先排空待回顾会话,运行 ax retro pending --since=7 --idle-min=30 --json,对选中的会话用 ax retro brief --session=<session_id> 生成 .ax/tasks/retro/<key>.md 简报,并行派发 retro-reviewer 子代理;若子代理不可用则按简报要求内联评审。Step 1 先单独运行 AX_NO_AUTO_INGEST=1 ax improve checkpoint --json 做测量,成功后并行执行 ax improve list --status=open --json、ax improve list --status=accepted --json、ax improve verdict --json、ax retro list --since=7 --json,以及可选的 ax hooks summary --since=7 --tail=20;checkpoint 失败则说明测量不可用,仅继续提案评审并跳过裁定步骤。Step 2 按频率降序处理开放提案:ax improve show <dedupe_sig> --json 展示后逐条询问 accept、reject 或 skip;accept 执行 ax improve accept <dedupe_sig>(默认只生成任务简报并返回 task_path,不安装产物),reject 需 ≤80 字理由并运行 ax improve reject <dedupe_sig> --reason "<reason>",skip 保持提案开放。Step 3 按年龄顺序审查已接受但未锁定结论的实验:运行 AX_NO_AUTO_INGEST=1 ax improve verdict <dedupe_sig>,在有建议时请用户确认或覆盖 adopted、ignored、regressed、partial、no_longer_needed,然后执行 ax improve verdict <dedupe_sig> --set <verdict> 锁定。Step 4 仅在用户要求或发现 ≥3 个阻塞错误时可选进行 hook 有效性检查,可用 ax hooks invocations --command="<hook>" --tail=5 与 ax hooks cases enforce-worktree --tail=50 --window=3 回测。Step 5 汇总接受/拒绝/跳过/锁定数量、仍需完善的 SKILL.md,并计算下一次回顾建议时间(已接受未锁定实验中最早的 created_at + 7 天)。
限制:默认窗口为最近 7 天,证据稀疏可放宽到 30 天;不静默应用变更,每行都需用户明确同意;不要批量接受所有提案;不要直接写 ~/.claude/skills/;--force 仅在用户明确要求时用于 accept;ax improve reset --yes 会清空全部状态,未经用户确认绝不运行。常见失败包括 list 为空(可先 ax ingest --derive-only 重试)、scaffold_exists、verdict_locked、checkpoint 失败、hooks summary 为空(可试 --since=30)以及读写错误(检查 AX_DUCKDB_DYLIB)。