推理
在语言模型中,推理(reasoning,又称模型思考)是一种模拟人类逐步分析求解问题的思维链(CoT)技术。SillyTavern 提供了多项功能,让推理模型在受支持的后端上使用起来更高效、更一致。
常见问题
- 使用推理模型时,模型的内部推理过程会占用回复 token 额度的一部分,即使该推理不会出现在最终输出中(例如 o3-mini 或 Gemini Thinking)。如果你发现回复不完整或为空,应尝试调整 AI 响应配置面板中的最大响应长度设置。对于推理模型,通常会使用比标准对话模型高得多的 token 上限——大约 1024 到 4096 个 token。
配置
大多数与推理相关的设置都可以在 高级格式化面板的“推理”部分进行配置。
推理区块在聊天中以可折叠的消息段落形式出现。它们可以手动添加、由后端自动添加,或通过解析回复来添加(见下文)。
默认情况下,推理区块处于折叠状态以节省空间。点击某个区块即可展开并查看其内容。你可以在推理设置中启用自动展开,让区块自动展开。
当推理区块展开后,你可以使用 复制和 编辑按钮复制或编辑其内容。
部分模型支持推理,但不会回传其思考过程。对于这些模型,可以通过切换显示隐藏项设置,仍然显示带有推理时间的推理区块。
添加推理
手动添加
通过 消息编辑菜单向任意消息添加推理区块。在编辑时点击 即可添加推理段落。第三方扩展也可以在将消息对象加入聊天之前,向其 extra.reasoning 字段写入内容来添加推理。
通过命令
使用 /reasoning-set STscript 命令向消息添加推理。该命令接受 at(消息 ID,默认为最后一条消息)和推理文本作为参数。
/reasoning-set at=0 This is the reasoning for the first message.
由后端添加
如果你所选的 LLM 后端和模型支持推理输出,在 AI 响应配置面板中启用“请求模型推理”即可添加一个包含模型思考过程的推理区块。
受支持的来源:
- Claude
- DeepSeek
- Google AI Studio
- Google Vertex AI
- OpenRouter
- xAI (Grok)
- AI/ML API
- Z.AI
- Pollinations
- MistralAI
- Electron Hub
- Chutes
- NanoGPT
- Moonshot
对于大多数来源而言,“请求模型推理”并不能决定模型是否进行推理,因为推理无法被关闭。如果后端和模型支持显式请求禁用推理,该设置会执行禁用操作。否则,模型总是会进行推理。
各提供商相关说明:
- Claude 和 Google(2.5 Flash)允许切换思考模式;参见
推理强度 。 - Z.AI (GLM) 和 Moonshot (Kimi) 可以禁用推理。该设置映射到
thinking.type参数。它们不支持“推理强度”。 - 对于 OpenRouter,当关闭“请求模型推理”开关并将推理强度设为最低时,对支持该功能的模型会将思考设为禁用。该行为因模型而异;某些提供商可能会拒绝此类请求。
通过解析
在 高级格式化面板中启用“自动解析”,即可自动从模型输出中解析推理。
回复必须包含一个由配置好的前缀和后缀序列包裹的推理段落。默认提供的前后缀序列对应 DeepSeek R1 的推理格式。对于 MiniMax 或 Perplexity 等返回未解析推理的某些 API 来源,必须启用此功能。
以前缀 <think> 和后缀 </think> 为例:
<think>
This is the reasoning.
</think>
This is the main content.
使用推理进行提示
默认情况下,已识别的推理区块内容不会回传给模型。若要将推理包含在提示词中,请在 高级格式化面板中启用“加入提示词”。推理内容会被配置好的前缀和后缀序列包裹,并通过分隔符与主上下文分隔开。最大附加数这一数值设置控制可以包含多少个推理区块,从提示词末尾开始计数。
大多数模型提供商不建议在多轮对话中将 CoT 回传给模型。
从推理继续
有一种特殊情况可以在未启用“加入提示词”开关的情况下将推理回传给模型:当生成被继续时(例如从 选项菜单中按“继续”),且被继续的消息只包含推理而没有实际内容。这让模型有机会完成未完成的推理并开始生成主要内容。提示词将按如下方式发送:
<think>
Incomplete reasoning...
正则脚本
来自 Regex 扩展的正则表达式脚本可以应用于推理区块的内容。在脚本编辑器的“影响范围”部分勾选“推理”,即可专门针对推理区块生效。
不同的临时性选项对推理区块的影响如下:
- 无临时性:推理内容被永久更改。
- 编辑时运行:当推理区块被编辑时,正则脚本会被重新求值。
- 修改聊天显示:正则应用于推理区块的显示文本,而非底层内容。
- 修改发出提示词:正则仅在推理区块发送给模型之前应用于其上。
推理强度
推理强度是 AI 响应配置面板中的一个聊天补全设置,用于影响可能用于推理的 token 数量。每个选项的效果取决于所连接的来源。对于下列来源,Auto 仅表示请求中不包含相关参数。
- 对于不支持自适应思考的较早 Claude 模型,若禁用流式输出,预算上限为 21333。如果计算出的预算小于 1024,则最大响应会被改为 2048。
- Claude 还支持 Opus 4.6+ 模型的自适应思考,可通过 config.yaml 中的
claude.enableAdaptiveThinking启用(Opus 4.7+ 始终启用)。启用后,推理强度设置将映射到自适应思考等级,而非 token 预算。对于适用的模型,该设置的优先级高于“详略程度”设置。 - 对于 OpenRouter、Pollinations、Perplexity、xAI、Chutes、DeepSeek、AI/ML API、xAI、Electron Hub,仅发送一个 OpenAI 风格的关键字。
- 对于 OpenAI 上的 GPT-5.4 和 GPT-5.5 模型,“Minimum”推理强度对应“none”,即禁用推理。
- 对于作为聊天补全自定义 API 来源运行的 KoboldCpp,推理强度以
reasoning_effort参数发送,取值为 "minimal"、"low"、"medium"、"high" 和 "xhigh"。 - 对于其他自定义(OpenAI 兼容)来源,仅当模型在官方 OpenAI 来源上支持推理强度时,才会发送该参数。
Google AI Studio 和 Vertex AI 如下:
- 对于 Gemini 2.5 Pro 和 2.5 Flash/Lite,无论流式输出设置如何,预算上限分别为 32768 或 24576 个 token。