用途
tune 用于在单次编码会话结束后做回顾,判断应如何调整智能体的运行环境(rig),使下一次运行更省成本或更安全。它读取一次会话实际发生的内容,命名对环境(钩子、检查、引导文件、工具、访问权限)的改动,并把每个候选提案记录到 ax 中,以便日后分类处理。会话日志是主要依据,ax 是记录账本。
主要能力
- 定位会话:默认使用当前会话,id 为 $CLAUDE_CODE_SESSION_ID,日志位于 ~/.claude/projects/<cwd-slug>/<id>.jsonl;若用户指定其他会话则取其键。
- 在 ax 中可复审:在后台运行 ax ingest(裸 ax ingest 会遍历机器上所有转录),监控其 RSS,达到 4 GB 时停止并记录为针对 ax 自身的工具经济性发现;同时继续在原始日志上工作。
- 构建账本:运行 python3 -I scripts/turns.py <log>(加 --full 查看每条命令),每次工具调用输出一行,带 ERR、DENY、RETRY、AGENT、BIG 标记,并汇总调用、标记与 token;当 ax 拥有该会话时,补充 ax sessions show session:<id> --turns --json 获取时序。
- 按类别寻找候选改进项,每项都需有账本证据(轮次、消耗的工具调用、浪费的字节或 token)和指明修改文件的修复方案:
- 导航:智能体花费较长时间查找文件或事实,修复方式是在 auto-memory 或仓库 CLAUDE.md 中加一个指针,而非一段文字。
- 自动化检查:本可被 linter、类型检查、测试或文件系统检查捕获的错误。先读取仓库自身的检查命令(package.json scripts、CI 工作流);已有检查未接入或损坏本身就是发现。仓库既无 pre-commit 钩子也无 CI 检查也是一项发现。
- 编码规范:先分类违规。机械性违规(禁用 API、导入形式、文件位置规则、命令形式)采用确定性检查:lint 规则、pre-commit 钩子、PreToolUse 钩子(以重写并允许而非拒绝)。文字性规则仅保留给检查无法替代的判断场景,交给评审智能体,其上下文压力最小。
- 全局 AGENTS.md / CLAUDE.md:每轮加载但本次会话未涉及的句子,可作为指针与文档的候选,或删除。
- 工具经济性:昂贵调用,如 BIG 结果、别名或分页器向管道写 ANSI、被迫逐字重发的拒绝、在错误目录树上的搜索。修复:重写钩子、tty 守卫、限定范围的命令。
- 无效项:模型默认已遵守的引导语句,删除整句而非删词。
- 信息访问:智能体需要但无法获取的事实(会话 id、开发服务器日志、第三方仪表盘)。修复:环境变量、tee、只读访问。
- 当每个候选都具备类别、证据、修复方案及落地文件时完成。
- 按严重程度向用户呈现候选:先看本次会话的成本,再看复发的可能性,每项一段;最后说明哪些是机械性的(检查),哪些需要判断(规则)。
- 提交到 ax:阅读 PROPOSALS.md 了解负载格式,然后运行 ax retro brief --session=session:<id>(写入 .ax/tasks/retro/<id>.md)与 ax retro emit --session=session:<id> --source=manual --from-file=<json>;JSON 包含 tried、worked、failed、next 及每个候选一条 proposals[] 条目,按其形式构造。将 brief 前置元数据状态设为 completed。当 ax improve list 显示新提案时完成。
- 仅在用户要求时应用:若用户要求修复,按严重程度依次应用,每仓库一次提交,并在下次会话重跑账本确认该标记类别已消失。
使用方式
先调用 Skill 工具并指定 writing-for-agents 获取写作风格;定位会话日志;在 ax 中运行 ingest 使其可复审(限定范围,避免遍历全部);用 turns.py 构建账本并解读标记;按上述类别寻找候选并配证据与修复;向用户按严重程度呈现;按 PROPOSALS.md 格式通过 ax retro 提交;仅在用户要求时应用改动。
适用场景
适用于对一次编码会话做事后复盘、为智能体环境(钩子、检查、引导文件、工具与权限)提出具体改进,并将改进项登记为可分类处理的提案。
限制
资料未提供该工具的具体安装方式、运行平台要求、许可协议、收费情况与效果保证,这些事实暂未提供。输出与提案格式依赖 ax 与 PROPOSALS.md,相关细节需以资料所述文件为准。