

# Amazon Nova 2 の拡張思考
<a name="extended-thinking"></a>

Amazon Nova 2 Lite では、モデルが複雑な問題のより深い推論を行える、**拡張思考**機能が導入されています。このオプション機能を使用すると、モデルが困難なタスクを検討するために追加の計算リソースを割り当てるタイミングと方法を制御できます。

## 拡張思考の仕組み
<a name="how-extended-thinking-works"></a>

 Amazon Nova 2 では、**ハイブリッド機能**として拡張思考が導入されています。以下のように、完全な制御が行えます。
+ **拡張思考オフ (デフォルト)**: Amazon Nova 2 は効率的な潜在推論で動作し、日常的なタスクや大量のアプリケーションに最適です。
+ **拡張思考オン**: Amazon Nova 2 は、詳細な分析を必要とする複雑な問題に最適な明示的な段階的推論を行います。

### 推論の労力
<a name="reasoning-effort"></a>

以下は、さまざまなレベルの推論労力を示しています。

#### 低労力 (maxReasoningeffort:"low")
<a name="reasoning-effort-low"></a>

**最適な用途:** 構造化された思考を必要とする複雑なタスク。例えば、モデルが既存のコード品質を慎重に検討する必要があるコードレビューや改善の提案、複数の要因を慎重に検討する必要がある分析タスク、または体系的なアプローチから恩恵を受ける問題解決シナリオに使用できます。低労力は、基本的な推論が詳細なマルチステップ計画を必要とせずに精度を向上させる複合タスクに最適です。

#### 中程度の労力 (maxReasoningEffort: "medium")
<a name="reasoning-effort-medium"></a>

**最適な用途:** マルチステップタスクとコーディングワークフロー。例えば、変更を実装する前にモデルが既存のコード構造を理解する必要があるソフトウェア開発とデバッグ、複数のファイルまたはコンポーネント間の調整を必要とするコード生成、相互依存関係による複数ステップの計算、または複数の制約を伴うタスクの計画に使用できます。中程度の労力は、複数のツールを調整し、モデルが複数のシーケンシャルオペレーションにわたってコンテキストを維持する必要があるエージェントワークフローに最適です。

#### 高労力 (maxReasoningeffort:"high")
<a name="reasoning-effort-high"></a>

**最適な用途:** STEM の推論と高度な問題解決。例えば、これを厳格な段階的検証を必要とする高度な数学的な問題や証明、科学分析、詳細な調査を必要とする研究タスク、複数のディメンションにわたるアーキテクチャ上の考慮事項を含む複雑なシステム設計、重大な影響を伴う重要な意思決定シナリオに使用できます。高労力は、高度な推論、代替案の慎重な評価、結論の徹底的な検証を必要とするタスクに最大限の精度をもたらします。

### クイックスタート: 拡張思考の有効化
<a name="enable-extended-thinking"></a>

拡張思考は `reasoningConfig` パラメータによって制御されます。

```
import boto3

bedrock = boto3.client('bedrock-runtime', region_name='us-east-1')

response = bedrock.converse(
    modelId='us.amazon.nova-2-lite-v1:0',
    system=[{"text": "You are a highly capable personal assistant"}],
    messages=[{
        "role": "user",
        "content": [{"text": "Provide a meal plan for a gluten free family of 4."}]
    }],
    inferenceConfig={
        "temperature": 0.7,
        "topP": 0.9,
        "maxTokens": 10000
    },
    additionalModelRequestFields={
        "reasoningConfig": {
            "type": "enabled",
            "maxReasoningEffort": "low"
        }
    }
)

content_list = response["output"]["message"]["content"]

for item in content_list:
    if "reasoningContent" in item:
        reasoning_text = item["reasoningContent"]["reasoningText"]["text"]
        print("=== REASONING ===")
        print(reasoning_text)
        print()
    elif "text" in item:
        print("=== ANSWER ===")
        print(item["text"])
```

推論パラメータ:
+ `type: enabled` または `disabled` (デフォルト: `disabled`)
+ `maxReasoningEffort`、`low`、`medium`、または `high`

**注記**  
温度、topP、topK は、`maxReasoningEffort` を `high` に設定して使用することはできません。これらのパラメータを一緒に使用すると、エラーが発生します。

拡張思考を利用するコードの完全な例については、「[コードライブラリ](code-library.md)」を参照してください。

### レスポンスの構造
<a name="extended-thinking-response-structure"></a>

拡張思考を有効にすると、レスポンスには `reasoningContent` ブロックとそれに続く `text` コンテンツブロックが含まれます。

```
{
    "output": {
        "message": {
            "role": "assistant",
            "content": [
                {
                    "reasoningContent": {
                        "reasoningText": {
                            "text": "[REDACTED]"
                        }
                    }
                },
                {
                    "text": "Based on the premises, we can conclude..."
                }
            ]
        }
    },
    "stopReason": "end_turn"
}
```

**注記**  
Amazon Nova 2 では、推論コンテンツは `[REDACTED]` として表示されます。推論トークンは出力品質の向上に寄与するため、引き続き課金されます。今後推論コンテンツを公開するオプションを保持するために、このフィールドをレスポンス構造に含めるようになりました。当社は、お客様と積極的に連携し、モデルの推論プロセスを表面化するための最適なアプローチを決定しています。推論コンテンツは `[REDACTED]` として表示されます。推論トークンはレスポンス品質の向上に寄与するため、引き続き料金が発生します。

## 設定オプション
<a name="extended-thinking-configuration"></a>

Amazon Nova 2 では、推論を有効にするために既存の Converse リクエスト構造に追加できる新しい `reasoningConfig` パラメータが導入されています。

```
additionalModelRequestFields={
    "reasoningConfig": {
        "type": "enabled",  # or "disabled" (default)
        "maxReasoningEffort": "high"  # "low", "medium", or "high"
    }
}
```

**パラメータ:**
+ **type:** `"enabled"` と `"disabled"` を切り替えます (デフォルトは `"disabled"`)
+ **`maxReasoningEffort`:** 有効にすると、推論の深さを制御します
+ **"low"":** 中程度に複雑なタスク
+ **"medium"":** 大規模な分析を必要とする複雑な問題
+ **"high"":** 非常に複雑なタスク向けの最も徹底的な推論

**注記**  
 `"high"` を使用する場合、temp、topP、maxToken は設定解除する必要があります。このモードでは、モデルはより詳細な分析を実行して最適なソリューションを見つけます。このより徹底的な処理により、65,000 トークンを超える出力が生成される可能性があります。正確な量はリクエストの複雑さによって異なりますが、一部の問題では最大 128K トークンになります。これにより、中途半端な結果ではなく、完全で高品質の推論が確保されます。

## サポートされているモデル
<a name="extended-thinking-supported-models"></a>

拡張思考は現在、Amazon Nova 2 Lite (us.amazon.nova-2-lite-v1:0) で利用できます

## ツール使用を伴う拡張思考
<a name="extended-thinking-with-tools"></a>

拡張思考はツール呼び出しとシームレスに連携するため、Amazon Nova は使用するツールとその結果を解釈する方法を判断できます。

## 推論トークンと料金について
<a name="reasoning-tokens-pricing"></a>

### トークンタイプ
<a name="reasoning-token-types"></a>

拡張思考トークンは出力トークンとして請求されます。
+ **入力トークン**: 元のリクエストコンテンツ (標準入力料金) 
+ **出力トークン**: これには、推論トークンと最終的な表示可能なレスポンスコンテンツ (標準出力料金) が含まれます 

### 使用状況の内訳
<a name="reasoning-usage-breakdown"></a>

3 つのトークンタイプはすべて、使用状況メトリクスと請求に含まれます。推論トークンの料金は出力トークンと同じで、モデルレスポンスには「REDACTED」と表示されます。

```
  {
  "usage": {
    "inputTokens": 45,
    "outputTokens": 1240,
    "totalTokens": 1285
  }
}
```

## よくある質問
<a name="reasoning-faq"></a>

Amazon Nova 2 Lite がモデルの思考プロセスを表示するのではなく、推論コンテンツに「[REDACTED]」と表示するのはなぜですか?  
 このリリースの主な焦点は、Nova 2 がタスクに対してクラス最高のインテリジェンスを提供することです。これは精度の向上に反映されます。  
 推論プロセスの可視性は価値があることを認識しており、モデルが問題をどのように考えているかを理解することにお客様から強い関心が寄せられていることを把握しています。  
 これを近日公開する方法を検討しています。  
**推論トークンには引き続き料金が発生します**。これは、推論トークンが出力品質を向上させる実際の作業を表すためです   
これは、回答トークンとともに `outputTokens` にキャプチャされます。

推論が秘匿化されている場合、拡張思考が機能しているかどうかを知るにはどうすればよいですか?  
拡張思考が機能していることを確認するには、レスポンスの `reasoningContent` ブロックの出力を確認します (これらは推論が有効になっている場合にのみ表示されます)