結論から:effort は Opus 5.5 がどれだけ考え、どれだけ自分で検証するかを決める設定です。low、medium、high、xhigh、max の 5 段階があり、デフォルトは medium で、Opus 5 のデフォルト high より 1 段低くなっています。
- 範囲がはっきりした日常の開発(機能の実装など)はデフォルトの
mediumで十分です。既存コードのバグ修正やエッジケースの多い作業はhighに、モデルが自分で何度も検証する数十分以上の長いタスクにはxhighやmaxを使います。これは Claude Code 公式ドキュメントの分け方です。 - ユーザーの報告によると、Opus 5.5 を
xhighからhighに下げた多くの人が「同等かむしろ良い」と感じています。Artificial Analysis の計測では、評価一式を回すのにxhighは約 100M、highは 56M の出力 token を使い、約 1.8 倍の token で 5 ポイント高い(57 対 52)という結果です。 - Claude Code の落とし穴:
~/.claude/settings.jsonの最上位にある古い書き方"effortLevel": "high"は Opus 5.5 には効かず、mediumのまま動きます。Opus 5.5 を選んだ状態で一度/effort highを実行すると、Claude Code がモデルごとにmodelSettingsへ保存します。私たちの実測でも確認しました。 - API では
"output_config": {"effort": "high"}を送ります。省略するとmediumです。
API Key を作成して、Claude Code・Codex・Cursor で Opus 5.5 を使う →
5 つの effort レベルの意味
effort は厳密な token 上限ではなく、そのタスクにどれだけ力を使うかをモデルに伝えるものです。考える長さだけでなく、返答の量やツール呼び出しの回数にも影響します。公式ドキュメントによると、低いレベルでも十分難しい問題では考えますが、考える量は減ります。Opus 5.5 は adaptive thinking が常にオンで切れないため、思考の深さを決める主なつまみが effort です。
下の表は、Anthropic の推奨と、Artificial Analysis が Intelligence Index v5 を各レベルで回した結果を並べたものです(low / medium、high、xhigh / max の比較ページ参照):
| レベル | Anthropic が勧める用途 | AA スコア | 評価一式の出力 token | 1 問あたりの平均時間 |
|---|---|---|---|---|
| low | ブレスト、たたき台、名前の変更などの小さな修正、サブエージェント | 35 | 約 21M | 約 153 秒 |
| medium(デフォルト) | 範囲がはっきりした日常の開発、新機能の実装など | 48 | 約 43M | 約 347 秒 |
| high | 検証が重要な作業、エッジケースが多い作業、既存コードのバグ修正など | 52 | 約 56M | 約 474 秒 |
| xhigh | より深い推論、30 分以上の長いタスク | 57 | 約 100M | 約 793 秒 |
| max | 脆弱性探しなど Claude に任せきりにする難題。考えすぎることがある | 58 | 約 218M | 約 1141 秒 |
high から xhigh へは約 1.8 倍の token で 5 ポイント、xhigh から max へは token が 2 倍以上になって 1 ポイントです。AA は medium、high、xhigh、max の 4 つがいずれも「知能と 1 問あたりの負担」のパレート最前線にあるとしており、この 4 つにはそれぞれ向いた場面があり、どれか 1 つが一番というわけではありません。
なぜ effort を下げる人が増えているのか
話題になったのは 10 月 31 日です。Theo (t3.gg) の投稿によると、同僚の Julius に勧められて 1〜2 週間前に Opus 5.5 を extra high から high に変えたところ「ほぼ毎回こちらの方が良い」とのことです。翌日には effort レベルのランキング画像も投稿し、high が 1 位、medium と xhigh が次点、max が最下位でした。
ほかの代表的な声:
- @zwb44 によると、AA のデータをグラフにして「xhigh は 1.8 倍の token で 5 ポイント増」とまとめ、自分も
highを常用にしたら使用量と速度の差がはっきりわかったそうです。 - swyx によると、スループット重視なら
lowに自己レビューのループを組み合わせる方がよいとのことです。 - @jayleaton によると、95% の時間は
mediumで、CUDA カーネルの難しい最適化のときだけhighを使っています。 - 一方で、コーディングには
highかxhighでないと足りず、lowは弱すぎるという反対意見もあります。
X の話題まとめには「Anthropic は多くの作業で high を最適なバランスとして推奨」という一文もあります。公式ドキュメントを確認しましたが、Opus 5.5 についてこの記述は見つかりませんでした。Opus 5.5 のデフォルトと出発点は medium で、「high が品質と token 効率の最適なバランスになることが多い」という一文は Opus 4.7 の推奨にあるものです。本記事は Opus 5.5 のドキュメントに沿って書いています。
Anthropic 公式の説明
- medium から始め、Opus 5 の設定を持ち込まない:Opus 5.5 プロンプトガイドによると、Anthropic のテストでは Opus 5.5 の
mediumがコーディングと知的作業の評価で Opus 5 のhighと同等以上で、いくつかのコーディング評価ではlowもそれに近い結果でした。同じレベルでも Opus 5.5 は 1 ターンあたり Opus 5 より多く考え、特にxhighとmaxで顕著です。古い設定のままだとターンが長くなり token も増えます。 xhighとmaxは効果を測ってから:自分のタスクで複数のレベルを試してから決めるよう勧めています。考える量を減らしたいなら、プロンプトで指示するより先に effort を下げる方が確実です。- ブログ著者の使い方:公式ブログ claude.dev で Thariq Shihipar は Spending your effort の中で、新機能では Claude に仕様についてインタビューさせ、
lowで実装し、自分で確認してからhighで検証とテストをする流れを紹介しています。彼のテストでは effort が高いほど Claude はエッジケースを多く試し、自分で判断することも増えました。lowは早く叩き台を返すので、人がそばで見ながら進める作業に向いています。
ステップ 1:API Key を作成して Claude Code に接続
- aicodewith.ai に登録してログインし、キー管理画面で Key を作成し、作成時に表示される文字列をすべてコピーします。
- ターミナルで URL と Key を設定し、Opus 5.5 で Claude Code を起動します:
export ANTHROPIC_BASE_URL="https://api.aicodewith.ai"
export ANTHROPIC_AUTH_TOKEN="YOUR_API_KEY"
claude --model claude-opus-5-5
設定を保存したい場合、Windows の場合、ログインの競合が起きた場合は Claude Code をサードパーティ API に接続する方法を参照してください。Codex や Cursor でも Claude モデルを選べます。接続方法は同じ記事にあります。
ステップ 2:Claude Code で effort を設定・切り替える
Claude Code の下部のステータス行に現在のレベルが表示されます(例:◐ medium · /effort)。よく使うコマンド:
/effort status # Effort level: auto (currently medium)
/effort high # Set effort level to high (saved as your default for new sessions)
/effort # interactive slider: low / medium / high / xhigh / max
/effort auto # clear the saved level for the current model
/effort highのようにレベルを直接書く方法や、/effortスライダー・/model選択画面で Enter を押す方法は、そのモデルのデフォルトとして保存され、再起動後も残ります。スライダーでsを押すと今のセッションだけに適用されます。maxは保存されず、今のセッションだけに適用されます(環境変数で設定した場合を除く)。- 新しいレベルは次に送るメッセージから有効になります。
保存済みのデフォルトを変えずに一時的に切り替える方法:
# one session only
claude --model claude-opus-5-5 --effort high
# headless run (-p), this run only
claude -p "Fix the failing test" --model claude-opus-5-5 --effort low
# environment variable, overrides everything else
export CLAUDE_CODE_EFFORT_LEVEL=high
Claude Code がレベルを決める優先順位は、環境変数 CLAUDE_CODE_EFFORT_LEVEL、セッション内で /effort や /model で選んだレベル、起動オプション --effort、settings に保存したレベル、モデルのデフォルトの順です。
落とし穴:古い effortLevel は Opus 5.5 に効かない
以前の /effort は ~/.claude/settings.json の最上位に effortLevel を 1 行書いていました。現在はモデルごとに保存され、/effort high を実行するとファイルはこうなります(実測で得た内容):
{
"modelSettings": {
"claude-opus-5-5": {
"effortLevel": "high"
}
}
}
ユーザー設定がまだ古い書き方のままだと:
{
"effortLevel": "high"
}
実測では、このファイルで Opus 5.5 を起動すると /effort status は Effort level: auto (currently medium) と表示され、古い high は無視されました。同じファイルで Opus 5 を起動すると high でした。これは公式ドキュメントと一致します。ユーザー設定の最上位にある effortLevel は Opus 5.5 以降のモデルには数えられず、プロジェクト・ローカル・管理設定の最上位にある effortLevel はすべてのモデルに適用されます。Opus 5 から Opus 5.5 に移ったら、まず /effort status で実際のレベルを確認しましょう。
effort は skill やサブエージェントのファイルの frontmatter にも書けるので、特定の skill やサブエージェントだけ別のレベルで動かせます。1 ターンだけ深く考えさせたいときは、セッションのレベルを変えずにプロンプトに ultrathink と書けば済みます。
ステップ 3:API リクエストでの effort の書き方
effort は output_config の中に書き、beta ヘッダーは不要です。当サイトの Key を使う curl の例:
curl https://api.aicodewith.ai/v1/messages \
-H "x-api-key: YOUR_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-opus-5-5",
"max_tokens": 32000,
"output_config": { "effort": "high" },
"messages": [{ "role": "user", "content": "Write parse_duration(s) ..." }]
}'
Python SDK:
import anthropic
client = anthropic.Anthropic(base_url="https://api.aicodewith.ai")
resp = client.messages.create(
model="claude-opus-5-5",
max_tokens=32000,
output_config={"effort": "high"}, # low / medium / high / xhigh / max
messages=[{"role": "user", "content": "Write parse_duration(s) ..."}],
)
text = "".join(b.text for b in resp.content if b.type == "text") # thinking block comes first
注意点:
output_config.effortを送らなければモデルのデフォルトで、Opus 5.5 はmediumです。"medium"を明示しても省略しても動作はまったく同じです。- レベルが高いほど
max_tokensを大きくします。思考の token もmax_tokensに含まれるためです。Anthropic によると、長いエージェント型コーディングでは Opus 5.5 の上限である 128000 がうまくいったそうです。 contentの最初のブロックは多くの場合thinkingです。返答は最初のブロックを取るのではなくtype == "text"のブロックを探して読みます。- 会話の途中で最上位の effort を変えるとプロンプトキャッシュが無効になります。Opus 5.5 はメッセージ単位での effort 変更(beta、ヘッダー
mid-conversation-output-config-2026-07-01)に対応しており、キャッシュを保てます。書き方は公式ドキュメントを参照してください。
実測:当サイトの Key で各レベルを試す
テスト日は 2026 年 11 月 1 日、モデルは claude-opus-5-5、すべて当サイトの Key 経由です。
API:同じ問題を各レベルで
課題は "1h30m" や "2d4h" のような文字列を秒数に変換する parse_duration(s) 関数で、大文字小文字、空白、順序違い、単位の重複、小数、負の数などの不正な入力を扱う必要があります。各レベルのコードを 25 件のケース(正常 10 件、不正 15 件)で採点しました:
| effort | 所要時間 | 出力 token | 25 ケース |
|---|---|---|---|
| 指定なし(デフォルト) | 約 9.8 秒 | 411 | すべて合格 |
| low | 約 9.7 秒 | 410 | すべて合格 |
| medium | 約 10.7 秒 | 512 | すべて合格 |
| high | 約 12.1 秒 | 473 | すべて合格 |
| xhigh | 約 19.8 秒 | 798 | すべて合格 |
| max | 約 258.5 秒 | 5980 | すべて合格 |
指定なしと low がほぼ同じなのは、この問題が Opus 5.5 には簡単で、デフォルトでも少ししか考えないためです。max では 4 分以上考え、出力 token は high の 10 倍以上でしたが、結果は同じ 25/25 でした。max を非ストリーミングで送ったときは 4 分あまりで接続が切れ、ストリーミング("stream": true)に変えると結果を受け取れました。xhigh と max はストリーミングで使うことをお勧めします。
Claude Code:1 つのバグを 4 つのレベルで修正
区間をマージする関数にバグがあり、接している区間や隣り合う区間がマージされず、6 件中 2 件のテストが失敗します:
# ranges.py
def merge_ranges(ranges):
"""Merge overlapping or touching [start, end] integer ranges."""
ranges = sorted(ranges)
out = []
for s, e in ranges:
if out and s < out[-1][1]:
out[-1][1] = max(out[-1][1], e)
else:
out.append([s, e])
return out
Claude Code 2.1.310 で low、medium、high、xhigh をそれぞれ実行しました:
claude -p "Fix merge_ranges in ranges.py so all tests in test_ranges.py pass, then run python3 -m unittest. Reply with one short summary line." \
--model claude-opus-5-5 --effort high \
--permission-mode acceptEdits --allowedTools "Bash(python3 -m unittest*)"
| effort | Enter から結果まで | 結果 |
|---|---|---|
| low | 約 8.8 秒 | 6 件すべて合格 |
| medium | 約 10.2 秒 | 6 件すべて合格 |
| high | 約 14.2 秒 | 6 件すべて合格 |
| xhigh | 約 30.3 秒 | 6 件すべて合格 |
4 つのレベルとも同じ 1 行を変更しました:
- if out and s < out[-1][1]:
+ if out and s <= out[-1][1] + 1:
ユーザーの声と一致する結果です。範囲がはっきりしていてテストもある小さなタスクでは、レベルを上げても遅くなるだけで結果は良くなりません。 レベルの差が出るのは、エッジケースが多い、既存のテストがない、モデル自身の検証が必要といったタスクです。そのときにレベルを上げましょう。
API Key を作成して、自分のタスクで複数のレベルを試す →
タスク別のレベルの選び方
| タスク | 最初に試すレベル | メモ |
|---|---|---|
| 質問、名前の変更、下書き、サブエージェント | low | 速い。人が見ながらその都度修正 |
| 範囲がはっきりした機能追加、日常の開発 | medium(デフォルト) | Anthropic によると Opus 5 の high 相当 |
| 既存コードのバグ修正、テストで検証する作業 | high | ユーザーの報告によると、xhigh から下げた人の多くはこれで十分 |
| 数十分以上の長いタスク、移行、監査 | xhigh | token がかなり増える。max_tokens を大きくし、ストリーミングで |
| セキュリティ監査など Claude に任せきりにする難題 | max | Anthropic は考えすぎに注意を促している。まず小さな範囲で |
サブスクリプションの場合、レベルが高いほど token が増え、利用枠も早く減ります。API Key の場合、token 使用量はレベルとともに増え、リクエストごとの使用量は呼び出し履歴で確認できます。
よくあるエラーと質問
エラー「Opus 5.5 effort 必须为 low、medium、high、xhigh 或 max」
effort に "ultra" や "adaptive" を指定したところ、当サイトは次のように返しました(effort は low、medium、high、xhigh、max のいずれかでなければならない、という意味です):
HTTP 400
Opus 5.5 effort 必须为 low、medium、high、xhigh 或 max
有効なのはこの 5 つの名前だけです。adaptive は thinking のモードで effort のレベルではなく、Claude Code の ultracode も API のレベルではないので、どちらも output_config.effort には書けません。
high に設定したのに Opus 5.5 が medium のまま
多くの場合、上で説明した古い effortLevel の問題です。Opus 5.5 を選んだ状態で /effort high を実行し、/effort status で確認してください。環境変数 CLAUDE_CODE_EFFORT_LEVEL が設定されていないかも確認しましょう。これが最優先されます。
thinking disabled や budget_tokens で 400 になる
effort の公式ドキュメントと Opus 5.5 移行ガイドによると、Opus 5.5 は思考が常にオンで、thinking: {"type": "disabled"} や budget_tokens は公式 API で拒否されます。thinking フィールドを削除し、思考の深さは effort で調整してください。temperature、top_p、top_k も外します。
返答が途中で切れる、thinking だけで本文がない
max_tokens が小さすぎて思考で使い切っています。高いレベルでは max_tokens を大きくし、長いタスクはストリーミングにしてください。
Opus 4.6 や Sonnet 4.6 で xhigh を選んだ
この 2 つのモデルには xhigh がありません。Claude Code は選んだレベル以下で使える最も高いレベルに自動で下げるので、Opus 4.6 では xhigh が high として動きます。
Fast mode と effort は同じもの?
違います。effort はモデルがどれだけ考え検証するかを決めるもので、Fast mode は別のスイッチです。有効にする方法と向いている場面は Claude Opus 5.5 Fast Mode の使い方を参照してください。
Opus 5.5 を低いレベルで使うか、Sonnet 5.5 にするか
どちらも時間と token を節約できます。どちらが合うかはタスク次第なので、自分のタスクで両方試して比べてください。モデルの比較は Claude Sonnet 5.5 vs Opus 5.5 にまとめています。
関連記事
- Claude Opus 5.5 Fast Mode の使い方:Claude Code の /fast とエラー対処
- Claude Sonnet 5.5 vs Opus 5.5:コーディング能力と向いているタスク
- Claude Code はどのモデルを使う?Opus 5.5 と Sonnet 5.5 の選び方
- Claude Code をサードパーティ API に接続する方法:Base URL、API Key、モデル設定
- Claude の透かしが 11 月 3 日から:Claude Code や API の出力は記録される?
参考資料
- Anthropic 公式ドキュメント:Effort
- Claude Code ドキュメント:Model configuration(Adjust effort level)
- Anthropic:Prompting Claude Opus 5.5(Calibrate effort)
- Thariq Shihipar:Using Claude Code: Spending your effort
- Artificial Analysis:Claude Opus 5.5 takes the top spot、および xhigh vs max、high、medium vs low の比較ページ
- Theo の投稿、Theo のランキング画像、swyx、@zwb44、@jayleaton
- X の話題まとめ



