

# 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`

**注意**  
将 `maxReasoningEffort` 设置为 `high` 时，不可同时使用 temperature、topP 和 topK 参数。因为组合使用这些参数会导致错误。

如需查看使用扩展思考功能的完整代码示例，请参阅[代码库](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 新增了 `reasoningConfig` 参数，可添加到现有的 Converse 请求结构中以启用推理功能：

```
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。在此模式下，模型执行更深度的分析以得出最优解。这种更详尽的处理可能生成超过 65K 词元的输出内容；具体长度取决于请求复杂度，在部分场景中最高可达 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>

三类词元均计入使用量指标与计费范围。推理词元按输出词元标准计费，并会在模型响应中显示为 REDACTED。

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

## 常见问题
<a name="reasoning-faq"></a>

为什么 Amazon Nova 2 Lite 将推理内容显示为 [REDACTED]，而非展示模型的思考过程？  
 本次发布的核心目标是确保 Nova 2 为任务提供顶尖的智能处理能力，这一点将体现在准确率的显著提升上。  
 我们深知推理过程可见性的重要价值，也收到了大量客户希望了解模型解题思考逻辑的强烈需求。  
 我们正在研究方案，力求尽快开放该功能。  
**推理词元仍会正常计费**，因为这些词元对应提升输出质量的实际运算开销，  
并会与应答词元一同计入 `outputTokens` 统计。

如果推理内容已被隐去，如何判断扩展思考是否生效？  
您可通过检查响应中是否存在 `reasoningContent` 块，来确认扩展思考正常工作（这些块仅在启用推理时才会出现）