Effort
effortパラメータを使用すると、リクエストに応答する際にClaudeがトークンを使用する意欲をコントロールできます。これにより、単一のモデルで応答の徹底性とトークン効率のバランスを取ることができます。
effortパラメータは現在ベータ版であり、Claude Opus 4.5でのみサポートされています。
この機能を使用する場合は、ベータヘッダー effort-2025-11-24 を含める必要があります。
effortの仕組み
デフォルトでは、Claudeは最大限の努力を使用します。つまり、徹底的な応答を提供するために必要なだけ多くのトークンを使用します。effortレベルを下げることで、Claudeにトークン使用をより控えめにするよう指示でき、トークンをより高価なリソースとして扱います。
effort を "high" に設定すると、effort パラメータを省略した場合とまったく同じ動作になります。
effortパラメータは応答内のすべてのトークンに影響します。以下を含みます:
- テキスト応答と説明
- ツール呼び出しと関数の引数
- 拡張思考(有効な場合)
Effortレベル
| レベル | 説明 | 典型的なユースケース |
|---|---|---|
high | 最大限の徹底性—Claudeは必要なだけ多くのトークンを使用します。パラメータを設定しない場合と同等です。 | 複雑な分析、詳細な説明、教育的コンテンツ |
medium | トークン削減が適度なバランスの取れたアプローチ。 | ほとんどの本番ユースケース、コスト意識のあるアプリケーション |
low | 最もトークン効率的な応答。 | 大量自動化、シンプルなクエリ、応答がプログラムで処理される場合 |
基本的な使用方法
import anthropic
client = anthropic.Anthropic()
response = client.beta.messages.create(
model="claude-opus-4-5-20251101",
betas=["effort-2025-11-24"],
max_tokens=4096,
messages=[{
"role": "user",
"content": "Analyze the trade-offs between microservices and monolithic architectures"
}],
output_config={
"effort": "medium"
}
)
print(response.content[0].text)Effortレベル別の動作
effortパラメータは主に出力の冗長性と説明の深さをコントロールし、応答の正確性ではありません。Claudeはeffortレベルに関係なく同様の内部推論を実行しますが、その推論の多くが出力に表示される方法を調整します。
低effortの応答
- 最小限の説明で直接述べられた答え
- 簡潔で効率的な応答(1~2文のコンテキスト)
- 公式は示されるが導出されない
- 読者が答えを検証できることを想定
- ツール使用の簡潔な確認(「完了。」、「修正しました。」)
中程度のeffortの応答
- 答えの前に簡潔なコンテキスト
- 主要な中間ステップを含む簡潔な正当化
- 1つの実行例を含む場合がある
- 依然として効率に焦点を当てている
高effortの応答
- セクションヘッダーで構成
- 問題の設定と変数の定義
- ステップバイステップの解決プロセス
- 検証と妥当性チェック
- リッチなマークダウンフォーマット
ユースケース
低effortを使用する場合
- 速度最適化:トークン数が少ないほど応答時間が短くなり、レイテンシに敏感なアプリケーションに有益です
- 自動化パイプライン:応答が人間によって読まれるのではなくコードによって処理される場合
- 大量アプリケーション:ルーチンで単純なクエリのコストを削減
- 経験豊富なユーザー:ユーザーが詳細な説明を必要としない場合
- クイック確認:シンプルなはい/いいえまたはステータス応答
中程度のeffortを使用する場合
- 本番API:明確さとコスト効率のバランス
- ユーザー向けアプリケーション:過度な冗長性なしに十分なコンテキスト
- コスト意識のあるデプロイメント:品質への影響を最小限に抑えながら大幅な節約
高effortを使用する場合(またはeffortパラメータなし)
- 複雑な分析:徹底性が重要な場合
- 教育的コンテンツ:ユーザーが推論を理解する必要がある場合
- ドキュメンテーション:応答が参考資料として機能する場合
- デバッグ:詳細な説明が問題の特定に役立つ場合
ツール使用でのeffort
ツールを使用する場合、effortパラメータはツール呼び出しの周りの説明とツール呼び出し自体の両方に影響します。低effortレベルは傾向があります:
- 複数の操作を少ないツール呼び出しに結合する
- 前置きなしに直接アクションに進む
- 完了後に簡潔な確認メッセージを使用する
高effortレベルは以下を含む場合があります:
- アクションを取る前に計画を説明する
- 変更の詳細な要約を提供する
- より包括的なコードコメントを含める
拡張思考でのeffort
effortパラメータは、拡張思考が有効な場合、思考トークン予算と一緒に機能します。これら2つのコントロールは異なる目的を果たします:
- Effortパラメータ:思考トークン、テキスト応答、ツール呼び出しを含むすべてのトークンをClaudeがどのように使用するかをコントロールします
- 思考トークン予算:特に思考トークンの最大制限を設定します
effortパラメータは、拡張思考が有効かどうかに関係なく使用できます。両方が構成されている場合:
- まずタスクに適切なeffortレベルを決定します
- その後、タスクの複雑さに基づいて思考トークン予算を設定します
複雑な推論タスクで最高のパフォーマンスを得るには、高effort(デフォルト)を高い思考トークン予算と一緒に使用します。これにより、Claudeは徹底的に考え、包括的な応答を提供できます。
ベストプラクティス
-
中程度から始める:ほとんどのアプリケーションでは、中程度のeffortは品質と効率の良好なバランスを提供します。
-
自動化に低を使用する:応答がコードではなく人間によって消費される場合、低effortは正確性に影響を与えることなくコストを大幅に削減できます。
-
ユースケースをテストする:effortレベルの影響はタスクタイプによって異なります。デプロイする前に特定のユースケースでパフォーマンスを評価してください。
-
品質を監視する:正確性は一般的にeffortレベル全体で保持されますが、説明の品質は異なります。選択したレベルがユーザーのニーズを満たしていることを確認してください。
-
動的effortを検討する:タスクの複雑さまたはユーザーの好みに基づいてeffortを調整します。シンプルなクエリは低effortを保証する場合がありますが、複雑な分析は高effortから利益を得ます。