Claude Opus 4.8のeffortを実測検証|全5段階×Code/Cowork/Chatでトークン・速度・品質はどう変わるか

AIコーディング

Claude Opus 4.8には「effort」という設定がある。モデルがどれだけ考えてから答えるかを5段階(low / medium / high / xhigh / max)で調整するもので、Claude Code・Cowork・通常のChatすべてで切り替えられる。

「上げれば賢くなる」——直感的にはそう思える。では実際、何がどれだけ変わるのか。トークン消費は?速度は?答えの質は?

公式の説明だけではわからなかったので、同じ課題を全レベル×3サーフェス(Claude Code / Cowork / claude.aiチャット)に投げて、合計27回実測した。結論を先に書くと:

  • 正解率は1段階も変わらなかった(全27run正解)
  • 出力トークンは約7倍、処理時間は最大6倍に増えた
  • 変わるのは「答えの正しさ」ではなく「答えの確かめ方と作法」だった

数字と画面キャプチャで順に見ていく。


検証環境

検証環境

  • モデル: claude-opus-4-8(1M context)
  • プラン: Claude Max(定額。$表示はAPI換算の参考値)
  • サーフェス: Claude Code v2.1.162(Windows / PowerShell)、Claude Cowork、claude.ai
  • 実施: 2026年6月6日、計27run(Code 13・Cowork 8・Chat 5・ultracode参考1)
  • 方式: 1run=1新規セッション(コンテキスト持ち越しなし)
  • 計測: トークン=/costコマンド実測値、応答時間=自作ステータスラインのターン別API処理時間
  • 採点: コーディング課題は筆者側の隠しテスト15項目、推論課題は数値・分解・字数の3点で機械的に判定

計測に使った自作ステータスライン(effort・応答1回ごとのAPI処理時間・使用量ゲージを1行表示)は前回記事で作ったものをそのまま使っている。

Claude CodeでのTask B実行画面。ステータスラインにeffortと応答時間が表示されている
Code実行画面。下端のステータスラインにeffort(xHigh)・応答時間(⏱12s)・5時間枠ゲージが見える
/cost画面。モデル別の入出力トークンが確認できる
/cost画面。モデル別の入出力トークンを実測できる(これはTask B max実行後)

effortの設定方法

Claude Codeでは /effort コマンドでスライダーが出る。low〜maxの5段階に加えて、右端に「ultracode(xhigh + workflows)」がある。ultracodeはeffortというより別の実行モードなので、この記事では末尾に参考値として載せる。

Claude Codeの/effortスライダー。low〜maxとultracodeを切り替えている
/effortスライダー。Faster⇄Smarterの軸で5段階+ultracode

CoworkとChatにも同じ5段階(低・中・高・特大・Max)がモデル選択まわりにある。なお、Opus 4.8リリース時のバナーでは「既定はhigh」と案内されていた。


検証設計:採点を機械化できる2課題

「賢さ」の比較は主観が入りやすい。今回は採点を完全に機械化できる2課題に絞った。

Task A(コーディング)

SemVer 2.0.0準拠の semver_compare(a, b) をPythonで実装させる。仕様5項目を明示し「コードのみを返してください」と指示。採点は筆者側で用意した隠しテスト15項目(SemVer公式例の全順序・ビルドメタデータ無視・数値coreの大小など)で行い、モデルにはテストの存在を知らせない。

Task B(推論+文章)

ベイズの定理の定番問題(感度99%・偽陽性率5%・有病率1%のとき陽性的中率は?正解≈16.7%)。「数値と求め方を150字以内で」と指示。採点は (1)数値 (2)ベイズ分解の正しさ (3)字数(改行除き・Pythonでカウント)の3点。

プロンプトは全サーフェス・全レベルで一字一句同じ。各runは新規セッションで実行した。


結果①:トークンと時間は確実に増える(Code定量)

まず前提として、Task Aは全レベル15/15パス、Task Bは全レベル数値・分解とも正解だった。正解率はeffortで1段も変わらなかった。そのうえでコストを見る。

effortレベル別の出力トークン数グラフ。lowからmaxで約7倍に増加
出力トークン(low→maxでTask A 429→3,100、Task B 166→1,100)
effortレベル別のAPI処理時間グラフ
API処理時間(Task A 6s→34s、Task B 6s→15s)
effortTask A out_tokTask A 時間Task B out_tokTask B 時間
low4296s1666s
medium53011s2496s
high87110s3747s
xhigh1,60020s85912s
max3,10034s1,10015s
  • 出力トークンはレベルごとにおおむね倍増し、low→maxで約7倍
  • API処理時間はTask Aで約6倍、Task Bで約2.5倍
  • $コスト(API換算)はキャッシュ読み書き量でぶれるため、effortの比較指標としては不適だった。純粋な比較はout_tokと時間で見るのが正確
  • Maxプラン(定額)では金額は変わらない。実質コストは「待ち時間」と「5時間枠の消費」になる

結果②:正解は変わらない。変わるのは「作法」

数字が増えて何が変わったか。Task Aのコードはどのレベルも正しく動く。違いはコードの「佇まい」に出た。

  • low: 裸の実装(コメントほぼなし)
  • medium〜high: docstringやコメントが増える(未使用のimportが残ることも)
  • xhigh: コメントが日本語になり、未使用importが消えた
  • max: さらに丁寧——だが同条件で再実行したらコメントが英語に変わった。出力のばらつきは実在する

Task Bはもっと面白かった。150字制約の遵守を3サーフェスで比べた結果がこれ(数字は求め方の字数・改行除き、○=150字以内)。

字数lowmediumhighxhighmax
Claude Code×156○148×168×182・×181(2回)○146
Cowork○135×154○133○131○133
Chat×155×164×166○132○137

ここから言えることが3つある。

  1. maxだけが3サーフェスすべてで字数を守った。しかも守り方が興味深い。Codeのmaxは箇条書きをやめて一文に圧縮し、「真陽性/偽陽性」という用語で字数を節約した。たくさん考えた分が「説明を盛る」ではなく「制約を満たす工夫」に向かっている
  2. xhigh(特大)はサーフェスで顔が変わる。Codeでは2回連続で字数違反(182字・181字とほぼ同じ違反幅=偶然ではない)。一方CoworkとChatでは遵守。Codeのxhighは「丁寧に説明しようとして書きすぎる」傾向が再現した
  3. low〜highの遵守はサーフェスごとにバラバラで、effortと字数遵守に一貫した相関はない。「上げれば指示を守る」は期待しないほうがいい。確実に守らせたい制約は、プロンプトで強調するか出力を検証する仕組みを入れるのが確実

サーフェスでこんなに違う:Coworkの自己検証、Chatのテンプレ

同じeffortラベルでも、どこで動かすかで挙動が変わった。

Coworkはエージェント環境らしく、Task Aで高effortほど「品質保証」を始めた。特大では回答の冒頭に「SemVer 2.0.0 §11の全順序テストで検証済みです」と宣言——回答する前に自分でテストを実行していた。コードも正規表現での構文検証付き(不正入力で例外を投げる)で、Code版の裸実装よりプロダクション寄りだった。

Cowork特大のTask A出力。冒頭に検証済みの宣言がある
Cowork特大の出力。冒頭に「全順序テストで検証済み」の宣言

Chatは逆に、低〜高で数式ブロックが一字一句同じテンプレ回答だった(締めの一文だけ微差)。体感も全部5秒前後で差がない。特大からようやく挙動が変わり(5秒→12秒)、テンプレを捨てて一段落に圧縮、字数もクリアした。Chatでeffortの効果を体感できるのは特大以上、というのが実測の印象だ。

Codeは「コードのみを返して」という指示に最も忠実で、どのレベルも装飾なしの裸実装を返した。


参考値:ultracodeは「正しさの証明」を買うモード

スライダー右端のultracode(xhigh + workflows)はeffortではなく別の実行モードなので、参考値として1runだけ試した。

Task Aを投げると「Dynamic Workflow」の実行計画が提示される。承認すると、8つのサブエージェントが2フェーズで並列実行された。

  • Generate: 独立実装×3+敵対的テストスイート×2を並列生成
  • Verify: 83の敵対的テストケースで全実装を実行検証し、3実装が同一アルゴリズムに収束したことを確認
ultracodeのDynamic Workflow実行画面。8つのサブエージェントが並列実行されている
ワークフロー実行画面。8エージェントが2フェーズで並列に動く

実測値はこうなった。

指標xhigh単発ultracode倍率
出力トークン1,60058,100約36倍
API処理時間22s10分48秒約30倍
$換算$0.13$3.34約26倍
5時間枠の消費約+1pt+9pt

それで出てきたコードの隠しテスト成績は——15/15。lowの1発出しと同じだった。

これは「ultracodeが無駄」という意味ではない。今回の課題はlowでも正解できる難度だったというだけで、ultracodeが買っているのはより良いコードではなく「正しさの検証プロセス」(多数決的な収束確認+敵対的テスト)だ。隠れたバグが致命的な場面には価値がある。ただし日常タスクには明らかに過剰で、1runで5時間枠の約1割を消費する点は知っておきたい。


結論:effortの使い分け指針(実測ベース)

27runの実測から言えるのは次のとおり。

  • 仕様が明確な小〜中タスクはlow/mediumで十分。正解率は変わらず、速くて枠も食わない
  • 既定のhighはバランス型。迷ったらそのまま
  • xhigh/maxは「考える量」を買う設定。ただし増えた思考が説明の饒舌さに向かうか(xhigh)、制約充足の工夫に向かうか(max)はレベルとサーフェスで性格が違う
  • 指示遵守(字数など)をeffortに期待しない。守らせたい制約はプロンプトで強調するか、検証を仕組みにする
  • Maxプランの実質コストは時間と5時間枠。トークン約7倍・時間約6倍は「無料」ではない
  • ultracodeは検証プロセスが必要な時だけ。コスト約30倍の価値が出る場面を選ぶ

注記:この検証の限界

  • 単一環境(筆者のWindows機・Maxプラン)での実測で、各セルは1〜2run。統計的な断定はできない
  • 出力のばらつきは実際に観測した(max再実行でコメント言語が反転、xhigh再実行で思考トークンが半減)。LLMの出力は毎回変わる前提で読んでほしい
  • 体感秒数(Cowork/Chat)は手元計測で誤差が大きい。定量はClaude Codeの/cost・API処理時間のみ
  • effortの仕様は今後のアップデートで変わる可能性がある(2026年6月時点の実測)

あわせて読みたい

関連: Claude Sonnet 5とOpus 4.8を同じ実装タスクで比較した記事

コメント

タイトルとURLをコピーしました