工具教程 · 小互解读
Anthropic 官方教你把手动代码检查写成技能,让它自己查自己修
他们内部四个技能接力跑:抓 bug、清理 diff、把 app 跑起来看,改动碰了界面再核一遍设计规范。
一分钟速览
- AI 改完代码,编译报错、类型检查、测试、linter 这些信号它自己看得见;剩下那几步只有你知道的检查,每次都得你亲手点一遍。
- Claude Code 团队给的做法:把你每次都在点的那几步用大白话写下来,存成一个技能,它就能自己跑、自己修。最小的一个只有十几行。
- 检查写得好只是一半,另一半是它装在哪一层:你想起来才叫、嵌进生成代码的那个技能里、一个技能干完自动叫下一个、挂到每个 PR 上。四层越往后越省心,也越难改。
- Anthropic 自己的 Claude Code 团队日常跑的是四个技能接力:
/code-review找 bug,/simplify清理 diff,/verify把 app 真跑起来看效果,改动碰了界面就再叫一个自定义的/design对着 DESIGN.md 核一遍。 - 代价也写在明处:技能一旦加载就常驻上下文到会话结束,串得越长 token 烧得越多;而且
/verify和/code-review从 v2.1.215 起只在你开口叫的时候才跑,不会自己开火。
⚑这是 Claude Code 团队自己写的做法说明,讲的是他们内部怎么用自家工具。全文没有给出任何效果数字,省了多少时间、误报率多高、token 多花多少都没测;检查本身写错了会怎样,文章也没碰。下面标注「本站补」的段落来自 code.claude.com 官方文档,原文没有展开。
1循环长什么样
AI 改完代码,哪些检查它自己会做,哪些还得你来
Anthropic 官方团队分享了他们怎么在 Claude Code 里建立验证循环(verification loop):把平时手动做的检查步骤,变成自动化的技能(Skill),让 AI 自己纠错。作者是 Claude Code 团队的 Delba de Oliveira,7 月 22 日发布。
简单来说,验证循环就是让 Claude 写完代码后自己检查一遍、发现问题自己修好,不需要你一直盯在电脑前当监工。
你现在大概是这么干的:让 AI 改一个功能,它说改好了,然后你打开页面点一遍,翻一眼日志,再把浏览器拖窄到手机宽度试试。这几下每次都得你自己做。要交出去的就是它们。
先看 AI 干活的完整流程长什么样。
你给一句提示,Claude 去收集上下文(Gather context)、动手改(Take action)、验证结果(Verify results),最后回话给你。虚线框圈住的中间三步就是它自己在转的那个圈。图片来源:Claude 官方博客。
这张图上有一个正文没提的细节:验证没过的时候,箭头指回去的是「收集上下文」,不是「动手改」。也就是说它不会拿着同一份信息硬改第二遍,而是先回去把情况重新摸一遍,再决定怎么动。
验证这一环,它本来就在做一部分。因为代码库里有一批信号是机器能直接读的:编译器报错、类型检查不通过、测试跑挂了、linter 的警告。这些东西一出现它就看得见,也知道该回头。
麻烦的是另一半。
它自己看得见
代码库里的确定性信号,出错就有明确的报文
- 编译器报错
- 类型检查不通过
- 测试没跑过
- linter 的警告
只有你知道
没有任何工具会为此报错,它推不出来
- 这个按钮在手机宽度下会不会被挡住
- 这条错误日志有没有把用户的请求体一起写进去
- 这次迁移删了一列,数据有没有补进新结构
- 这个改动合不合团队那份设计规范
右边这一列,没有任何机器信号会替你报警。所以它们每次都落回你手上,变成你亲手点的那几下。接下来要做的,就是把右边这些也写成它能读的信号。
站内相关
Claude Code 官方讲透循环设计:4 级递进到无人值守
同一个官方博客系列的前一篇,讲整个循环怎么从手动确认一路放手到无人值守。验证是那四级里的一环,这里展开的就是它。
2现成的
Claude Code 里已经装好的六种检查,各管什么
从零开始写之前,先看看现成的。Claude Code 里已经装好六种,各站在不同的位置,有的要你开口叫,有的自己就跑。
/verify
你叫才跑
把你项目的 app 构建出来、真跑起来、观察结果,用看到的东西判断改动对不对,而不是靠测试或类型检查。需要 Claude Code v2.1.145 以上。
写进 CLAUDE.md
一直生效
Claude 会接住你提供的工具报出来的错误码和警告并跟着动作。把项目确切的构建和测试命令写进 CLAUDE.md,它就不用自己猜该敲哪一条。
Code Review(研究预览)
自动跑
一个托管的多 Agent 服务,在你开启的仓库里对 PR 跑一遍自动审查。发现的问题你可以自己改了推上去,也可以在那条发现下面回一句 @claude 让它闭环,前提是 GitHub Actions 已经配好。
GitHub Actions
每次推送都跑
定义一个 job,让它调用带着验证技能的 Claude,你本地跑的那套检查就会在每次推送或者每个 PR 上同样开火。
Spec validation
你叫才跑
一个技能,拿仓库里的 markdown 规格文档当标准,逐条核对每次改动,并尝试把违反的地方修掉。
Managed Agents 的评分表(beta)
不合格自动打回
一个托管的 Agent 服务,让另一个独立的阅卷 Agent 按一份评分表核对产出。没达标的自动退回去重做。