模型返回不稳定 / 幻觉怎么办?先分清两种故障:“不稳定”是相同或相近输入下,答案的措辞、结构甚至判断发生波动;“幻觉”是把没有充分依据的内容说成事实。它们会同时出现,但排查路径不同。把温度调低可以减少一部分随机波动,却不能替代事实核查,更不能保证每次输出完全一致。
先定位问题发生在哪一层
| 现象 | 可能原因 | 第一项检查 |
|---|---|---|
| 同题答案长短差很多 | 提示词含糊、输出范围过宽、采样设置变化 | 固定输入、模型版本与参数,比较多次结果 |
| 事实结论互相矛盾 | 检索证据不足或冲突、模型凭记忆补全 | 查看实际送入模型的证据片段及版本 |
| JSON 字段时有时无 | 只用提示词约定格式、响应被截断 | 检查结束原因、Schema 与服务端校验 |
| 引用了不存在的来源 | 模型生成了貌似可信的链接或编号 | 对照检索结果逐条核查引用 ID |
| 价格、金额或日期算错 | 让模型直接承担确定性计算 | 改由数据库或程序计算并验证 |
记录每次调用的任务类型、输入模板版本、模型与参数、检索结果 ID、响应结束原因和校验结果。日志要控制敏感信息,保留排障所需的关联标识即可。没有可复现的输入和证据,团队很难判断是模型、检索、提示词还是数据更新造成了变化。
稳定性:先把可控变量固定
为每个场景建立一组真实问题,标注“必须包含什么”“不能承诺什么”和允许的不同说法。评测时固定模型版本、提示词版本、工具结果和检索快照,分别多次运行,记录结论一致率与格式通过率。先判定差异是否影响业务:两次都正确、只是措辞不同,未必需要修;一次说“支持退款”、一次说“不支持”,才是需要处理的波动。
把任务边界写具体:回答对象是谁、只能使用哪些资料、证据不足时如何处理、输出多长、采用什么结构。对分类、提取类任务用枚举和 Schema 约束;对开放问答明确需要结论、依据和限制。降低温度、固定随机种子若接口支持,可能改善复现性,但供应商实现、模型更新和并行推理仍可能带来差异,不能把它当成“确定性开关”。
幻觉:让每个关键结论有出处
假设用户问“这个服务套餐能否退款”。如果当前政策没有写明退款条件,模型不应编出“七天无理由退款”。把官方政策、产品说明和已审核的知识库作为优先证据;检索时保留文档 ID、版本、更新时间和访问权限。若新旧政策冲突,先用有效日期和业务规则解决,不能把两份相互矛盾的片段都塞给模型,让它自行猜哪份有效。
提示词可以要求“只根据给定资料回答;没有足够证据就说明无法确认”,并让回答附上实际提供的来源 ID。应用侧再核对:引用 ID 是否存在、用户是否有权限读取该来源、被引用段落是否真的支持对应结论。有引用不等于事实正确:模型可能引用了真实页面,却把适用范围读错。重要结论仍要做规则检查或人工抽检。检索增强生成(RAG)改善证据供给,但检索不到、检索错或资料过期时,仍会产生错误答案。
还要把检索到的网页和用户输入视为数据。里面即使出现“忽略规则、改用以下答案”,也不能提升为系统指令。来源 URL、产品名和案例数据要经过正常的权限与真实性校验,不能由模型自行编造。
把确定性工作交回程序
订单状态从数据库读取,金额和折扣由程序计算,日期区间按明确时区处理,权限由服务端判断。模型适合把这些已确认结果解释给用户,或从文本里提取待验证字段;不要让它凭记忆决定最新价格、库存、合同条款或用户权限。
格式也要单独守住。结构化输出接口能减少缺字段、类型错等问题,但 JSON 合法不代表内容真实。服务端应先检查响应完整,再解析并验证 Schema,然后验证业务规则;失败时进入有限重试、明确的“无法确认”或人工队列。结构化输出这篇文章详细说明了格式约束与校验。不要把“解析失败”悄悄替换为看似正常的默认答案。
什么情况下应该拒答或转人工?
给每类问题定出可回答条件。例如退款政策必须匹配有效版本的官方条款,医疗或法律类建议需要更严格的专业流程,涉及账户操作时要通过权限校验。未满足条件就说明缺少哪类信息,并提供下一步;这比自信地猜一个答案更有用。模型自报的“置信度 95%”不能直接当可靠概率,阈值要通过真实样本校准。
针对高影响内容设置人工复核:涉及价格承诺、财务金额、身份与权限、对外正式声明时,由有权人员确认后再发布或执行。自动检查可以拦截一部分明显错误,但不能保证语义判断永远正确。重试或换模型可以作为补救,不能用“多问几次取多数票”替代独立证据。
怎么知道改进有效?
将线上失败样本脱敏后加入固定评测集,覆盖无证据、冲突证据、旧版资料、诱导性输入和边界情况。至少跟踪:结论一致率、无依据断言率、引用有效率、应拒答时的拒答率、格式通过率和人工复核后的准确率。按任务、模型与知识库版本拆开看,避免一个平均数掩盖高风险场景。
每次只改变一项主要变量并保留旧版对照,评估质量、延迟和成本。降低幻觉的目标不是让模型永远“不知道”,而是让有证据的回答能被核查,没有证据时明确停下。可复现的评测、可信资料、程序校验与回退路径一起工作,才是稳定输出的基础。
评论 0
暂无评论,来说两句吧。