当AI开始一本正经“胡说八道”,我们该怎么办?——聊聊大模型安全与反“幻觉”技术

举报
Echo_Wish 发表于 2025/11/03 20:27:29 2025/11/03
【摘要】 当AI开始一本正经“胡说八道”,我们该怎么办?——聊聊大模型安全与反“幻觉”技术

当AI开始一本正经“胡说八道”,我们该怎么办?——聊聊大模型安全与反“幻觉”技术

大家好,我是 Echo_Wish。
今天我们不谈高大上的算法,也不炫硬核架构,咱聊点朴实的现实问题:

为什么大模型有时候会一本正经地胡说八道?

比如你问它:

“周杰伦和爱因斯坦是什么关系?”

有些模型能给你来一句:

“他们曾经一起研究过相对论中的韵律结构……”

???兄弟,你是认真的?

这种现象,在大模型领域有个正式的名字:

—— 幻觉(Hallucination)

意思是模型开始“瞎编”。
而当模型开始瞎编,那就不是 AI,而是会骗你的小作文大师。

那么问题来了:

  • 为什么模型会“乱说”?
  • 我们怎么检测它?
  • 怎么让它不敢瞎编

今天咱就好好聊聊。


一、大模型为什么会“胡说八道”?

大模型的本质是:

根据词的概率生成下一个词

它不是“懂”,它是“猜”。

举个例子,比如:

北京故宫位于____

模型会认为“北京市”或“东城区”是高概率词,它就接上了。

但当你问:

秦始皇和刘德华是什么关系?

它虽然不知道答案,但它知道:

  • “他们…” 是个不错的句子开头
  • “曾经”、“影响”、“合作”、“文化”等词很常用于关系型回答

于是它开始编。
编得越顺,越像真的。

这就是为什么 AI 有时候自信地胡说,而且非常流利。


二、这种“幻觉”为什么危险?

你可能会说:

“胡说几句怎么了,不就是娱乐嘛?”

但问题是,大模型已经开始走进严肃场景

  • 医疗问诊
  • 法律分析
  • 风控审计
  • 企业决策支持
  • 教育辅导

在这些场景里:

不是“说得好听”,而是“说得准确”。

如果模型一本正经给你一本错误方案,
那就是 灾难


三、我们怎么让大模型别瞎说?

核心思想只有一句:

让模型“有依据再说话”。

所以解决幻觉的思路一般有三个:

方法 思路 效果 成本
Prompt 约束 别瞎说,自觉点 简单 控制有限
检索增强 (RAG) 去查资料再回答 效果好 需要构建数据源
回答验证 & 审核 输出前再检查 安全稳 多一步处理

接下来咱一个个讲。


四、方法1:给模型“定规矩”——Prompt 限制

比如,我们可以要求模型:

如果你不知道,就回答“我不确定”或“暂无相关信息”。
请不要编造不存在的事实。

用 Python 举个例子(以 OpenAI 接口为例,示意):

import openai

prompt = """
你是一个严谨的信息助手。
如果你不知道答案,必须回答:我不确定。
禁止编造,不允许凭空假设。
问题:秦始皇和刘德华是什么关系?
"""

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[{"role": "user", "content": prompt}]
)

print(response.choices[0].message['content'])

输出大概率是:

我不确定,他们属于不同历史时期,没有直接关系。

这就是比胡说强的地方。


五、方法2:让模型“先查资料”——RAG 检索增强

这是现在非常流行也非常有效的一种方式:

模型不是直接回答,而是先从知识库里查,再基于结果回答。

流程:

用户问题 → 检索向量数据库 → 拿到真实文档 → 模型根据文档回答

示意图(口胡版):

用户 →(问题)→ AI →(去查)→ 向量库 → 返回资料 → AI基于资料回答

样例代码思路(伪简写版):

def rag_answer(question):
    docs = vector_db.search(question) # 找最相关文档
    context = "\n".join(docs)
    prompt = f"根据以下内容回答,不允许编造。\n\n资料:\n{context}\n\n问题:{question}"
    return llm(prompt)

print(rag_answer("鸿蒙内核是不是基于Linux?"))

这样模型就不会随便说:

当然完全重新开发 bla bla...

它会查到真实资料后回答:

鸿蒙内核有多个版本,LiteOS内核和Linux兼容层并存...

稳了。


六、方法3:输出前再“复检”——回答验证机制

我们可以让第二个模型专门检测第一个模型是不是胡说了。

类似“双人审核”。

流程:

LLM-1 生成回答
LLM-2 检查回答是否符合事实、是否有幻觉
→ 如果有问题,重新回答或拒答

七、最后说句掏心窝子的话

很多人以为 AI 的终极目标是“像人一样聪明”。

但其实,AI 只要做到一件事就够了

不骗人。

真正有用的 AI 不是能说多好听,
而是能说:

  • 我知道
  • 我不知道
  • 我不确定
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。