大模型的局限性:开发者如何与"会说谎"的 AI 共处

大家好,我是极客老墨。

2023 年,Google 发布 Bard(Gemini 的前身)时,演示视频里 AI 自信地声称詹姆斯·韦伯望远镜拍摄了系外行星的"首张照片"——结果这是错的。这一个"幻觉",让 Google 市值蒸发了近 1000 亿美元。

大模型很强,但不是万能的。作为开发者,如果你把它当成一个永远正确的神谕,迟早要在生产环境翻车。

把局限搞清楚,你才知道什么场景能用、用了要怎么防守。 今天咱们就来拆解大模型的"四大软肋"。

一、幻觉(Hallucination):一本正经地胡说八道

1. 什么是幻觉?

模型生成的回复语气自信、逻辑通顺,但内容是捏造的。比如:编造一个不存在的 Go 库函数、张冠李戴的历史事件。

根因:模型本质是在做概率预测。它没有"事实"的概念,只有"概率"的概念。当训练数据里没有准确答案时,它会按概率拼凑出一个"听起来最像正确答案"的回复。

2. 开发者规避手段

  • 提示词约束:明确告诉模型"如果不确定,请直接说不知道,不要编造"。
  • RAG (检索增强生成):给模型提供可靠的参考资料(如你的项目文档),让它"看书说话"而不是"凭空发挥"。
  • 调低 Temperature:将 temperature 设为 0 或 0.1,让输出变得保守、确定。
  • 输出验证层:对关键字段(如 ID、日期、代码)做二次校验,或者用另一个模型实例进行 Fact-check。

二、知识截止日期(Knowledge Cutoff):它活在过去

1. 什么是知识截止?

模型的能力上限被锁死在它训练结束的那一天。

  • DeepSeek-V3:数据截止到 2024 年 7 月。
  • GPT-4o:数据截止到 2023 年 10 月。

如果你问它 2025 年的科技新闻或最新的 Go 1.24 特性,它要么说不知道,要么就开始"幻觉"。

2. 开发者规避手段

  • 注入当前日期:在 System Prompt 里明确告诉模型"今天是 2026 年 4 月 10 日"。
  • 联网搜索 (Search):通过工具调用(Tool Use)让模型实时调 Google/Bing API 获取最新信息。
  • 动态上下文:通过 RAG 把最新的资讯实时喂进 Prompt。

三、上下文遗忘:短暂的记忆力

1. 什么是上下文窗口限制?

大模型是无状态的,所有的"记忆"都靠每次请求时把历史记录塞进 messages 数组。

  • DeepSeek-V3:支持 128K Token。
  • Gemini 1.5 Pro:支持 1M Token。

虽然 128K 很大(约 10 万汉字),但一旦对话过长,早期的信息就会被截断。更糟糕的是**“迷失在中间”(Lost in the Middle)**现象:模型对 Prompt 开头和结尾的信息记得准,中间的部分容易漏掉。

2. 开发者规避手段

  • 对话摘要:当对话轮数过多,用 AI 把旧对话总结成一段摘要,替换掉冗长的原始记录。
  • 外部存储:把长期记忆(如用户偏好)存入 Redis 或向量数据库,按需提取。
  • 关键指令置顶:永远把最重要的约束规则放在 System Prompt(即数组第一位)。

四、不确定性:同一个问题,不同的答案

1. 为什么会不确定?

模型生成 Token 是随机采样的。即使参数完全一样,两次请求的结果也可能有微小差异。这对创意写作是好事,对需要精准输出(如 JSON)的场景是噩梦。

2. 开发者规避手段

  • 固定种子 (Seed):部分 API 支持设置 seed 参数来尝试获得确定性输出。
  • 结构化输出 (Structured Outputs):强制要求模型输出 JSON,并开启 API 级别的 JSON 校验模式。
  • 输出重试机制:如果代码解析 JSON 失败,自动带着错误信息重新发起请求,让模型自纠。

五、大模型应用开发的"五个第一"

为了应对上述局限,我总结了这套实操心法:

  1. 安全第一:永远不要让 AI 直接操作涉及资金、删除等高危指令,中间必须有人工审核(Human-in-the-loop)。
  2. 验证第一:不要相信模型的格式输出,代码里必须有严谨的校验和异常处理。
  3. RAG 第一:能提供参考资料的场景,绝对不要依赖模型的内生知识。
  4. 低温第一:除非是写诗,否则 temperature 默认先设为 0。
  5. 分层第一:复杂的任务拆成多个 Prompt 链路,不要指望一个 Prompt 解决所有问题。

老墨总结

大模型的局限性不是 Bug,而是物理规律

一个成熟的 AI 开发者,不是能写出"最强 Prompt"的人,而是能设计出一套系统,让 AI 在犯错时也不影响业务运行的人。

理解了这些坑,你才算真正从"爱好者"变成了"工程师"。

筑牢根基,是为了更好地出发。

文章有帮助?转发给同样在踩坑的朋友。有不同意见?评论区见。

关注公众号:极客老墨

更多 AI 应用开发、工程实践和效率工具分享,欢迎扫码关注。

极客老墨微信公众号二维码

相关阅读