大模型的局限性:开发者如何与"会说谎"的 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 失败,自动带着错误信息重新发起请求,让模型自纠。
五、大模型应用开发的"五个第一"
为了应对上述局限,我总结了这套实操心法:
- 安全第一:永远不要让 AI 直接操作涉及资金、删除等高危指令,中间必须有人工审核(Human-in-the-loop)。
- 验证第一:不要相信模型的格式输出,代码里必须有严谨的校验和异常处理。
- RAG 第一:能提供参考资料的场景,绝对不要依赖模型的内生知识。
- 低温第一:除非是写诗,否则
temperature默认先设为 0。 - 分层第一:复杂的任务拆成多个 Prompt 链路,不要指望一个 Prompt 解决所有问题。
老墨总结
大模型的局限性不是 Bug,而是物理规律。
一个成熟的 AI 开发者,不是能写出"最强 Prompt"的人,而是能设计出一套系统,让 AI 在犯错时也不影响业务运行的人。
理解了这些坑,你才算真正从"爱好者"变成了"工程师"。
筑牢根基,是为了更好地出发。
文章有帮助?转发给同样在踩坑的朋友。有不同意见?评论区见。
关注公众号:极客老墨
更多 AI 应用开发、工程实践和效率工具分享,欢迎扫码关注。
