跳转到内容

如何降低大语言模型幻觉:把“回答得像真的”变成可验证的工作流

风险场景不该依赖的信号更可靠的替代
事实问答语言自信、段落完整可追溯来源与引用核对
代码与配置“看起来像正确命令”执行、测试与真实输出
数据抽取自由文本总结schema 校验与缺失字段处理
高风险决策单次模型结论人工复核、规则与升级路径

“幻觉”常被用来概括模型输出中貌似合理但不受证据约束的内容。真正要解决的不是让模型永不出错,而是让系统在没有足够证据、不能执行或验证失败时,明确停下、标注不确定性并交给下一步检查。

模型很容易替模糊需求补全不存在的细节。把输入、允许使用的来源、输出格式和拒答条件写出来,可以把“猜一个完整答案”改成“在有限证据内完成一个任务”。

只依据提供的资料回答;缺少证据时返回 unknown;列出来源标识;输出必须符合给定 schema。

这不是保证事实为真,而是让无法证实的部分可见。更多任务冻结方法见把自然语言需求冻结成可验收任务

控制点要做什么失败时怎么办
来源给模型受控、可定位的上下文标记资料缺失,不编造补全
格式用 schema 限定字段与类型校验失败后重试或拒绝
工具让可查询、可执行的事实走工具工具失败时保留错误,不假装成功
验证用独立规则或测试核对关键结论失败就回到输入或人工升级
记录保存输入版本、证据与结果让问题可以复现与修复

这五层分开很重要:检索能补充上下文,不能替代验证;结构化输出能拦截格式错误,不能证明字段内容正确。

可靠性来自可检查的证据、结果和验证器,而不是要求模型公开冗长的内部推理。对于复杂任务,更好的做法是让它给出简短的结论、引用的来源标识、可执行的下一步和不确定项,再由工具或人验证。

  1. 将模型输出标为 proposal,而不是自动写入的事实。
  2. 为每种失败定义处理:缺资料、格式不符、工具报错、验证不通过。
  3. 对高影响动作保留人工审批,尤其是发布、删除、付款和权限变更。
  4. 把已验证的修复写成测试或规则,而不是只在一次对话里提醒。

这正是反馈层的价值:一次失败应进入下一轮可验证的改动,而不是让同一种幻觉重复出现。