Hallucination
当 LLM 产出流畅、自信却纯属虚假的输出时,这是模型工作方式的直接后果,无法被完全消除,只能被减少。
幻觉是指模型生成了听起来正确而实际错误的东西:一个编造的引用、一个虚构的 API、一个貌似可信却虚假的事实。它不是你能打补丁修掉的故障。LLM 预测的是可能的文本,而一个流畅、听起来自信的回答在统计上就是可能的,无论它碰巧是否为真。模型没有「我不知道」的内在感觉,所以它用某个符合模式的东西来填补空白。
因为它是结构性的,诚实的定位是降低风险,而非消除。最大的杠杆是接地:在运行时通过检索(RAG)把真实事实给模型,让它从真实的源文本作答,而不是从它训练时刻的猜测作答。要注意微调在这里是用错了杠杆,因为它塑造的是行为,而不是提供事实。约束输出格式,让即兴发挥的空间更小。让模型引用你能核查的来源。而且至关重要的是要评估,构建一个真实问题的测试集,衡量系统出错的频率,并把这个数字当作一项像其他指标一样要追踪的质量指标。
这就是 AI 与 QA 相遇之处,而大多数团队会跳过它。在没有评估框架的情况下上线一个 LLM 功能,等于上线未经测试的代码却把它叫做完成。你需要在你的用户替你发现之前,就知道你的错误率。我们把这一点视为在 Software Quality Assurance 下不可协商的事项。
为什么评估装置不可协商,举个实际例子:一个团队手动测了十几个问题、看上去都很好,就把一个法律文档助手上线了。到了生产环境,它自信地引用了一条上传合同里根本不存在的条款,一位用户据此采取了行动,于是出现了一项真实的隐患。本能能抓住这个问题的那套装置并不光鲜:几百个带已知正确答案的真实问题,在每次改动时都跑一遍,产出一个单一的数字,即系统答错的百分比。没有它,你就不知道自己的错误率,也就意味着由你的用户替你发现,一次一个错误答案地发现。有了它,你就能在上线之前判断,对照风险,这个错误率是否可以接受。
在受监管或高风险领域,信任这一面就是全部的游戏。一个推荐电影的聊天机器人里的幻觉只是耸耸肩的事。同样的幻觉出现在金融、法律或医疗输出中就是一项隐患。让护栏与出错代价相匹配,永远不要让一个流畅的回答取代一个经过核实的回答。