ax:dojo 是一个预算受限的自我改进循环,运行在 ax 图谱之上。大脑是 ax dojo agenda --json,智能体只是薄驱动层。
用途:在计划配额(5h/7d)的剩余窗口内,让智能体消耗剩余额度做自我改进,如锁定待决判定、填充简报、回测路由、生成提案、做实验等,最后产出晨间报告。
入口:运行 ax dojo agenda --json。若连接失败,提示用户运行 ax doctor 并停止。若 budget.has_surplus 为 false,报告信封并停止,除非用户用 --force 重新调用(之后每圈都传 --force)。在 Claude Code 上用 /loop 技能以 /dojo 为循环提示;在 Codex 上作为单个长回合运行。
每圈:取 agenda 的 items[0],按其 playbook 执行,然后回到第 1 步。停止条件:has_surplus 为 false、now >= deadline、items 为空。已完成工作会自动清除;同一项连续 2 圈未动则跳过并记录原因。
playbook 类型:verdict_pending(ax improve verdict <id>,证据支持时用 --set <verdict> 确认);brief_unfilled(打开 .ax/tasks/*.md 简报,执行后运行 ax skills lint / ax improve lint);routing_backtest(用 ax dispatches --candidates 回测,再 ax routing tune --apply=<ids> --days=<window> 或书面拒绝);proposal_mint(ax improve recommend,接受有依据的 ax improve accept <id>);experiment(仅在新 worktree 中工作,git worktree add .claude/worktrees/dojo-<slug> -b dojo/<slug>,未完成则打包为目标文件);新钩子用 @ax/hooks-sdk 编写,并同时运行 ax hooks backtest <file> --json 与 ax hooks bench <file> --json,两个账本都要出现在提案中;spar(仅 --spar 且 spendable >= 30% 时出现,流程含 ax dojo spar-plan <sha>、ax dojo spar-score <id>);explore(自由调查,转化为提案或 outbox 草稿)。
上游发现:用 ax dojo draft --title=<title> --kind=bug|improvement 暂存到 ~/.ax/dojo/outbox/<slug>.md,绝不从 dojo 发布。
退出:运行 ax dojo report --since=<loop-start-iso> --notes-file=<lap-notes-path> 写入 ~/.ax/dojo/reports/<YYYY-MM-DD>.md,然后告知用户报告路径与待审阅的前 3 项。
硬性约束:只用 worktree;绝不写 main;绝不合并;提案是唯一激活路径;只进 outbox,任何内容不离开本机;即使中途也要遵守截止时间,检查点、报告、停止。