“思考模式”(亦称为扩展思考、思考或思考块)在 Claude 4.5 中是一种显式且可配置的运行模式,它指示模型在输出最终答案前,使用单独预算的若干 tokens 生成内部的、逐步的推理(“思维链”)。它通过以更高的延迟与 token 成本换取更深入的内部审议,从而提升多步推理、复杂编码与智能体工作流以及研究类任务的表现。Claude 4.5 在 Messages API 层通过显式参数(例如 thinking / budget_tokens 或 effort/“interleaved-thinking” 头)暴露此能力,保留并可选地加密思考块以便后续验证或工具使用,同时引入需要在生产工作负载中管理的缓存与 token 核算行为。
什么是 Claude 4.5?(我该关注哪些模型?)
Claude 4.5 是 Anthropic 最新一组以“4.5”增量发布的 Claude 模型(例如 Sonnet 4.5 和 Opus 4.5)。Sonnet 4.5 面向大多数开发者在智能、编码与智能体表现上的最佳平衡;Opus 4.5 聚焦更高强度的推理,并保留思考块以改进多轮连续性。两者均支持 Claude 的扩展思考能力,但某些行为(如思考内容的摘要 vs 完整)因模型而异。
Claude 4.5 的性能提升,尤其在 Sonnet 4.5 上,在衡量 AI 解决真实 GitHub 问题能力的基准 SWE-bench Verified 中表现最为明显。
| Model | SWE-bench Verified Score | OSWorld (Computer Use) |
|---|---|---|
| Claude 3.5 Sonnet | 49.0% | 42.2% |
| Claude 4.1 Opus | 67.6% | 55.0% |
| Claude 4.5 Sonnet (Thinking On) | 77.2% | 61.4% |
| GPT-5 (Medium Reasoning) | 65.0% | 52.0% |
这些数字表明,Claude 4.5 不仅更擅长撰写代码片段;它在遍历整个文件系统与无需人工干预执行自主任务方面也显著更强。
为什么这很重要
- 编码与智能体:Sonnet 4.5 在真实世界软件任务与长周期编码工作上有显著提升——非常适合代码生成、代码编辑与自主智能体流程。
- 扩展思考与上下文:Claude 4.5 系列模型可在非常大的内部“草稿本”(数万 tokens 甚至更多)中推理,支持更深的多步推理。这会改变你设计提示、token 预算与工具交互的方式。
Claude 4.5 的思考模式是什么?
思考模式(官方称为“扩展思考”)是一种能力,允许模型在给出最终输出前先对自己“展示其推理过程”。不同于标准模型立即承诺一个答案,Claude 4.5 使用专用推理空间来探索多种假设、识别逻辑中的潜在错误并优化策略。
响应的结构剖析
在标准交互中,模型接收提示并开始生成答案。在思考模式下,响应被分为两个不同的块:
| Block Type | Visibility | Purpose |
|---|---|---|
| Thinking Block | Hidden (via API) or Collapsed (UI) | 模型的内部独白、规划与自我批判。 |
| Text Block | Visible | 提供给用户的最终、精炼答案。 |
思考模式的关键特性
- 按需启用:在 API 调用中传入
thinking对象,例如{"type":"enabled","budget_tokens":10000},即可开启并为内部推理分配 token 预算。 - 预算:
budget_tokens限制模型的内部推理 tokens。预算越多 => 潜在推理越深入,但成本与延迟更高。在 Claude 4 模型中,即使你只看到思考的摘要视图,思考 tokens 也会计费。 - 摘要与编辑:许多 Claude 4 模型向用户展示思考内容的摘要版本;部分内部推理可能由安全系统编辑(加密)并作为
redacted_thinking返回。 - 签名与验证:思考块包含用于验证的不可见
signature。当把思考块返回给 API(尤其在使用工具时)需要该签名。应将签名视为不透明数据——不要尝试解析。 - 与工具交错思考:Claude 4 支持在工具执行间交错思考(部分为 Beta 或需标志)。这对智能体工作流非常强大(运行工具→思考→再运行工具等)。
有关实操示例与最新参数,请以 Anthropic 的 Messages/Extended Thinking 文档为准。
Messages API 如何返回思考内容
摘要版 vs 完整思考;加密与签名
不同 Claude 版本的思考处理方式不同:较新的 Claude 4 模型(如 Sonnet/Opus 4.5)通常返回内部推理的“摘要”公共视图,而完整草稿可能被加密,仅通过 signature 字段(或经编辑的块)可用。当使用工具(或需要在工具调用间保留内部状态)时,你必须按文档所述回传思考块或签名。这一机制在保护敏感内部推理的同时,允许在需要时安全地延续思考过程。
实际处理模式
- 工具使用/续写:如果下一次请求必须延续相同的内部状态(例如基于思考运行了工具),在再次调用 API 时包含返回的思考块或签名,以便模型解密并从中继续。
- 请求:发送
thinking: {type: "enabled", budget_tokens: N}。 - 响应:你可能会收到(a)公开输出的摘要,(b)加密的
signature或redacted_thinking块,或(c)两者兼有。
CometAPI 以官方 API 价格的 20% 提供 Claude 4.5 API,并且可通过 Anthropic Messages 调用。开始之前,你需要获取一个 API key。
示例 1 — 简单 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": "为 CSV 导入设计一个健壮的数据验证策略,展示测试和代码。"}
]
}'
响应将包含 content 块。检查每个块,并优先使用 text 块作为最终输出;thinking 块包含模型内部分析的摘要。
示例 2 — Python:请求、解析思考与文本块
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": "解释如何在 Python 中进行基于属性的测试;包含示例代码。"}]
}
r = requests.post(URL, headers=HEADERS, json=payload)
r.raise_for_status()
resp = r.json()
# 解析块
for block in resp.get("content", []):
if block.get("type") == "thinking":
thinking_summary = block.get("thinking")
print("=== 思考(摘要) ===")
print(thinking_summary[:1000]) # 为日志截断
print("signature:", block.get("signature")[:64], "...")
elif block.get("type") == "text":
print("=== 最终文本 ===")
print(block.get("text"))
此代码提取并打印思考摘要与最终答案。如果需要在多轮智能体流程中保持连续性,请在下一次请求的 messages 数组中包含未修改的思考块(见下例)。
示例 3 — 在多轮流程中复用思考块(Python 伪代码)
# 初始响应(见上面 resp)之后:
# 将包含思考块的 assistant 消息加入对话
assistant_message = {
"role": "assistant",
"content": resp["content"] # 包含原始 content 数组(含 thinking + text 块)
}
# 下一轮用户输入:提出跟进问题,并包含上一条 assistant 消息
payload2 = {
"model": "claude-opus-4-5", # Opus 更好地在多轮中保留思考块
"max_tokens": 20000,
"thinking": {"type": "enabled", "budget_tokens": 12000},
"messages": [
{"role": "user", "content": "现在将验证逻辑适配到一个 avro 流水线。"},
assistant_message
]
}
r2 = requests.post(URL, headers=HEADERS, json=payload2)
在进行工具集成或长时长智能体工作流时,保留完全未修改的思考块至关重要。Opus 4.5 针对思考块保留与缓存有改进的默认设置。
如何流式传输思考输出并在 UI 中显示进度?
流式最佳实践
- 使用 SDK 的流式端点(Python/TypeScript SDK 提供流式辅助)。对于长时间或高预算推理任务,流式可避免 HTTP 超时,并在模型计算过程中返回部分文本。典型代码使用
text_stream(Python)的迭代器或事件解析(JS)。 - 预期有时出现“两阶段流”:模型可能先产生可见的推理片段,然后再给出答案。构建 UI 时应能处理分块内容,并显示“思考中…”与最终答案的不同状态。
- 如果在流式过程中 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": "带我调试这个失败的单元测试并提出修复方案。" } ]
}'
流式时,按顺序处理 content_block_start、content_block_delta(其中包含 thinking_delta 与 text_delta)以及 content_block_stop 事件。由此可以在推理进行时实时展示模型的逐步思考。
Claude Code 如何与思考模式交互?(terminal + VS Code)
Claude Code 是集成了 Messages API 与工具运行器的交互式智能体编码终端。CLI/IDE 体验以两种方式呈现思考:
- 全局/按会话设置:Claude Code 通过
/config设置面板调整行为(如代理请求权限的方式、是否保留思考块等)。若要持久变更行为,建议使用此 UI,而非手动输入 JSON。 - 模型选择与 CLI 命令:可在 REPL 中选择
claude-sonnet-4-5或claude-opus-4-5作为活动模型;工具与思考行为遵循 Messages API 语义。CHANGELOG 与发布说明指出,在某些 Opus 4.5 部署中思考已默认启用,且思考配置通过/config暴露。
Claude Code 的实用流程:
- 在 REPL 中启动一个项目。
- 使用
/config查看与思考相关的标志(保留、详尽程度等)。 - 让代理执行长任务——它会产生思考内容,并在需要时请求运行特定 bash 步骤的许可。需要验证或重跑决策时请保留思考块。
安装与设置
Claude Code 需要 Node.js,可全局安装。
# 安装 Claude Code CLI
npm install -g @anthropic/claude-code
# 认证
claude-code --init
在终端中启用思考
Claude Code 支持多种标志与自然语言触发器来控制推理深度。
| Command/Trigger | Description |
|---|---|
| claude-code --think | 启动会话,默认启用扩展思考。 |
| claude-code --model sonnet-4.5 | 指定最新的前沿模型。 |
| /think <task> | 在 CLI 中使用的斜杠命令,用于调用特定的重思考任务。 |
| "ultrathink" | 自然语言关键字,指示 Claude 使用尽可能大的推理预算。 |
提示:
- 当你希望代理探索替代实现时,使用
think/think harder。 - 当 Claude Code 执行工具调用(运行测试、git 操作)时,如果 CLI/代理返回了
thinking块,请予以保留;否则代理可能在步骤之间丢失上下文。
交错思考与块保留的优势
对于高级智能体工作流,Claude 4.5 引入两个 Beta 特性,显著增强多轮交互与工具使用:交错思考与思考块保留。
交错思考(Beta)
标准推理通常在输出前发生一次。通过 interleaved-thinking-2025-05-14 头启用的“交错思考”,允许 Claude 在工具调用之间进行“思考”。
想象 Claude 在调试一台服务器:
- 思考:“我应该先检查日志。”
- 工具调用:
read_file(logs.txt) - 思考:“日志显示数据库超时。现在我需要检查连接池设置。”
- 工具调用:
read_file(db_config.yml)
这种“持续反思”确保模型能根据工具返回的数据调整策略,而不是遵循僵化的预设计划。
思考块保留
在多轮对话中,尤其涉及工具使用时,将之前的 thinking 块回传给 API 至关重要。
- 推理连续性:通过接收先前思考,Claude 能维持其推理脉络。
- Opus 4.5 优化:在 Claude Opus 4.5 中,这一行为被自动化。模型默认在其上下文中保留所有先前思考块,即使在持续 30+ 小时的会话中,也不会“忘记”若干轮之前作出某个架构决策的原因。
在 Claude 4.5 中使用思考模式的最佳实践
为任务选择合适的模型与预算
在需要速度、成本与强大编码能力最佳权衡的编码与智能体工作流中使用 Sonnet 4.5;在需要最深入推理与最大上下文,或计划运行长时间自主会话时使用 Opus 4.5。两者均支持扩展思考。按任务复杂度设置 budget_tokens(实验从小预算开始;仅在观察到显著质量提升后再提高)。
监控并控制成本与延迟
你为 Claude 产生的全部思考 tokens 付费,而非你所见的摘要输出。这意味着即使仅看到简短摘要,长时间内部审议也会增加成本。跟踪 token 用量,并在从探索到生产的过程中逐步调优(例如:2k → 8k → 32k)。
仅在必要时保留思考块
思考块可加密签名并保留,以便后续验证与交错工具使用。除非工作流要求模型保留其先前的内部审议(例如代理将重跑步骤并需要保留理由),否则避免在每次请求中回显思考块。始终保留思考会增加上下文体积并复杂化 token 核算。
何时向用户流式展示思考
流式展示思考非常适合开发者工具与教育类 UI(在模型审议时显示“进行中”)。在面向生产的消费者应用中,不要在未考虑安全与编辑的情况下向终端用户流式展示原始思考:存在“摘要思考”正是为此目的。如需流式,提供清晰的 UI 标识(例如“助手推理——内部”),并控制最终用户看到的是摘要还是完整推理。
工具使用与交错
将思考与工具结合(代码执行、网页获取、本地进程)时,当你需要模型在同一轮中选择工具、运行并基于结果继续推理,请使用“交错思考”的设计。交错会增加复杂度(可能需要特性标志),但对智能体自动化非常强大。明确你保留的思考范围,并测试模型在启用思考时的工具选择行为。
实践故障排查与运营注意事项
常见错误与含义
- 无效思考 + 强制工具选择:如果你请求思考但同时强制使用与思考不兼容的工具模式,API 会返回错误——不要将
tool_choice: {"type":"tool","name":"..."}与思考混用。 - 预算 >
max_tokens:在交错思考场景中,有效 token 规则不同——平台文档解释了何时budget_tokens可以超过max_tokens。在测试大预算前请仔细阅读“交错思考”部分。 - 签名验证:如果你要在后续调用中保留思考块,请包含返回的
signature,以便 API 验证其来源于 Claude;这防止篡改并保持可验证链条。
可观测性与仪表化
记录:(1)model 选择,(2)thinking.budget_tokens,(3)实际思考 token 消耗(计费项),(4)流式延迟(到首个 thinking_delta 的时间),以及(5)最终文本 tokens。使用这些指标为面向用户的流程制定预算与 SLO。
渐进式发布与人工在环
在特性标志后发布启用思考的模型。先从一部分开发者或内部流量开始,收集失败或编辑案例,并迭代提示与预算。对于敏感领域,在包含大量内部推理的输出发布前要求人工审阅。
调试技巧
- 从小做起:启用较低的
budget_tokens并逐步增加,以理解增量改进。 - 开启流式并记录
content_block_delta/签名事件,以了解模型何时产生思考块。 - 如果使用 Claude Code:检查
/config与项目级设置;若行为与预期不符,请查阅 Claude Code 变更日志。
结论:
结合扩展思考与 Claude Code CLI 的 Claude 4.5,是自 IDE 发明以来开发者生产力的最大飞跃。通过让模型在复杂问题上“展示其工作过程”并进行审议,Anthropic 已经从“聊天机器人”时代迈向“智能体”时代。
无论是将 Messages API 集成到自定义开发工具,还是用 Claude Code 管理日常 PR,掌握思考模式都是关键。它提供建立信任所需的透明度与达成卓越所需的推理深度。
开发者可通过 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!
