回答里的事实错误,先别急着改提示词。通常更有效的顺序是:把模型实际收到的那段输入原样捞出来,逐句核对出错的那条事实到底有没有出现在素材里。素材里根本没有这条事实,提示词再怎么加“不要编造”也帮不上忙;素材里有、但被拼到了别的段落下,或者几段素材混在一起没有来源标记,问题同样不在提示词层。处理路径建议按这个次序走:先核对输入素材,再查多段拼接的顺序与来源标记,然后给素材加编号与引用约束,重跑同一个问题比对两次输出,最后补一条“素材没命中就允许不硬答”的兜底规则。
把回答里的事实错误归因到检索与素材拼接层,通常比反复改提示词更接近根因。适用场景是同一问题多次调整提示词仍出错、数字和原文对不上。操作动作:导出实际输入素材、逐句核对、补编号与来源标记、加引用约束、重跑比对。验证方式是对比修改前后输出中可核查的事实条数,以及仍出错的条目。边界是:这套流程只能排除素材缺失与串位,模型误读素材、把有依据的内容说反,仍可能在提示词层出现。
把出错回答对应的输入素材原样捞出来核对
捞素材的位置取决于接入方式:自建服务一般在请求发出前把最终拼好的输入文本落盘,或从调用日志、调试面板里取回当次请求体。注意要取的是最终发给模型的那一份,不是检索模块单独返回的原始结果,中间可能已经过截断、去重或模板拼接。
核对时至少留下三样东西:素材原文、出错句子、以及两者是否对应的判定记录。判定结果建议只用几类固定取值,避免写成模糊描述,后续才能统计。
- 素材里有且表述一致:错误来自模型误读或表述漂移,方向转向提示词与引用约束。
- 素材里没有这条事实:属于检索缺失,先补召回范围或数据源,不要先动提示词。
- 素材里有但数值或结论相反:属于拼接拿错段或版本过期,查素材来源与更新时间。
- 素材存在但无来源标记:无法判断是否被正确使用,先补标记再重跑。
检查多段素材的拼接顺序与来源标记
多段素材拼进同一个输入时,最容易出的问题不是缺内容,而是串位:编号、标题、来源和正文错配,模型读到的是“A 的来源配 B 的正文”。建议在拼接处做一张顺序表,把每段的位置固定下来再排查。
| 位置 | 素材来源 | 来源标记 | 状态 |
|---|---|---|---|
| 第 1 段 | 内部知识库条目 | 有 / 无 | 正常 / 缺段 / 重复 |
| 第 2 段 | 业务接口返回 | 有 / 无 | 正常 / 串位 / 过期 |
| 第 3 段 | 用户上传附件 | 有 / 无 | 正常 / 截断 |
排查动作可以很朴素:给每段素材打一个唯一编号,在拼接函数输出后统计每个编号出现的次数和顺序,重复项和缺段会直接暴露出来。同时确认素材的时间字段有没有参与排序,旧版本覆盖新版本是多段拼接里比较隐蔽的一类错答来源。字段名和接口参数以实际使用的检索服务文档为准。
在输入里给素材加来源标记并加引用约束
素材带编号之后,提示词才有一个可执行的约束对象。下面是一段通用骨架,方括号内为替换项,字段与写法按实际接口文档调整,系统提示与用户消息分别承载哪些内容需要结合环境确认。
[素材1 | 来源:知识库A | 更新时间:YYYY-MM-DD]
正文内容……
[素材2 | 来源:接口B | 更新时间:YYYY-MM-DD]
正文内容……
指令:
1. 只允许引用带 [素材N] 编号的内容作答;
2. 每个事实性结论后用方括号标注所用素材编号,例如 [素材1];
3. 若素材中没有对应依据,直接说明未找到依据,不要用常识补全。约束写完后要立刻做一次可验证的检查:随机挑一条结论,看回答里是否真的标了编号,标的编号对应的素材里是否真有这句话。编号约束不解决素材本身写错的问题,它只让错误可追溯。
重跑同一问题并比对修改前后输出
重跑的变量要控制住:同一个问题、同一批素材、除引用约束外的参数尽量不动,否则无法判断是哪一处改动起了作用。比对时按条目逐条核对,不要只看整体感觉。
| 对比项 | 修改前 | 修改后 |
|---|---|---|
| 可核查的事实条数 | 记录实际条数 | 记录实际条数 |
| 能对应到素材的条数 | 记录实际条数 | 记录实际条数 |
| 仍出错条目 | 逐条列出 | 逐条列出 |
| 新增错误 | — | 逐条列出 |
如果修改后仍出错的条目集中在某一段素材上,多半要回到第 2 步查这段素材的拼接与版本;如果错误整体减少但出现新错误,检查是否因为约束过强导致模型放弃引用、改用自己的表述。
定一条规则:素材没命中时不要求模型硬答
把“不知道”变成可接受的输出,需要在接入层写清触发条件,而不是靠模型自行判断。常用触发条件包括:检索返回为空、最高相似度低于设定阈值、素材时间早于要求的有效期、以及问题涉及的字段在素材中不存在。
触发后允许的回应形式建议限定为几类,便于前端和人工审核识别:说明未找到依据并指出缺少哪类信息、列出需要用户补充的字段或参数、给出可选的下一步查询方向。同时明确禁止用相邻素材或常识推断替代缺失事实。阈值取多少、有效期设多长,需要结合业务对准确率与可回答率的要求确认,不建议直接照搬别人的取值。