桃子桃子快讯
←返回首页
工具

GPT-OSS 模板关键 bug 获修复,多轮推理不再丢失回答内容

社区开发者发现 Unsloth 版 GPT-OSS Jinja 模板存在严重 bug,发布修复版本,新增 preserv…

2026.09.27 · 周日约 2 分钟阅读

近日,Reddit 用户 arbv 在 r/LocalLLaMA 发布了一篇技术报告,指出 Unsloth 针对 OpenAI 开源模型 GPT-OSS 推出的 Jinja 聊天模板存在一处严重的渲染 bug,可能在多轮对话中导致模型输出质量显著下降。作者同步在 Hugging Face 上发布了修复后的模板,供社区使用。

Bug 详情:多轮推理时仅渲染思考、丢失回答

问题出现在消息渲染循环的分支判断中。原模板中,当一条消息同时包含 thinking(推理过程)和 content(最终回答)时,代码会进入 thinking 分支并渲染推理内容,却完全丢弃同一轮的回答。具体而言,原代码将推理和回答放在了同一个 elif 分支中,导致模板每次只能输出其中一类内容,注释也与实际行为不符——这显然是一处复制粘贴错误,OpenAI 官方参考模板中并不存在该问题。

实际影响与版本差异

作者表示,这一 bug 会让 GPT-OSS 20B 在部分多轮场景下「完全偏离轨道」,而体量更大的 GPT-OSS 120B 则由于能力更强,仅凭推理痕迹就能重新找回对话方向,因此表现相对稳定。但对使用 20B 模型的本地用户而言,这足以显著影响体验。

修复方案:新增 preserve_thinking 选项

在修复后的模板中,作者引入了 preserve_thinking 选项,允许在多轮上下文中保留推理痕迹。模型对这种格式的处理表现良好,不会出现连贯性损失。同时,保留推理文本可以更好地利用前缀缓存(prefix caching),在增加少量 token 消耗的前提下换取更快的多轮推理速度。该模板已托管在 Hugging Face:arbv/gpt-oss-fixed-jinja-template。

后续

作者还透露,是在为 Laguna XS/S 2.1 制作修复模板的过程中偶然发现了这一 bug,并 @了 Unsloth 作者 Daniel Hanchen 关注该问题。如果你在本地使用 GPT-OSS 20B 且偶遇多轮对话异常,不妨尝试切换到修复版本。

信源