Claude APIでOpus 4.5だけにeffortというパラメータがあることを知りました。※Claude Codeじゃないです。

ざっくり言うと、Claudeにどれくらい頑張ってもらうかを3段階で指定できる機能です。lowにするとトークン消費が大幅に減るとのこと。

Claude APIを使っていて、節約したい方向けの記事です。

effortパラメータとは

effortlow / medium / highの3段階で指定します。

response = client.beta.messages.create(
    model="claude-opus-4-5-20251101",
    betas=["effort-2025-11-24"],
    max_tokens=4096,
    messages=[{"role": "user", "content": "..."}],
    output_config={
        "effort": "medium"
    }
)

公式の案内

low最大限の能力を発揮(省略時と同じ)
mediumバランス型、適度なトークン節約
high最も効率的、大幅なトークン節約

thinking budgetとは別物

最初、MAX_THINKING_TOKENSとかbudget_tokensと同じものかと思っていたんですが、違います。

パラメータ対象
effort全トークン(thinking + text + tool calls)low / medium / high
budget_tokensthinkingトークンのみ数値(1024〜)

effortは全体的な頑張り度合いを制御するもので、thinking budgetはextended thinking専用の上限設定です。併用もできます。

どれくらい削減できるのか

公式発表の数字がなかなか強烈です。

mediumSonnet 4.5と同等の性能で、出力トークン76%削減
highSonnet 4.5より4.3%高性能で、出力トークン48%削減

76%削減はかなりインパクトありますね。mediumでも性能は落ちないというのがポイントです。

使いどころ

公式ドキュメントではこんな使い分けが推奨されていました。

low単純なタスク、サブエージェント、速度重視のワークロード
medium速度・コスト・性能のバランスが必要なエージェントタスク
high複雑な推論、難しいコーディング、エージェントタスク

エージェントで複数のClaudeを動かすときに、メインはhighでサブエージェントはlowにする、みたいな使い方が想定されているようです。

現状の制約

いくつか注意点があります。

Opus 4.5限定

今のところclaude-opus-4-5-20251101でしか使えません。
Sonnetとかでは動かないです。

ベータ機能

effort-2025-11-24というベータヘッダーが必要です。

curl https://api.anthropic.com/v1/messages \
    --header "anthropic-beta: effort-2025-11-24" \
    --data '{
        "model": "claude-opus-4-5-20251101",
        "output_config": {"effort": "medium"},
        ...
    }'

Claude Code CLIでは?

--betasオプションでベータを有効にはできるんですが、effortの値を指定するフラグは今のところなさそうです。API経由で使う前提ですね。

試してみた感想

実際にmediumで使ってみたんですが、体感としてはそこまで劣化した感じはしませんでした。

ただ、複雑なコード生成とかだとhighの方が明らかに丁寧な出力になる印象です。単純なタスクならlowでも十分かもしれませんが、このあたりはもう少し検証が必要そうです。

Opus 4.5自体がそもそも高いので、76%削減は地味に効いてくるんじゃないかと思います。エージェント的な使い方をしている人は試してみる価値ありそうです。


参考

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる