Claude Platform Docs
Messagesモデルの機能

エフォート

effortパラメータを使用して、Claudeが応答時に使用するトークン数を制御し、応答の徹底性とトークン効率のバランスを調整します。

「effort」(エフォート)パラメータを使用すると、Claudeがリクエストに応答する際に費やすトークン数を制御できます。単一のモデルで、応答の徹底度とトークン効率のバランスを調整できます。トップレベルのeffortパラメータは、サポートされているすべてのモデルでベータヘッダーなしで利用できます。メッセージごとのエフォートはベータ版です。

エフォートレベルを設定する

リクエストにoutput_config.effortを設定します。次の例では、mediumエフォートで1つのリクエストを実行し、応答テキストを出力します。

client = anthropic.Anthropic()

response = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=4096,
    messages=[
        {
            "role": "user",
            "content": "Analyze the trade-offs between microservices and monolithic architectures",
        }
    ],
    output_config={"effort": "medium"},
)

for block in response.content:
    if block.type == "text":
        print(block.text)

エフォートの仕組み

ほとんどのClaudeモデルはデフォルトでhighエフォートとなり、優れた結果を得るために必要なだけトークンを消費します。Claude Opus 5.5とClaude Haiku 5.5のデフォルトはmediumです。エフォートレベルをmaxに上げて絶対的に最高の能力を引き出すことも、レベルを下げてトークン使用量をより控えめにし、ある程度の能力低下を受け入れつつ速度とコストを最適化することもできます。

effortパラメータは、応答内のすべてのトークンに影響します。これには以下が含まれます。

  • テキストによる応答と説明
  • ツール呼び出しと関数の引数
  • 思考(有効な場合)

エフォートはすべての出力トークンに適用されるため、思考が有効かどうかにかかわらず機能します。エフォートを下げると、ツール呼び出しの数も減り、より簡潔になります。

エフォートレベル

レベル説明典型的なユースケース
maxトークン消費に制約のない、絶対的な最大能力。Claude Fable 5.1、Claude Mythos 5.1、Claude Fable 5、Claude Mythos 5、Claude Mythos Preview、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Opus 4.6、Claude Sonnet 5.5、Claude Sonnet 5、Claude Sonnet 4.6、Claude Haiku 5.5で利用可能です。可能な限り深い推論と最も徹底的な分析を必要とするタスク
xhigh長期的な作業のための拡張された能力。Claude Fable 5.1、Claude Mythos 5.1、Claude Fable 5、Claude Mythos 5、Claude Opus 5.5、Claude Opus 5、Claude Opus 4.8、Claude Opus 4.7、Claude Sonnet 5.5、Claude Sonnet 5、Claude Haiku 5.5で利用可能です。数百万トークン規模の予算を持つ、長時間(30分以上)実行されるエージェントタスクやコーディングタスク
high優れた結果を得るために、タスクに必要なだけトークンを消費します。Claude Opus 5.5とClaude Haiku 5.5を除く、エフォートをサポートするすべてのモデルでのデフォルトです。複雑な推論、難しいコーディング問題、エージェントタスク
medium適度なトークン節約を伴うバランスの取れたアプローチ。Claude Opus 5.5とClaude Haiku 5.5でのデフォルトです。速度、コスト、パフォーマンスのバランスが求められるエージェントタスク
low最も効率的。ある程度の能力低下を伴いつつ、大幅なトークン節約が可能です。サブエージェントなど、最高の速度と最低のコストが求められるよりシンプルなタスク

maxをサポートするすべてのモデルがxhighをサポートしているわけではありません。

以下のモデルごとの推奨事項は、この表と異なる場合にはこの表よりも優先されます。

Claude Fable 5.1は5つのエフォートレベルすべてをサポートしています。デフォルトのhighから始めてください。 最も能力に敏感なエージェント型作業やコーディング作業にはxhighまたはmaxに上げ、評価で品質が維持されることが確認できたら、定型的な作業やレイテンシに敏感な作業にはmediumまたはlowに下げてください。high以上では、大きなmax_tokensを設定してください。これは総出力(思考と応答テキストの合計)に対するハードリミットです。同じ推奨事項がClaude Mythos 5.1にも適用されます。Claude Fable 5.1のプロンプティングを参照してください。

Claude Fable 5.1は、メッセージごとのoutput_configによる会話途中でのエフォート変更もサポートしており、これによりプロンプトキャッシュが保持されます。

エフォートは、Claude Fable 5において知能、レイテンシ、コストのトレードオフを調整するための主要な制御手段です。ほとんどのタスクではデフォルトのhighから始め、最も能力に敏感なワークロードにはxhighを使用し、定型的な作業にはmediumまたはlowに下げてください。Claude Fable 5では低いエフォート設定でも十分に高いパフォーマンスを発揮し、以前のモデルのxhighのパフォーマンスを上回ることもよくあります。highおよびxhighでは、大きなmax_tokensを設定してください。これは総出力(思考と応答テキストの合計)に対するハードリミットです。コスト管理を参照してください。

タスクは完了するものの必要以上に時間がかかる場合、またはより高速でインタラクティブな作業スタイルを望む場合は、エフォートを下げてください。同じ推奨事項がClaude Mythos 5にも適用されます。より詳しいガイダンスについては、Claude Fable 5のプロンプティングを参照してください。

Claude Opus 5.5は5つのエフォートレベルすべてをサポートしており、mediumがデフォルトです(Claude Opus 5以前のOpusモデルのデフォルトはhighであるため、effortを省略したリクエストはClaude Opus 5の場合より1レベル低く実行されます)。適応型思考は常に有効で無効にできないため、エフォートはモデルがどれだけ推論するか、そしてリクエストにどれだけコストがかかるかを決める主要な制御手段です。以前のモデルの設定を引き継ぐのではなく、独自の評価でエフォートのスイープを実行し、高いレベルでは大きなmax_tokensを設定してください。これは出力全体(思考と応答テキストの合計)に対するハードリミットです。thinking: {"type": "disabled"}を設定したリクエストは、どのエフォートレベルでも400エラーを返します。Claude Opus 5.5は、メッセージごとのoutput_configによる会話途中でのエフォートの変更もサポートしており、これによりプロンプトキャッシングのキャッシュが保持されます。Claude Opus 5.5へのプロンプティングを参照してください。

Claude Opus 5は5つのエフォートレベルすべてをサポートしています。デフォルトであるhighから始め、評価に基づいて調整してください。要求の厳しいコーディングやエージェント型作業ではxhighに、タスクが制約のないトークン消費に見合う場合はmaxに上げ、評価で品質が維持されることが示される場合は、トークンコストと応答時間の主要な制御手段としてlowとmediumを積極的に使用してください。以前のモデルからエフォート設定を引き継いだ場合は、それを再利用するのではなく、評価で新たにエフォートのスイープを実行してください。

エフォートは思考の量を制御するものであり、表示される応答の長さを制御するものではありません。Claude Opus 5では、エフォートを変更しても応答が確実に短くなるわけではないため、代わりに長さをプロンプトで指定してください。

APIのデフォルトはhighです。別のレベルを使用するには、effortを明示的に設定してください。渡した値がデフォルトより優先されます。

Claude Opus 5では、xhighまたはmaxエフォートで思考を無効にすることはできません。これらのレベルでthinking: {"type": "disabled"}を設定したリクエストは400エラーを返します。思考とエフォートを参照してください。

Claude Opus 5をxhighまたはmaxエフォートで実行する場合は、モデルがサブエージェントやツール呼び出しにわたって思考し行動する余地を持てるよう、大きなmax_tokensを設定してください。64kトークンから始めてそこから調整するのが妥当なデフォルトです。

Claude Opus 5は、メッセージごとのoutput_configによる会話途中でのエフォート変更もサポートしており、これによりプロンプトのキャッシュが保持されます。Amazon BedrockのClaude Opus 5では、メッセージごとのエフォートは利用できません。

Claude Opus 4.7のガイダンスはClaude Opus 4.8にも適用されます。コーディングおよびエージェント型のユースケースではxhighから始め、その他のほとんどの知能に敏感なワークロードにはhighを使用し、低いレベルでも評価で品質が維持されることを測定した場合にのみmediumまたはlowに下げてください。

APIのデフォルトはhighです。別のレベルを使用するにはeffortを明示的に設定してください。渡した値がデフォルトを上書きします。

Claude Opus 4.8をxhighまたはmaxエフォートで実行する場合は、モデルがサブエージェントやツール呼び出しにわたって思考し行動する余地を持てるよう、大きなmax_tokensを設定してください。64kトークンから始めてそこから調整するのが妥当なデフォルトです。

コーディングおよびエージェント型のユースケースではxhighから始め、知能が重視されるほとんどのワークロードではhighを最低ラインとして使用してください。コストが重視されるワークロードではmediumに下げ、評価でxhighに測定可能な改善の余地があることが示された場合にのみmaxに上げてください。

APIのデフォルトはhighです。xhighを使用するには、effortを明示的に設定してください。渡した値がデフォルトより優先されます。

エフォートClaude Opus 4.7向けのガイダンス
low効率的ですが、短く範囲が限定されたタスクに最適です。タスクに複数のセクションがある場合は、lowと明示的なチェックリストを組み合わせてください。
mediumコストを削減しつつ良好な結果を得たい、平均的なワークフロー向けのそのまま使える選択肢です。
high知能とトークン消費のバランスが依然として必要な高度なユースケース。多くの場合、品質とトークン効率の最適なバランスとなります。
xhighコーディングやエージェント型作業、および繰り返しのツール呼び出し、詳細なウェブ検索、ナレッジベース検索などの探索的タスクに推奨される出発点です。highよりも大幅に多いトークン使用量を想定してください。
max最先端の問題のために取っておいてください。ほとんどのワークロードでは、maxは比較的小さな品質向上に対して大きなコストを追加し、一部の構造化出力タスクや知能がそれほど重視されないタスクでは考えすぎにつながる可能性があります。

Claude Opus 4.7は、特にlowとmediumにおいて、Claude Opus 4.6よりもエフォートレベルをより厳密に守ります。低いエフォートレベルでは、モデルは要求された以上のことを行うのではなく、要求された内容に作業範囲を限定します。Claude Opus 4.7で複雑な問題に対する推論が浅いと感じた場合は、プロンプトで回避するのではなくエフォートを上げてください。レイテンシのためにエフォートを低く保つ必要がある場合は、「このタスクには複数ステップの推論が含まれます。応答する前に慎重に考えてください。」のような的を絞ったガイダンスを追加してください。

Claude Opus 4.7をxhighまたはmaxエフォートで実行する場合は、モデルがサブエージェントやツール呼び出しにわたって思考し行動する余地を持てるよう、大きなmax_tokensを設定してください。64kトークンから始めてそこから調整するのが妥当なデフォルトです。

Claude Sonnet 5.5は5つのエフォートレベルすべてをサポートしており、Claude APIでのデフォルトはhighです。レベルは再調整されているため、あるレベルがClaude Sonnet 5の同じレベルと同じ量の思考を生み出すわけではありません。Claude Sonnet 5で使用していた設定を引き継ぐのではなく、評価で新たにエフォートのスイープを実行してください。ワークロードがエージェント型またはレイテンシ重視でない限り、highから始めてください。エージェント型コーディングや複数ステップのツール使用では、明確に定義されたタスクにはmediumから始め、より難しいタスクや長いタスクにはhighに移行してください。チャットやその他のレイテンシが重視される作業では、mediumまたはlowから始めてください。xhighまたはmaxは、評価で品質向上が示される場合にのみ使用してください。max_tokensは思考と応答の両方に余裕を持たせて設定してください。思考の内容が返されない場合でも、思考はmax_tokensにカウントされます。エージェント型コーディングでは、max_tokensをモデルの最大値である128,000に設定し、応答をストリーミングしてください。

事前の思考をオフにするには、"disabled"の代わりにthinking: {"type": "between_tools"}を送信してください。これはClaude Sonnet 5.5で最も低い思考設定であり、low、medium、highエフォートで機能します。xhighまたはmaxでは、これを含むリクエストは400エラーを返すため、これらのレベルでは適応型思考を使用してください。thinkingフィールドを省略するか、thinking: {"type": "adaptive"}を送信します。事前思考なしでの実行を参照してください。

Claude Sonnet 5.5は、メッセージごとのoutput_configによる会話途中でのエフォート変更もサポートしており、これによりプロンプトのキャッシュが保持されます。between_toolsを使用している場合、会話途中でエフォートを変更することはできません。有効なレベルと異なるメッセージごとのoutput_config.effortは400エラーを返します。ターンごとにエフォートを変えるには、適応型思考を使用してください。Claude Sonnet 5.5へのプロンプトを参照してください。

Claude Sonnet 5は、Claude APIおよびClaude Codeでデフォルトでhighエフォートになります。

  • Highエフォート(デフォルト): 速度やコストよりも品質が重要な、複雑な推論、コーディング、エージェント型タスクに適しています。
  • Xhighエフォート: 最も難しいコーディングおよびエージェント型タスク向け。Claude Sonnet 5のプロンプティングを参照してください。
  • Mediumエフォート: デフォルトからコストを節約するための一段階下の設定。highエフォートのClaude Sonnet 4.6に匹敵します。
  • Lowエフォート: 大量処理またはレイテンシに敏感なワークロード向け。より速い応答が優先されるチャットや非コーディングのユースケースに適しています。
  • Maxエフォート: トークン消費に制約のない絶対的に最高の能力を必要とするタスク向け。

Sonnet 4.6はデフォルトでhighエフォートになります。予期しないレイテンシを避けるため、Sonnet 4.6を使用する際はエフォートを明示的に設定してください。

  • Mediumエフォート(推奨デフォルト):ほとんどのアプリケーションにおいて、速度、コスト、パフォーマンスの最適なバランスを提供します。エージェント型コーディング、ツールを多用するワークフロー、コード生成に適しています。
  • Lowエフォート: 大量処理またはレイテンシが重視されるワークロード向けです。より速い応答が優先されるチャットやコーディング以外のユースケースに適しています。
  • Highエフォート: 速度やコストよりも品質が重要な、複雑な推論やタスク向けです。
  • Maxエフォート: トークン消費に制約なく、絶対的に最高の能力を必要とするタスク向けです。

Claude Haiku 5.5は5つのエフォートレベルすべてをサポートしており、デフォルトはmediumです。エフォートは、モデルがどれだけ思考するか、そしてそれに伴う品質、レイテンシ、コストを決める主要な制御手段です。エージェント型コーディングを含むほとんどの作業では、mediumから始めてください。チャット、短いツールタスク、シンプルで大量のリクエストには、最も安価で高速なレベルであるlowを使用してください。長いエージェントプロンプトでは、lowの場合、モデルが検索を省略したり、早期に停止したり、チェックを省略したりする可能性が高くなります。ナレッジワーク、より長いエージェントタスク、厳密な指示追従にはhighを使用してください。xhighまたはmaxは、評価で品質向上が示された場合にのみ使用し、パフォーマンス、コスト、速度の面でClaude Sonnet 5.5と比較してください。思考はデフォルトで有効であり、max_tokensにカウントされるため、その分の余裕を残してください。Claude Haiku 5.5へのプロンプトを参照してください。

思考を減らすには、エフォートレベルを下げてください。highエフォート以下では、thinking: {"type": "disabled"}を送信することもできます。xhighまたはmaxではこれは400エラーを返すため、これらのレベルでは適応型思考を使用してください。thinkingフィールドを省略するか、thinking: {"type": "adaptive"}を送信します。

Claude APIおよびGoogle Cloudでは、Claude Haiku 5.5はメッセージごとのoutput_configによる会話途中でのエフォート変更もサポートしており、これによりプロンプトのキャッシュが保持されます。thinking: {"type": "disabled"}を使用している場合、会話途中でエフォートを変更することはできません。有効なレベルと異なるメッセージごとのoutput_config.effortは400エラーを返します。ターンごとにエフォートを変えるには、適応型思考を使用してください。

ツール使用におけるエフォート

ツールを使用する場合、effortパラメータはツール呼び出しに関する説明とツール呼び出し自体の両方に影響します。低いエフォートレベルでは次のような傾向があります。

  • 複数の操作をより少ないツール呼び出しにまとめる
  • ツール呼び出しの回数を減らす
  • 前置きなしに直接アクションに進む
  • 完了後に簡潔な確認メッセージを使用する

高いエフォートレベルでは次のようになる場合があります。

  • より多くのツール呼び出しを行う
  • アクションを取る前に計画を説明する
  • 変更の詳細な要約を提供する
  • より包括的なコードコメントを含める

思考におけるエフォート

thinking パラメータは、Claudeが回答する前に思考ブロックで思考するかどうかを制御します。effort パラメータは、Claudeが応答全体にどれだけの労力を費やすかを制御し、アダプティブモードではどのくらいの頻度で、どのくらい深く思考するかも含まれます。effort の値として adaptive を渡さないでください。adaptive は思考モードであり、effortレベルではありません。

高いeffortレベルでは、Claudeはより積極的に、より長く思考します。ツール使用のループでは、ツールの結果を処理するだけのフォローアップリクエストは、どのレベルでも思考をスキップすることがあります。低いレベルでは、Claudeはよりシンプルな問題に対して思考を完全にスキップすることがあります。2つの制御がどのように連携するかについての詳しいガイダンスは、思考とeffortを参照してください。

エフォートをサポートする唯一の拡張思考専用モデルであるClaude Opus 4.5では、エフォートはbudget_tokensと併用されます。タスクに応じたエフォートレベルを設定し、次にタスクが必要とする推論の深さに基づいて思考トークン予算を設定してください。

モデルごとの思考の利用可否については、モデルごとの設定表を参照してください。エフォートは思考の有無にかかわらず機能します。エフォートの仕組みを参照してください。

会話途中でエフォートを変更する

会話の後半のターンを別のエフォートレベルで実行する方法は2つあります。Claude Fable 5.1、Claude Mythos 5.1、Claude Opus 5.5、Claude Opus 5、Claude Sonnet 5.5、Claude Haiku 5.5では、メッセージごとのエフォート変更を使用します。これによりプロンプトのキャッシュが保持されます。その他のモデルでは、次のリクエストで新しいトップレベルの値を設定します。この場合、キャッシュは最初からやり直しになります。

メッセージごとのエフォート(ベータ)

メッセージごとのエフォートはベータ版です。Claude APIおよびGoogle Cloudでは、Claude Fable 5.1、Claude Mythos 5.1、Claude Opus 5.5、Claude Opus 5、Claude Sonnet 5.5、Claude Haiku 5.5で利用可能です。Amazon Bedrockでは、Claude Fable 5.1、Claude Mythos 5.1、Claude Opus 5.5で利用可能です。ベータヘッダーmid-conversation-output-config-2026-07-01が必要です。Amazon BedrockのInvokeModel APIでは、Claude Fable 5.1とClaude Opus 5.5で利用可能で、代わりにその値をリクエストボディのanthropic_beta配列で送信します。

ベータ値がない場合、メッセージごとのoutput_configは400エラーmessages.N.output_config: Extra inputs are not permittedを返します。ここでNはmessages内のsystemメッセージのインデックスです。ベータ値がある場合、Claude Fable 5を含む、メッセージごとのエフォートに対応していないモデルは、400エラーoutput_config.effort requires a model that supports per-turn effort; this model does notを返します。Amazon Bedrockでは、これらのモデルとClaude Opus 5は代わりにExtra inputs are not permittedエラーを返します。thinking: {"type": "between_tools"}を使用するClaude Sonnet 5.5、およびthinking: {"type": "disabled"}を使用するClaude Haiku 5.5では、会話途中でエフォートを変更することはできません。有効なレベルと異なるメッセージごとのoutput_config.effortは400エラーを返します。ターンごとにエフォートを変えるには、適応型思考を使用してください。

空のcontentと、output_config.effortに新しいレベルを持つrole: "system"メッセージを追加します。新しい入力を含むuserターンの直後に配置すると、そのターンに対するClaudeの応答のレベルが設定されます。次の例のようにassistantターンと次のuserターンの間など、それ以外の場所に配置すると、新しい入力を含む次のuserターンから有効になります。tool_resultブロックのみを含むuserターンは新しい入力とはみなされないため、ツール使用ループでそのようなターンの後に配置された変更は、新しい入力を含む次のuserターンまで待機します。その後、新しいレベルは後続のメッセージで変更されるまで維持されます。そのメッセージより前のすべては変更されないため、キャッシュされたプレフィックスは引き続き一致します。

次の例では、highで開始し、定型的なフォローアップのためにlowに下げています。

client = anthropic.Anthropic()

response = client.beta.messages.create(
    model="claude-fable-5-1",
    max_tokens=4096,
    output_config={"effort": "high"},
    messages=[
        {
            "role": "user",
            "content": "Plan a migration from SQLite to PostgreSQL in three short steps.",
        },
        {
            "role": "assistant",
            "content": "1. Export the SQLite data. 2. Create the PostgreSQL schema. 3. Import the data and verify row counts.",
        },
        # effort のみのシステムメッセージです。新しいレベルは次のユーザーターンから有効になります。
        {"role": "system", "content": [], "output_config": {"effort": "low"}},
        {"role": "user", "content": "Summarize the plan in one sentence."},
    ],
    betas=["mid-conversation-output-config-2026-07-01"],
)

for block in response.content:
    if block.type == "text":
        print(block.text)

エフォートのみのシステムメッセージはテキストを含まないため、会話途中のシステムメッセージの配置ルールは適用されません。最初のエントリとして、またはassistantターンと次のuserターンの間など、messages内のどこにでも配置できます。値はレベル名(low、medium、high、xhigh、max)です。

リクエスト間でトップレベルの値を変更するよりも、この形式を優先してください。トップレベルの変更ではキャッシュが最初からやり直しになるうえ、Claude Fable 5.1ではモデルの誘導の信頼性も低くなります。モデルの以前の応答は前のレベルで書かれており、モデルはそれらとの一貫性を保とうとする傾向があるためです。

次のリクエストでのトップレベルのエフォート

トップレベルのoutput_config.effortはリクエスト全体に適用されます。会話の後の部分を異なるレベルで実行するには、次のリクエストで新しい値を設定します。トップレベルのエフォートはレンダリングされるプロンプトを形成するため、リクエスト間で変更すると以前のターンからのキャッシュされたプレフィックスは保持されません。長いセッションにわたってプロンプトキャッシングに依存しており、モデルがメッセージごとのエフォートをサポートしていない場合は、最初にエフォートレベルを選択し、それを一定に保ってください。

ベストプラクティス

  1. エフォートを明示的に設定する: APIのデフォルトはhigh(Claude Opus 5.5とClaude Haiku 5.5ではmedium)ですが、適切な出発点はモデルとワークロードによって異なります。
  2. 速度が重視されるタスクやシンプルなタスクにはlowを使用する: レイテンシが重要な場合やタスクが単純な場合、lowエフォートは応答時間とコストを大幅に削減できます。
  3. ユースケースをテストする: エフォートレベルの影響はタスクの種類によって異なります。デプロイする前に、特定のユースケースでパフォーマンスを評価してください。
  4. 動的なエフォートを検討する: タスクの複雑さに基づいてエフォートを調整してください。シンプルなクエリにはlowエフォートが適している場合がありますが、エージェント型コーディングや複雑な推論にはhighエフォートが有効です。1つの会話内でエフォートを変える前に、次の項目を確認してください。
  5. キャッシュされた会話内ではトップレベルのエフォートを一定に保つ: リクエスト間でトップレベルのエフォート値を変更するとプロンプトキャッシングが無効になるため、キャッシュヒットに依存する会話内ではなく、ワークロード間で変えるようにしてください。サポートされているモデルでは、代わりにキャッシュを保持するメッセージごとのエフォート変更を使用してください。思考とプロンプトキャッシングを参照してください。

次のステップ

エージェントループ全体に対する参考用のトークン予算をClaudeに与え、長いエージェントタスクでモデルが自己調整できるようにします。

Claudeがいつ、どれだけ思考するかを判断する適応型思考を理解し、エフォートとプロンプトでそれを誘導します。

思考の仕組み、Claudeがデフォルトで思考するタイミング、そして思考がエフォートとどのように相互作用するかを理解します。

Compatibility

Supported models
  • Fable 5 and 5.1
  • Mythos 5, 5.1, and Preview
  • Opus 4.5, 4.6, 4.7, 4.8, 5, and 5.5
  • Sonnet 4.6, 5, and 5.5
  • Haiku 5.5
Supported platforms
  • Claude API
  • Claude Platform on AWS
  • Amazon Bedrock
  • Google Cloud
  • Microsoft Foundry

Was this page helpful?