Claude Code の /code-review は、強度を省略すると前回の値を使う。xhigh と medium で時間は4倍、読んだ量は8倍違った
Claude Code の /code-review は、/code-review medium のように強度(effort)を付けて実行できます。付けずに /code-review とだけ打つと、どうなるでしょうか。
既定の強度で動く、と思っていました。実際には 前回指定した強度がそのまま使われます。私の場合は、1か月前に別のプロジェクトで指定した xhigh でした。
この記事を書く直前に、別の記事(claude -p —json-schema の記事)のレビューを3回動かしていました。その3回の記録で、強度による違いを比べます。
環境
- Windows 10 / Claude Code 2.1.300(ネイティブ版)
- レビューを行ったモデルは3回とも Opus 5.5
前回の強度は ~/.claude.json に残る
強度なしで打った1回目のレビューは、報告の1行目に「xhigh で実行した。前回指定したレベルの再利用」と書いていました。教えてはくれるのですが、レビューが終わってから読む場所なので、待たされている間は気づきません。
前回の値は、~/.claude.json の codeReviewLastEffort に入っています。
grep -o '"codeReviewLastEffort"[^,]*' ~/.claude.json
# "codeReviewLastEffort": "medium"
~/.claude.json はユーザーごとのファイルなので、この値は 全プロジェクト共通 です。あるプロジェクトで xhigh を指定すると、別のプロジェクトで強度なしで打ったときにも xhigh になります。
入力の履歴(~/.claude/history.jsonl)で、自分が /code-review をどう打ってきたかを数えました。
| 時期 | 打ち方 |
|---|---|
| 2026年5〜6月 | ほぼ強度なし(21回) |
| 2026年7月 | max を2回、xhigh を2回 |
| 2026年9月13日 | 別のプロジェクトで xhigh(最後に強度を指定した回) |
| 2026年9〜10月 | 強度なし、または「〜を見てほしい」のような文章だけを付けて数回 |
| 2026年10月16日 | 強度なしで打つ → xhigh で動いた |
9月13日から10月16日までの間に、文章だけを付けて打った回が3回ありました。それでも値は xhigh のまま残っていました。上書きされるのは、強度を指定したときだけのようです。
実際にどの強度で動いたかは、レビューのログでも確かめられます。サブエージェントとして動くので、~/.claude/projects/<プロジェクト>/<セッションID>/subagents/ に agent-<ID>.forked-skill.json が残り、その中に "effort": "xhigh" のように書かれています。
3回のレビューを比べる
同じ記事について、続けて3回レビューしました。
- 強度なし(前回の
xhighを再利用)。公開した記事の差分(135行の追加) mediumを指定。1回目の指摘で直した差分(77行追加・37行削除)- 強度なし(2回目の
mediumを再利用)。2回目の指摘で直した差分(17行追加・13行削除)
対象の差分は3回とも違います。1回目は記事全体、2回目と3回目は直した部分です。数字はそのつもりで見てください。
| 1回目(xhigh) | 2回目(medium) | 3回目(medium) | |
|---|---|---|---|
| 所要時間 | 228秒 | 56秒 | 56秒 |
| AI の応答の回数 | 20回 | 5回 | 5回 |
| ツールの呼び出し | 19回(Bash 13・WebFetch 5・ToolSearch 1) | 4回(Bash 4) | 4回(Bash 3・Read 1) |
| キャッシュから読んだトークン(合計) | 約89万 | 約11万 | 約10万 |
| 指摘 | 13件 | 8件 | 7件 |
トークンは、ログの各応答の usage を足したものです。応答のたびに、それまでの会話をキャッシュから読み直すので、応答の回数が多いほど大きくなります。xhigh は medium の4倍の時間をかけ、8倍の量を読んでいました。
違いはどこを読みに行くか
ツールの呼び出しの中身を見ると、違いがはっきりします。
xhigh は、差分を読んだあと、記事の外まで確かめに行きました。
- 記事が引用している関連記事を開き、数字や書き方が食い違っていないか確認した
- サイトの SEO チェックのスクリプトを読み、description の長さの基準を確認した
- 公式ドキュメントを4ページ(環境変数、ヘッドレスモード、CLI リファレンス、構造化出力)取得し、記事の説明と突き合わせた
公式ドキュメントとの突き合わせからは、「format キーワードは検証されない」「上限のエラーはモデルのフォールバックでも起きる」という、記事に無かった指摘が出ました。どちらも私の実験からは分からないことです。
medium は、差分を読み、記事の中を grep するだけでした。外部のドキュメントは見ていません。それでも指摘は空振りではなく、表と本文の食い違いや、コード例の抜けを見つけています。
3回目の medium は、2回目の指摘を直したときに私が新しく入れた誤り を見つけました。「title を短く言い換えれば済むケース」と書いたのに、表の指示は「そのまま、省略しない」だった、という食い違いです。直すたびに軽いレビューを回す意味は、これだけでもありました。
使い分け
| 状況 | 強度 |
|---|---|
| 外部の仕様(公式ドキュメント、API の挙動)に依存する内容、公開前の最初のレビュー | xhigh 以上 |
| 指摘を直したあとの再確認、小さな差分 | medium |
どちらにするにしても、強度は毎回付けて打つ ことにしました。強度なしで打つと、最後にいつどこで何を指定したかで、時間も読む量も大きく変わります。急いでいるときに数分待たされて「今日は遅い」と思ったら、まず codeReviewLastEffort を見ると原因が分かるかもしれません。
まとめ
/code-reviewを強度なしで打つと、前回指定した強度が使われる。値は~/.claude.jsonのcodeReviewLastEffortにあり、全プロジェクト共通- 文章だけを付けて打っても上書きされなかった。上書きされるのは強度を指定したとき
- どの強度で動いたかは、レビューの報告の1行目と、
subagents/agent-<ID>.forked-skill.jsonのeffortで分かる - xhigh は medium の約4倍の時間、約8倍のトークンを使い、関連記事や公式ドキュメントまで確かめに行った。medium は差分の中だけを見た
- 強度は毎回付けて打つ
この記事をシェア