M.

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回レビューしました。

  1. 強度なし(前回の xhigh を再利用)。公開した記事の差分(135行の追加)
  2. medium を指定。1回目の指摘で直した差分(77行追加・37行削除)
  3. 強度なし(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 は差分の中だけを見た
  • 強度は毎回付けて打つ

この記事をシェア

関連する記事

claude -p --json-schema はスキーマ違反を AI に差し戻す。ただし AI が諦めると exit 0 で中身が空になる

claude -p に --json-schema を付けると、出力がスキーマで検証され、違反は AI に差し戻されて直されます。7種類の制約でわざと違反させると、AI が途中で諦めた場合は structured_output が無いまま exit 0・success で終わりました。試行回数の上限(既定5回)、検証されない format キーワード、呼び出し側で何を確かめるべきかをまとめます。

「〜のはず」は外れる。Claude Code と作業して、推測が外れて実測で分かったこと8件

「npm 版だから遅いはず」「auto mode によく止められている」「通信料はかかっていないはず」。Claude Code と一緒に個人開発をしていて、思い込みや推測が外れ、数えたり測ったりして初めて分かったことを8件集めました。自分の推測、確かめたつもり、AI の推測の3種類に分けて、どう確かめたかをまとめます。

Alexa-hosted スキルのビルドが jest で落ちた件と、ログを直接読めない環境でエラーを集計する方法

Alexa スキル「安眠ノイズ」に Jest のテストを足したら、Alexa-hosted のビルドが失敗するようになりました。原因の切り分けと、テストを lambda/ の外に出した構成、さらに CloudWatch Logs に直接アクセスできない Alexa-hosted で、エラーを Logs Insights で集計できる1行ログにした話をまとめます。

コード進行アプリの楽譜表示を自作した(大譜表・コード名どおりの綴り・転調で調号を変える)

コード進行生成アプリ Chord Eureka の楽譜表示を、html-midi-player(Magenta)の表示から、SVG を直接組み立てる自作の大譜表に置き換えました。E♭m がシャープで書かれる、進行によって音部記号が変わるといった問題をどう直したかと、置き換えるかどうかの判断をまとめます。

テーマから探す