AI 幻觉是什么?如何减少不实回答?
AI 幻觉是当今 AI 应用的一大难题。与 ChatGPT 或 Gemini 对话时,我们或多或少都遇到过:编造的数据、错误的结论,以及根本不存在的研究。这些并非无伤大雅的小差错,而是可能造成实际后果的错误。本文将介绍如何避免这类问题。
什么是 AI 幻觉?
AI 幻觉是指模型生成看似可信,实则与事实不符、缺乏数据支持或完全虚构的回答。
例如,如果我们请 AI 列出上海 20 家营收持续增长的企业及其统一社会信用代码,它可能给出一份看似合理、完整的名单,但其中的代码却全是编造的。
幻觉尤其难以察觉的一点,正是这种表面上的合理性:回答显得言之凿凿,AI 也毫无迟疑。因此,各类语言模型的界面都会提醒用户核实其中的数字和事实。
AI 幻觉从何而来?
AI 幻觉的根源与语言模型的工作方式有关:模型本质上并不是在“知道”答案,而是根据训练数据和当前上下文,预测最可能出现的回答。
因此,幻觉通常出现在以下三种情况下:
- 缺少数据(主要原因:模型只能猜测);
- 提示词不够明确(模型自行填补信息空白);
- 任务过于复杂(模型试图一次完成所有步骤)。
问题并不只在于语言模型本身,也在于它能否获取所需数据。幻觉并非完全随机、无法干预的现象;相反,它往往源于可以提前识别和改善的条件。
如何减少 AI 幻觉?
让 AI 直接、按结构获取所需数据,有助于预防幻觉。在这样的环境下,语言模型更擅长解读信息、作出判断并得出结论。
下面三种方法都基于这一思路,可以根据实际需求和技术条件选择。
准备数据文件
提供整理好的数据,是最简单且切实有效的做法。这样一来,AI 就不必自行“编故事”来补全缺失的信息。
刚开始使用 AI 的人,常把语言模型当成搜索引擎、ETL 数据处理流程和网页数据抓取工具的结合体。然而,如果一项任务还要求模型收集、清洗并标准化数据,所需信息就可能超出上下文窗口,幻觉风险也会大幅上升。
因此,最好将数据收集过程拆分成几个较小的提示词任务,并在每一步检查 AI 的回答是否属实。这听起来枯燥又费时,却能为语言模型打下可靠基础,让它发挥真正的优势:处理已有数据。
使用 API
连接 API 是更进阶的解决方案:它能让模型更快、更大规模地获取数据,并持续使用最新信息。如果准备数据文件相当于递给 AI 一桶水,那么接入 API 就相当于为它打开水龙头。
ChatGPT、Claude 或 Gemini 使用搜索功能时,获取信息的方式与人类上网查找并无太大区别:语言模型会读取外部网站上的内容,例如 Reddit 或 Wikipedia,然后生成回答。
但这样做无法保证内容准确、及时。来源分散意味着格式不统一、更新日期不同,还可能混入人为错误或主观观点。API 则可以提供可通过程序调用、相对稳定且经过整理的数据来源,从而弥补这一不足。
例如,Monitly 的 API 通过直接连接国家统计局、Eurostat、世界银行、WHO、IMF 等机构的数据源,提供世界各地的统计数据。这样,AI 无须在不同网站间搜寻信息,只需直接向 API 发起请求,就能获取最新结果,进而更方便地分析和解读数据。
连接 MCP
通过 MCP(Model Context Protocol,模型上下文协议)连接 AI,可以让语言模型直接访问文件、电子表格、代码或应用程序。模型因此能够处理现成的数据,显著降低幻觉风险。
例如,企业数据平台 Compabase 推出了自己的 MCP,使 AI 能够快速核验本地企业。此时,如果我们要求 AI 列出上海 20 家营收持续增长的企业及其统一社会信用代码,得到的就不再是凭空编造的信息,而是一份经过核验、前后一致的名单。区别并不是模型突然变得“更聪明”了,而是它此前无法访问这些数据;现在,它可以向数据库发起简单的 SQL 查询,获得现成的结果。
换句话说:
未连接 MCP:
- 名单中的部分企业可能根本不存在;
- 财务数据可能是随意编造的;
- 统一社会信用代码可能是虚构的。
连接 MCP 后:
- 模型向数据库发起查询;
- 返回具体的数据记录;
- 同一查询可得到确定的结果。
当然,如果仍要求模型过度处理、拼接大量数据,幻觉并不会完全消失。但如果我们提供结构清晰、实时更新的数据,并缩小自由推断的空间,AI 就能少一些猜测,多一些基于真实信息的分析。
总结
- AI 幻觉是指模型生成听起来可信,实际却不真实或完全虚构的信息。
- 缺少数据是主要原因之一:模型找不到可靠依据时,就可能转而猜测。
- 语言模型更擅长处理已准备好、结构清晰的数据。通过文件、API 或 MCP 提供这些数据,可以帮助模型基于现成材料作答。
发表回复