Anthropic公式が教える、手動コードチェックをスキル化して自己検証・自己修正させる方法
- AIがコードを書き終えると、コンパイルエラー・型チェック・テスト・linterといったシグナルは自分で見えている。だが人間にしか分からないチェックだけは、毎回手で確認するしかない。
- Claude Codeチームが示す方法はこうだ——毎回自分がやっているそのチェックを平易な言葉で書き出し、スキルとして保存すれば、あとは自分で走らせ、自分で直す。最小のものはわずか十数行で済む。
- チェックの中身をうまく書くのは半分にすぎず、もう半分はそれをどの層に置くかにかかっている——自分で呼び出す、コード生成スキルに埋め込む、1つのスキルが終わったら次を自動で呼ぶ、すべてのPRに紐づける。後の層になるほど手間は減るが、その分修正も難しくなる。
- Anthropic自身のClaude Codeチームが日常で回しているのは4つのスキルのリレーだ——
/code-reviewでバグを探し、/simplifyでdiffを整理し、/verifyで実際にアプリを起動して挙動を確かめ、変更がUIに触れる場合はさらに独自の/designを呼んでDESIGN.mdと照合する。 - 代償もはっきり書かれている——スキルは一度読み込まれるとセッション終了までコンテキストに常駐し続け、チェーンが長くなるほどトークン消費もかさむ。また
/verifyと/code-reviewはv2.1.215以降、明示的に呼び出したときだけ動作し、勝手に発火しなくなった。
AIがコードを書き終えたあと、どのチェックが自動で行われ、どれが人間頼みか
Anthropic公式チームが、Claude Code内で検証ループ(verification loop)をどう構築するかを共有した。普段手動で行っているチェック手順を自動化されたスキルに変え、AIに自ら誤りを正させるというものだ。執筆はClaude CodeチームのDelba de Oliveira、7月22日公開。
簡単に言えば、検証ループとはClaudeがコードを書き終えたあと自分でチェックし、問題があれば自分で直す仕組みで、あなたがずっとパソコンの前で監督している必要がなくなるということだ。
今のあなたのやり方はおそらくこうだろう——AIに機能を修正してもらい、「直しました」と言われたら、あなた自身がページを開いて一通りクリックし、ログをざっと眺め、ブラウザをスマホ幅まで狭めて試す。これらは毎回あなたが自分でやるしかない。今回引き渡そうとしているのはこの部分だ。
まずAIの作業フロー全体がどんな形をしているか見てみよう。
この図には本文で触れられていない細部がある。検証に通らなかったとき、矢印が戻る先は「コンテキスト収集」であって「行動」ではない。つまり同じ情報のまま2回目の修正を強行するのではなく、まず状況を改めて把握し直してから、どう動くかを決めるということだ。
この検証というステップは、実はすでに一部やっている。コードベースの中には機械が直接読み取れるシグナルが一群あるからだ——コンパイラのエラー、型チェックの不通過、テストの失敗、linterの警告。これらが出た時点でAIには見えているし、後戻りすべきタイミングも分かっている。
厄介なのはもう半分だ。
- コンパイラのエラー
- 型チェックの不通過
- テストの失敗
- linterの警告
- スマホ幅でこのボタンが隠れてしまわないか
- このエラーログにユーザーのリクエストボディまで書き出していないか
- 今回のマイグレーションで削除した列のデータが、新しい構造にきちんと補填されているか
- この変更がチームのデザイン規約に沿っているか
右側のリストには、どんなツールも警告を出してくれない。だから毎回あなたの手に落ち、あなたが自分でクリックするあのステップになる。次にやるべきは、この右側もAIが読めるシグナルに変えることだ。
Claude Codeにすでに組み込まれている6種のチェック、それぞれの役割
ゼロから書き始める前に、まず既製のものを見てみよう。Claude Codeにはすでに6種類が組み込まれていて、それぞれ異なる位置にある——あなたが呼び出さなければ動かないものもあれば、自動で走るものもある。