Claude Haiku 5.5 and Nano Banana 2.1 are now live on CometAPI →
technology/Исследования CometAPI

Как использовать режим мышления в Claude 4.5

“Thinking mode” (также называемый расширенным размышлением, размышлением или блоками размышлений) в Claude 4.5 — это явный настраиваемый режим работы, который предписывает модели расходовать отдельно выделенное количество токенов на генерацию внутреннего пошагового рассуждения (“chain-of-thought”) перед выдачей окончательного ответа. Он предназначен для повышения качества при многошаговых рассуждениях, сложном программировании и агентных рабочих процессах, а также в исследовательских задачах, увеличивая задержку и расход токенов ради более глубокого внутреннего обдумывания. Claude 4.5 предоставляет эту возможность на уровне Messages API с явными параметрами (например, thinking / budget_tokens или заголовком effort/“interleaved-thinking”), сохраняет и при необходимости шифрует блоки размышлений для последующей проверки или для использования инструментами и вводит механизмы кэширования и учёта токенов, которыми необходимо управлять при построении продукционных рабочих нагрузок.

CometAPI
AnnaКоманда исследователей AI-моделей и API
Обновлено Sep 3, 2026 7 мин. чтения
Как использовать режим мышления в Claude 4.5
Использовать этот подход

Сделайте первый вызов API.

from openai import OpenAI

client = OpenAI(
    api_key="YOUR_COMETAPI_KEY",
    base_url="https://api.cometapi.com/v1",
)

response = client.chat.completions.create(
    model="gpt-5-mini",
    messages=[{"role": "user", "content": "Build this workflow."}],
)

print(response.choices[0].message.content)

Claude 4.5 中的“Thinking mode”(也称为 extended thinking、thinking 或 thinking blocks)是一种显式、可配置的运行模式,它会指示模型在输出最终答案之前,先使用一部分单独预算的 token 生成内部的、逐步展开的推理(即 “chain-of-thought”)。它旨在通过以更高的延迟和 token 成本换取更深入的内部推敲,从而提升模型在多步推理、复杂编码与 agent 工作流以及研究任务中的表现。Claude 4.5 在 Messages API 层面公开了这一能力,并提供了明确参数(例如 thinking / budget_tokens 或 effort / “interleaved-thinking” header);同时它还会保留并可选地加密 thinking blocks,以便后续验证或工具调用,并引入了你在构建生产级工作负载时必须管理的缓存与 token 计费行为。

什么是 Claude 4.5?(以及我应该关注哪些模型?)

Claude 4.5 是 Anthropic 最新一代 Claude 模型的增量“4.5”版本更新(例如 Sonnet 4.5 和 Opus 4.5)。Sonnet 4.5 被定位为对大多数开发者而言,在智能性、编码能力和 agent 能力之间最均衡的选择;Opus 4.5 则专注于高强度推理,并保留 thinking blocks 以提升多轮交互的连续性。两者都支持 Claude 的 extended thinking 能力,不过某些行为(例如摘要式 thinking 与完整 thinking)会因模型而异。

Claude 4.5 的性能提升,尤其是 Sonnet 4.5,在 SWE-bench Verified 基准测试中最为明显。该基准用于衡量 AI 解决真实世界 GitHub issue 的能力。

模型SWE-bench Verified 分数OSWorld(Computer Use)
Claude 3.5 Sonnet49.0%42.2%
Claude 4.1 Opus67.6%55.0%
Claude 4.5 Sonnet(Thinking On)77.2%61.4%
GPT-5(中等推理)65.0%52.0%

这些数字表明,Claude 4.5 不只是更擅长写代码片段;它在遍历整个文件系统并自主执行任务方面也显著更强,无需人工干预。

为什么这很重要

  • 编码与 agents: Sonnet 4.5 在真实软件任务和长时程编码工作上有明显提升——使其成为代码生成、代码编辑和自主 agent 流程的自然选择。
  • Extended thinking 与上下文: Claude 4.5 系列模型能够使用非常大的内部草稿空间进行推理(可达数万 token 或更多),从而实现更深入的多步推理。这会改变你设计 prompt、token 预算和工具交互的方式。

Claude 4.5 中的 Thinking Mode 是什么?

Thinking Mode(官方称为 “Extended Thinking”)是一项能力,它允许模型在输出最终结果之前,先“给自己展示推理过程”。不同于标准模型会立即给出答案,Claude 4.5 会使用一个专门的推理空间来探索多个假设、识别其逻辑中的潜在错误,并优化其策略。

响应结构解析

在标准交互中,模型接收 prompt 后会直接开始生成答案。而在 Thinking Mode 中,响应会分为两个不同的 block:

Block 类型可见性用途
Thinking Block隐藏(通过 API)或折叠(UI 中)模型的内部独白、规划和自我审查。
Text Block可见提供给用户的最终润色答案。

Thinking mode 的关键属性

  • 按需启用:你可以在 API 调用中传入 thinking 对象,例如 {"type":"enabled","budget_tokens":10000},来启用该模式并为模型分配内部推理 token 预算。
  • 预算控制:budget_tokens 会限制模型内部推理使用的 token 数量。预算越高 => 推理可能越深入,但成本和延迟也越高。在 Claude 4 模型中,即使你只收到摘要形式的 thinking,thinking token 仍然会被计费。
  • 摘要与脱敏:对于许多 Claude 4 模型,用户看到的是 thinking 内容的摘要版;某些内部推理可能会被安全系统脱敏(加密),并以 redacted_thinking 的形式返回。
  • 签名与验证:Thinking blocks 包含一个不透明的 signature,在将 thinking blocks 返回给 API 时可用于验证(尤其是与工具结合使用时需要)。你应将该签名视为不透明数据——不要尝试解析它。
  • 与工具的交错 thinking:Claude 4 支持在工具执行之间插入 thinking blocks(某些情况下为 beta 功能并需通过 flag 启用)。这对 agent 场景非常强大(运行工具、思考、再运行另一个工具,依此类推)。

如需获取实际示例和最新参数,Anthropic 的 Messages / Extended Thinking 文档是最权威的参考资料。

Messages API 如何返回 thinking 内容

摘要 thinking 与完整 thinking;加密与签名

不同版本的 Claude 模型对 thinking 的处理方式不同:较新的 Claude 4 模型(如 Sonnet / Opus 4.5)通常会返回内部推理的摘要式公开视图,而完整草稿可能会被加密,并仅通过 signature 字段(或 redacted blocks)提供。当使用工具时(或者你需要在工具调用之间保留内部状态),你必须将 thinking blocks 传回 API,或者使用文档中描述的签名机制。该机制既能保护敏感的内部推理,也能在需要时安全地延续当前思路。

实际处理模式

工具使用 / 连续推理:如果下一次请求需要延续相同的内部状态(例如工具是基于 thinking 运行的),那么在再次调用 API 时,请包含返回的 thinking block 或 signature,以便模型解密并从上次中断的地方继续。

请求:发送 thinking: {type: "enabled", budget_tokens: N}。

响应:你可能会收到 (a) 一个公开摘要输出,(b) 一个加密的 signature 或 redacted_thinking block,或 (c) 两者都有。

CometAPI 以官方 API 价格的 20% 提供 Claude 4.5 API,并且也支持通过 Anthropic Messages 方式调用。在开始之前,你需要先获取 API key。

示例 1 —— 启用 thinking 的简单 curl(非流式)

curl https://api.cometapi.com/v1/messages \
  -H "x-api-key: $CometAPI_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 16000,
    "thinking": {
      "type": "enabled",
      "budget_tokens": 10000
    },
    "messages": [
      {"role": "user", "content": "Design a robust data validation strategy for CSV imports, show tests + code."}
    ]
  }'

响应中会包含 content blocks。请检查每个 block,并优先使用 text blocks 作为最终输出;thinking blocks 则包含模型内部分析的摘要。

示例 2 —— Python:请求、解析 thinking 和 text blocks

import os, requests

API_KEY = os.environ["CometAPI_API_KEY"]
URL = "https://api.cometapi.com/v1/messages"
HEADERS = {
    "x-api-key": API_KEY,
    "anthropic-version": "2023-06-01",
    "content-type": "application/json"
}

payload = {
    "model": "claude-sonnet-4-5",
    "max_tokens": 16000,
    "thinking": {"type": "enabled", "budget_tokens": 8000},
    "messages": [{"role": "user", "content": "Explain how to do property-based testing in Python; include example code."}]
}

r = requests.post(URL, headers=HEADERS, json=payload)
r.raise_for_status()
resp = r.json()

# Parse blocks
for block in resp.get("content", []):
    if block.get("type") == "thinking":
        thinking_summary = block.get("thinking")
        print("=== THINKING (summary) ===")
        print(thinking_summary[:1000])  # truncate for logs
        print("signature:", block.get("signature")[:64], "...")
    elif block.get("type") == "text":
        print("=== FINAL TEXT ===")
        print(block.get("text"))

这段代码会提取并打印摘要式 thinking 和最终答案。如果你需要在多轮 agent 流程中保持连续性,请将未修改的 thinking blocks 包含到下一次请求的 messages 数组中(见下一个示例)。

示例 3 —— 在多轮流程中复用 thinking blocks(Python 伪代码)

# After initial response (resp above):
# Add the assistant message including the thinking block back into the conversation
assistant_message = {
  "role": "assistant",
  "content": resp["content"]  # include raw content array (contains thinking + text blocks)
}

# Next user turn: ask follow-up and include previous assistant message
payload2 = {
  "model": "claude-opus-4-5",  # Opus preserves thinking blocks better across turns
  "max_tokens": 20000,
  "thinking": {"type": "enabled", "budget_tokens": 12000},
  "messages": [
    {"role": "user", "content": "Now adapt the validation logic for an avro pipeline."},
    assistant_message
  ]
}
r2 = requests.post(URL, headers=HEADERS, json=payload2)

在执行工具集成流程或长链路 agent 工作流时,精确保留原样、未经修改的 thinking blocks 至关重要。Opus 4.5 在 thinking block 保留和缓存方面有更好的默认行为。

如何流式传输 thinking 输出并在 UI 中显示进度?

流式传输最佳实践

  • 使用 SDK 的流式接口(Python / TypeScript SDK 都提供 stream helper)。对于长时间运行或高预算推理任务,流式返回可以避免 HTTP 超时,并在模型计算过程中为你提供部分文本。典型代码通常会遍历 text_stream(Python)或在 JS 中解析事件。
  • 有时你会看到“两阶段流”:模型可能先产出可见的推理片段,然后再完成最终答案。请确保你的 UI 能处理分块内容,并区分“thinking...”与最终答案状态。
  • 如果 API 在流式过程中返回 signature_delta 或 content_block_delta,请捕获它,并按规范在后续调用中附带回去。

如果你想在 UI 中展示中间推理进度,请使用流式响应。服务器会先发出 thinking_delta 事件,然后发出 text_delta 事件。

curl https://api.cometapi.com/v1/messages \
  --header "x-api-key: $CometAPI_API_KEY" \
  --header "anthropic-version: 2023-06-01" \
  --header "content-type: application/json" \
  --data '{
    "model": "claude-sonnet-4-5",
    "max_tokens": 16000,
    "stream": true,
    "thinking": { "type": "enabled", "budget_tokens": 8000 },
    "messages": [ { "role": "user", "content": "Walk me through debugging this failing unit test and propose fixes." } ]
  }'

在流式处理中,请按顺序处理 content_block_start、content_block_delta(其中包含 thinking_delta 和 text_delta)以及 content_block_stop 事件。这样你就可以在模型推理发生时展示其逐步思考过程。

Claude Code 如何与 thinking mode 交互?(终端 + VS Code)

Claude Code 是一个交互式、具备 agent 能力的编码终端,它集成了 Messages API 和工具运行器。CLI / IDE 体验主要通过两种方式暴露 thinking 功能:

  • 全局 / 会话级设置: Claude Code 提供 /config 设置面板来调整行为(例如 agent 如何请求权限、是否保留 thinking blocks 等)。如果你想进行持久化行为变更,建议使用该 UI,而不是反复手动输入原始 JSON。
  • 模型选择与 CLI 命令: 你可以在 REPL 中选择 claude-sonnet-4-5 或 claude-opus-4-5 作为当前模型,工具与 thinking 行为会随之遵循 Messages API 语义。CHANGELOG 和发布说明表明,对于某些 Opus 4.5 部署,thinking 已默认启用,并且相关配置通过 /config 暴露。

Claude Code 中的实际流程:

  1. 在 REPL 中启动一个项目。
  2. 使用 /config 查看与 thinking 相关的标志位(保留、冗长度等)。
  3. 让 agent 执行一个长任务——它会生成 thinking 内容,并在需要时请求权限来运行某些 bash 步骤。当你需要后续验证或重跑决策过程时,请保留 thinking blocks。

安装与设置

Claude Code 需要 Node.js,可全局安装。

# Install Claude Code CLI
npm install -g @anthropic/claude-code

# Authenticate
claude-code --init

在终端中启用 Thinking

Claude Code 支持多种标志和自然语言触发词来控制其推理深度。

命令/触发词描述
claude-code --think启动一个默认启用 extended thinking 的会话。
claude-code --model sonnet-4.5指定最新的前沿模型。
/think <task>CLI 内的斜杠命令,用于调用特定的高强度推理任务。
"ultrathink"一个自然语言关键词,用于指示 Claude 使用尽可能高的推理预算。

提示:

  • 当你希望 agent 探索替代实现方案时,使用 think / think harder。
  • 当 Claude Code 执行工具调用(运行测试、git 操作)时,如果 CLI / agent 返回了 thinking blocks,请保留它们;否则 agent 可能会在步骤之间丢失上下文。

交错 thinking 与 block 保留的优势

对于高级 agent 工作流,Claude 4.5 引入了两个显著增强多轮交互和工具使用体验的 beta 功能:Interleaved Thinking 和 Thinking Block Preservation。

Interleaved Thinking(Beta)

标准推理只会在输出前发生一次。而 Interleaved Thinking(通过 interleaved-thinking-2025-05-14 header 启用)允许 Claude 在工具调用之间继续“思考”。

设想 Claude 正在调试一个服务器:

  1. 思考: “我应该先检查日志。”
  2. 工具调用: read_file(logs.txt)
  3. 思考: “日志显示数据库超时。现在我需要检查连接池设置。”
  4. 工具调用: read_file(db_config.yml)

这种“持续反思”可以确保模型根据从工具获得的数据调整自己的策略,而不是执行一个僵化、预先定义好的计划。

Thinking Block Preservation

在多轮对话中,特别是涉及工具使用时,将之前的 thinking blocks 传回 API 至关重要。

  • 推理连续性: 通过接收它之前的想法,Claude 能维持其逻辑路径的上下文。
  • Opus 4.5 优化: 在 Claude Opus 4.5 中,这一行为是自动化的。模型默认会在上下文中保留所有先前的 thinking blocks,从而确保即使会话持续 30+ 小时,模型也不会“忘记”它在十轮之前为何做出某项架构决策。

在 Claude 4.5 中使用 THINKING mode 的最佳实践

为任务选择合适的模型与预算:

在编码和 agent 工作流中使用 Sonnet 4.5,当你需要速度、成本和强编码能力之间的最佳平衡时;当你需要最深入的推理、最大的上下文窗口,或计划运行长时间自主会话时,使用 Opus 4.5。两者都支持 extended thinking。请根据任务复杂度按比例设置 budget_tokens(实验阶段从小预算开始;只有在你观察到质量确实提升时再提高预算)。

监控和控制成本与延迟

系统会按 Claude 实际产生的全部 thinking tokens 向你收费,而不是按你看到的摘要内容收费。这意味着,即使你只看到很短的摘要,较长的内部推理仍然会增加成本。请跟踪 token 使用情况,并在从探索转向生产时逐步调优(例如:2k → 8k → 32k)。

仅在必要时保留 thinking blocks

Thinking blocks 可以被加密签名,并为后续验证和交错式工具使用保留。除非你的工作流确实需要模型保留其先前的内部推理(例如 agent 需要重跑某些步骤并使用原始推理依据),否则请避免在每次后续请求中都回传 thinking blocks。始终保留 thinking 会增加上下文体积,并可能使 token 计费更复杂。

何时向用户流式展示 thinking

流式 thinking 非常适合开发者工具和教育类 UI(在模型推理时显示“处理中”)。不要在面向终端消费者的生产应用中直接向最终用户流式展示原始 thinking,除非你已经充分考虑安全性和脱敏需求:摘要式 thinking 存在的原因正是如此。如果你确实要流式展示,请在 UI 中明确标识这是内部推理(例如“Assistant reasoning — internal”),并控制最终用户看到的是摘要版还是完整版推理。

工具使用与交错执行

当把 thinking 与工具(代码执行、网页抓取、本地进程)结合使用时,如果你希望模型能在同一轮中选择工具、运行工具并根据结果继续推理,请使用 interleaved thinking 设计。交错执行会增加复杂度(也可能需要 feature flag),但对于 agent 自动化非常强大。请明确你会保留哪些 thinking,并测试模型在启用 thinking 时如何进行工具选择。

实际排障与运维说明

常见错误及其含义

  • Invalid thinking + forced tool choice:如果你请求启用 thinking,同时又强制某种与 thinking 不兼容的工具使用模式,API 会返回错误 —— 不要将强制 tool_choice: {"type":"tool","name":"..."} 与 thinking 混用。
  • Budget > max_tokens:在交错式 thinking 场景下,有效 token 规则会有所不同——平台文档解释了在哪些情况下 budget_tokens 可以超过 max_tokens。在测试大预算之前,请仔细阅读“interleaved thinking”部分。
  • Signature validation:如果你为了后续调用而保留 thinking blocks,请附带返回的 signature,以便 API 验证这些内容确实来自 Claude;这可防止篡改,并保持链路可验证。

可观测性与埋点

建议记录以下内容:(1) model 选择,(2) thinking.budget_tokens,(3) 实际 thinking token 消耗(这是会计费的),(4) 流式延迟(首次收到 thinking_delta 的时间),以及 (5) 最终文本 token 数。使用这些指标来建立预算模型和面向用户流程的 SLO。

渐进式发布与人工审核

请通过 feature flag 逐步上线启用 thinking 的模型。先在一部分开发者流量或内部流量中使用,收集失败案例或脱敏情况,再迭代 prompt 和预算。对于敏感领域,请在人类审核通过后再发布包含大量内部推理的输出。

调试建议

  • 从小开始:先启用较低的 budget_tokens,再逐步提高,以了解质量提升是否具有实际价值。
  • 打开流式输出,并记录 content_block_delta / signature 事件,以了解模型何时生成 thinking blocks。
  • 如果你在使用 Claude Code:请检查 /config 和项目级设置;如果行为与预期默认值不一致,请查看 Claude Code 的 changelog。

总结:

Claude 4.5,结合 Extended Thinking 与 Claude Code CLI 的能力,代表了自 IDE 发明以来开发者生产力最重要的一次飞跃。通过让模型“展示其工作过程”并对复杂问题进行审慎推敲,Anthropic 已经超越“聊天机器人”时代,迈入了“agent”时代。

无论你是在将 Messages API 集成到自定义开发工具中,还是使用 Claude Code 管理日常 PR,掌握 Thinking Mode 都至关重要。它既提供了建立信任所需的透明度,也提供了追求卓越所需的推理深度。

开发者可以通过 CometAPI 访问 Claude 4.5(Claude Sonnet 4.5、Claude Haiku 4.5、Claude Opus 4.5)模型。要开始使用,请前往 CometAPI 的 Playground 探索模型能力,并查阅 API 指南获取详细说明。在访问之前,请确保你已经登录 CometAPI 并获取了 API key。CometAPI 提供远低于官方价格的定价,以帮助你完成集成。

准备开始了吗?→ 免费试用 Claude 4.5!

Продолжить обучение

Свяжите эту статью со следующим решением.

Посмотреть все темы
Опубликовано Jan 9, 2026
Последнее обновление Sep 3, 2026
478 просмотров
Проверено на ясность, указание источников и актуальную терминологию API.

Читать далее