跳转到主要内容

推理强度与可见输出是两件事

推理模型可能在最终回答前执行额外计算。推理强度、返回摘要和最终答案长度不是同一个开关;没有可见推理文本也不代表未使用推理。公开摘要不等同于模型内部完整思维过程。 项目转换器识别 none、minimal、low、medium、high、xhigh、max,但这不是每个模型的可选值列表。部分原生路径保留上游字段,转换路径会归一化或报错。模型名修饰符还可能覆盖请求设置,映射后的修饰符优先于对外名称;使用部署方公布的完整 ID,不自行拼后缀。 Chat 的嵌套 reasoning 可表达 enabled、effort、max_tokens 和 exclude;exclude 控制推理内容可见性,不等于关闭推理。此对象会依渠道方言转换,不能承诺每个字段逐字透传。Responses 的 reasoning 结构不使用同一套字段。

预算、流式和失败处理

为目标模型留足输入与输出空间;部分模型的生成预算包含推理与可见输出。不要同时堆叠 max_tokens、max_completion_tokens 或不适用的采样参数。finish_reason=length、Responses status=incomplete 或只有推理没有最终文本都不能当作完整答案。 流式推理、工具参数、摘要和文本事件应分别处理;不要把推理增量直接当成最终回复。工具调用需要走完整工具循环,见流式工具。不要要求应用解密 encrypted_content 或重写 Claude 的签名。

可运行:Chat 单轮或 Responses 无状态续聊

沿用 REST 运行时,保存 examples/reasoning.mjs 与 http-client.mjs。默认 Responses 模式发起两次请求,使用 store: false,把第一轮完整输出按原顺序回放。该模式要求模型和原生链路支持可续用推理项;如果返回了 reasoning 项却没有可用密文,示例停止,不默默丢弃状态。没有 reasoning 项但有完整文本也可以完成。
选择支持 Chat 的模型后,可改用单轮模式:
脚本不设置推理预算或模型特定采样参数。每次请求最多等待 60 秒、响应最多 1 MiB、无自动重试;仅在全部请求完整结束后输出答案。保留 phase 和未知元数据,不打印推理正文、摘要或密文。include 是兼容请求选项,不保证每条渠道返回密文;store: false 也不保证部署零留存。

验收顺序

先验证模型支持的 effort 和实际出站参数,再验证完成状态、工具闭环和第二轮状态回放。检查推理 token 用量时区分字段缺失与零;它不是答案字数,也不能仅凭数字推断质量或费用。跨模型切换、跨协议转换和上下文压缩后需重新验证可续用性。 依据:30a6d88a4 的请求 DTO、relaykit/relayconvert/reasoning/intent.go、relay/channel/openai/adaptor.go 和 relay/helper/reasoning_suffix.go。参考 OpenRouter 推理专题与 OpenAI 推理说明。 Chat API · Responses API · 上下文管理 Read in English