测试与发布证据

本地模型提示模板错配:核对角色标记和轮次边界

核对实际提交给运行时的序列化对话,而不是只检查 UI 提示词或复用其他模型模板。

审核状态: 内容已校验;中文稿供用户审核 · 2026-10-04 · Fact IDs: COVE-MODEL-02, BENCHMARK-01

直接回答

提示模板错配属于序列化问题:应用可能发送了合法文本,却使用了所选模型代际并未按此训练理解的对话结构。检查最终渲染请求,不要只看提示构造代码或 UI 上显示的对话。核对角色边界、消息顺序、回合结束标记、未闭合的 assistant 前缀、系统指令,以及工具或模态标记。预期格式依赖模型家族和代际。Google 官方 Gemma 4 提示格式文档列出了相应控制 token,并说明其与 tokenizer 有关;更早代际的 Gemma 使用不同格式。不能仅因两个制品家族名称相似,就认定模板可互换。 Tokenizer 身份与模板内容是两个不同但相关的输入。Tokenizer 正确,角色结构仍可能错误;看起来熟悉的模板,也可能配了身份不一致的制品。记录制品与 tokenizer 来源、模板版本、准确渲染文本、运行时和应用构建。如果集成不暴露 token ID,就不要声称运行时把某段字符串编码成了特定 token 序列。诊断应聚焦实际提交的序列化请求,以及对应模型代际的官方格式说明。 建立单轮和多轮夹具。包括控制提示、上一轮 assistant 回复、后续用户消息,以及一项固定预期行为,例如模型应继续尚未闭合的 assistant 前缀还是开启新回合。更换模板前后比较输出,制品、运行时、解码和解析器都保持不变。格式含特殊控制标记时,应根据匹配代际文档断言准确写法、位置和回合结束符。调试日志里可读的对话文本可能隐藏序列化标记,也可能只是从 UI 状态重新拼出的内容;应捕获真正提交给运行时的表示。 按阶段诊断。如果渲染请求漏了角色,或回合结束标记位置错误,就修正序列化器。如果请求符合文档但输出仍异常,再分别检查制品身份、任务支持范围、运行时行为和解码。若原始输出正确、应用显示的对话不完整,则查看解析和持久化逻辑。没有更多结果证据时,不要把模板修复说成模型能力扩展或经过测量的质量提升。 模板版本应作为有版本的兼容数据维护,绑定预期制品和 tokenizer 身份;更改前增加固定回归夹具,并核对共用该构建器的公开语言或模态路径。模板字段不受支持时,应依据官方格式拒绝或省略,而非静默拼上去。项目目前没有完整真实设备基准数据,因此本文解决的是可复现的请求格式与任务行为,不是性能或普遍对话质量。 多轮状态也需要按同一格式核验。将历史消息转成下一次输入时,确认前一轮末尾和新用户回合之间没有多余或缺失的终止标记。若应用把已生成的 assistant 内容连同新的 model 前缀重复加入,模型可能看起来忽略指令或继续旧回答。应保存每轮渲染结果与角色顺序,采用合成对话,不要用真实客户聊天作为默认日志。 一项模板测试通过,只证明当前固定夹具和准确配置按预期序列化。更换模型版本、tokenizer、运行时或多模态输入后都需重新核对相关格式。若无法获取准确运行时提交内容,就将该层标为未知,不能凭 UI 显示的提示文本代替证据。这样的边界能避免在未知格式问题上反复调温度或重下模型。

模型可以初始化,但多轮回复忽略角色边界

应用把另一个模型代际的提示构造器复制过来。多轮回复开始包含旧 assistant 文本或无法进入新回合,而团队从未保存真正提交给运行时的序列化请求。

决策

捕获最终序列化对话,与准确模型代际官方格式对照;只改模板,其余输入保持不变。

预期结果

团队能证明角色/控制 token 格式是否改变,并增加回归夹具保护正确请求结构。

需要收集的证据

只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:

  • COVE-MODEL-02:当前模型配置的 SHA-256 为空,制品身份主张需保持谨慎。
  • BENCHMARK-01:项目缺少完整真实设备基准集,模板测试应只报告固定夹具和配置结果。

发布结论只对所记录的配置和验收集有效;扩大适用范围需要更多记录。

实施流程

  1. 锁定制品与格式来源. 记录模型制品及 tokenizer 来源、模型代际、运行时、应用构建和所依照的官方提示格式文档。不要假设其他家族的模板可互换。
  2. 捕获最终序列化请求. 保存提示构造器完成所有转换后的合成单轮和多轮请求,包含角色标记、消息顺序、控制 token、回合结束符和 assistant 前缀;脱敏私人对话。
  3. 断言模型代际专属边界. 根据对应代际文档核对角色标记和控制符的拼写与位置。为每个消息边界及最终前缀加断言,不要只检查用户可见提示词里含某个子串。
  4. 隔离模板、tokenizer 和解码. 改变模板时保持制品/tokenizer、运行时、停止配置、采样和解析器不变。若看不到 token ID,应注明限制,使用序列化文本证据。
  5. 回放回归对话. 修改前后运行相同单轮、多轮和续写夹具。分别比较原始回答、结束状态、解析后的对话及存储历史。

让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。

验收标准

  • 准确提交给运行时的对话与制品、tokenizer、模板、运行时及应用构建身份绑定。
  • 角色标记、控制 token 和回合结束符按匹配代际官方文档核对。
  • 回归期间模板变更与 tokenizer、解码、解析器和运行时变更相互隔离。
  • 不会从修正序列化问题推导普遍模型质量或性能结论。

决策对照表

维度选择或证据解读方式
模板错配角色/控制 token/轮次序列化不正确即使 tokenizer 和制品有效,模型仍可能误解指令和历史。
Tokenizer 错配文本按错误词表或资产映射身份配对不同;仅修正角色标记不能证明 tokenizer 来源。
解析/历史状态错误原始回答正确但应用状态过期或不完整应在运行时输出之后排查,而不是先改模型模板。

需要避免的失败模式

  • 模型能加载但回答异常时,直接调采样参数却不查看序列化对话。
  • 把某一代控制标记格式复制到其他模型代际。

还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。

最小复现记录

层级记录内容
设备厂商、型号、芯片、内存档位、操作系统版本
软件应用版本和 Git 提交号
模型系列、变体、版本、格式、文件长度、摘要、量化方式
运行时名称、版本、请求后端及实际后端证据
工作负载样例版本、输入摘要、提示词摘要、输出策略
结果完成、失败、取消、回退及保护隐私的诊断信息

发布检查表

  • ☐ 主要搜索问题已回答,且没有未经支持的数字。
  • ☐ 所有模型文件和运行时版本均已固定。
  • ☐ 代表性任务和失败处理策略均有说明。
  • ☐ 生命周期、取消、清理和回退均已测试。
  • ☐ 用户内容与网络边界均有说明。
  • ☐ 结论只适用于被记录的配置。
  • ☐ 新增测试结果时链接到原始方法或证据。

来源与相关证据

中文部署与排错专题见。奇连 AI 端侧专题。

常见问题

能否为每一代 Gemma 复用同一个提示模板?

不要这么假设。不同代际的官方格式可能不同,控制 token 也可能专属于 tokenizer。应确认准确制品代际并使用匹配来源,不要按家族名推断。

模型忽略指令时要直接更换 tokenizer 吗?

没有证据时不要。先捕获准确序列化提示,核对角色边界和回合标记。Tokenizer 身份是另一项检查;同时更换多项配置会让原因难以定位。

可读的对话日志能证明提交格式正确吗?

不一定。调试文本可能隐藏控制标记或重建自 UI 状态。应使用合成输入,在运行时调用边界保存准确序列化表示,并确认消息顺序。