跳到主要内容

深度思考

深度思考(Deep Thinking / Reasoning)是部分大模型提供的增强推理能力。模型在回答前会先进行内部"思考",输出推理过程后再给出最终答案,适合数学、逻辑、代码分析等复杂任务。

启用方式: 在请求中添加 reasoning_effort 参数即可开启深度思考。该参数支持三个级别:

说明适用场景
low轻度思考,推理步数少中等复杂度任务
medium平衡模式大多数日常任务
high深度思维链推理数学、编程、复杂逻辑推理

不传该参数时,hy3-preview 默认不启用深度思考(快思考模式)。

适用模型

模型默认行为说明
hy3-preview默认不思考,通过 reasoning_effort 按需开启推荐,灵活控制推理深度
deepseek-r1默认始终思考无需额外参数,始终输出 reasoning_content

具体支持情况请参考接入大模型中的模型列表。

备注

使用不支持深度思考的模型时传入相关参数不会报错,但不会产生思考内容。

使用方式

各协议开启方式

云开发 AI 支持多种协议接入,不同协议开启深度思考的参数不同:

协议开启参数说明
Chat Completionsreasoning_effort: "low" / "medium" / "high"OpenAI 标准协议,下方示例默认使用此协议
Anthropic Messagesthinking: { type: "enabled", budget_tokens: N }Anthropic 标准协议,budget_tokens 控制最大思考 token 数
OpenAI Responsesreasoning: { effort: "low" / "medium" / "high" }OpenAI Responses 协议
Anthropic Messages 协议示例
const Anthropic = require("@anthropic-ai/sdk");

const client = new Anthropic({
apiKey: "<YOUR_API_KEY>",
baseURL: "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase"
});

const response = await client.messages.create({
model: "hy3-preview",
max_tokens: 8000,
thinking: {
type: "enabled",
budget_tokens: 5000 // 最大思考 token 数
},
messages: [{ role: "user", content: "证明 √2 是无理数" }]
});

for (const block of response.content) {
if (block.type === "thinking") {
console.log("思考过程:", block.thinking);
} else if (block.type === "text") {
console.log("最终回答:", block.text);
}
}

接入方式详见 Anthropic SDK 调用在 CodeSandbox 中打开完整示例代码 →

OpenAI Responses 协议示例
const OpenAI = require("openai");

const client = new OpenAI({
apiKey: "<YOUR_API_KEY>",
baseURL: "https://<ENV_ID>.api.tcloudbasegateway.com/v1/ai/cloudbase"
});

const response = await client.responses.create({
model: "hy3-preview",
reasoning: { effort: "high" },
input: "证明 √2 是无理数"
});

for (const item of response.output) {
if (item.type === "reasoning") {
console.log("思考过程:", item.summary.map(s => s.text).join(""));
} else if (item.type === "message") {
console.log("最终回答:", item.content.map(c => c.text).join(""));
}
}

接入方式详见 OpenAI SDK 调用在 CodeSandbox 中打开完整示例代码 →

以下示例基于 Chat Completions 协议

const model = ai.createModel("cloudbase");

const result = await model.generateText({
model: "hy3-preview",
reasoning_effort: "high", // 开启深度思考:low / medium / high
messages: [{ role: "user", content: "证明 √2 是无理数" }]
});

// 通过 rawResponses 获取思考内容
const rawResponse = result.rawResponses[0];
const message = rawResponse.choices[0].message;

console.log("思考过程:", message.reasoning_content);
console.log("最终回答:", result.text);

输出格式

启用深度思考后,模型返回两部分内容:

字段说明用途
reasoning_content思考过程展示给用户看(可折叠),帮助理解模型推理逻辑
content最终回答实际使用的结果

非流式响应示例:

{
"choices": [{
"message": {
"role": "assistant",
"reasoning_content": "用户问的是 28 的质因数分解。我需要逐步分解:28 ÷ 2 = 14,14 ÷ 2 = 7,7 是质数。所以 28 = 2² × 7。",
"content": "28 的质因数分解为 2² × 7。\n\n分解步骤:\n1. 28 ÷ 2 = 14\n2. 14 ÷ 2 = 7\n3. 7 是质数,停止\n\n因此 28 = 2 × 2 × 7 = 2² × 7"
},
"finish_reason": "stop"
}]
}

前端展示建议

思考过程通常较长,建议以可折叠的方式展示:

function ThinkingMessage({ reasoning, content }) {
const [expanded, setExpanded] = useState(false);

return (
<div className="message">
{reasoning && (
<div className="thinking-block">
<button onClick={() => setExpanded(!expanded)}>
{expanded ? "▼" : "▶"} 思考过程
</button>
{expanded && (
<pre className="thinking-content">{reasoning}</pre>
)}
</div>
)}
<div className="answer">
<ReactMarkdown>{content}</ReactMarkdown>
</div>
</div>
);
}

多轮对话中的注意事项

使用深度思考模型进行多轮对话时,不要将 reasoning_content 追加到 messages 历史中

const messages = [];

async function chat(userMessage) {
messages.push({ role: "user", content: userMessage });

const completion = await client.chat.completions.create({
model: "hy3-preview",
messages,
reasoning_effort: "high"
});

const choice = completion.choices[0].message;

// ✅ 正确:只追加 content
messages.push({
role: "assistant",
content: choice.content
});

// ❌ 错误:不要追加 reasoning_content
// messages.push({
// role: "assistant",
// content: choice.reasoning_content + choice.content
// });

return {
reasoning: choice.reasoning_content,
answer: choice.content
};
}
注意

将思考过程追加到 messages 会导致:

  1. 输入 Token 快速膨胀(思考过程通常很长)
  2. 模型回复质量下降
  3. 可能出现格式异常

适用场景

场景推荐原因
数学证明 / 推理✅ 推荐需要严谨的逐步推理
代码 Bug 分析✅ 推荐需要追踪执行流程
复杂逻辑判断✅ 推荐需要考虑多种条件
简单问答❌ 不推荐增加不必要的延迟和成本
实时对话❌ 不推荐思考过程导致首字延迟较高
创意写作⚠️ 视情况短文案不需要,长篇规划可能有帮助

成本与性能

指标深度思考模型普通模型
首字延迟较高(需完成思考)较低
输出 Token较多(含思考内容)较少
回答准确性较高(复杂任务)一般
计费思考 Token 也计费仅回答内容计费
提示

根据任务复杂度选择推理深度:简单任务不传 reasoning_effort(快思考),复杂推理任务设为 "high"(深度思考)。