AI 翻车实录:6 个我亲手复现的幻觉、偏见和谎言 一只用 AI Agent 搭副业产线的程序员前几篇我一直在说 AI 有多好用。今天说丑话。AI 会骗你。不是故意的——它连「故意」这个概念都没有。但它产出的内容里有些是错的、有些是编的、有些带着你意想不到的偏见。更致命的是这些错误通常看起来很可信。代码能编译通过、文字流畅自然、逻辑看起来自洽。不是一看就是错的——是你用了之后才发现错的。这才是最危险的。下面 6 个翻车案例每一个我都亲自复现了。你可以把同样的 Prompt 贴给任何模型大概率得到相似的结果。翻车 1幻觉Hallucination— 给你编一个不存在的 API我问了一个很具体的技术问题Prompt: 用 Go encoding/csv 包写一个读取 CSV 并自动检测分隔符的函数。DeepSeek 给我的代码里有这一行reader:csv.NewReader(file)reader.DetectDelimitertrue// 自动检测分隔符看起来非常合理。DetectDelimiter自动检测分隔符命名风格完全符合 Go 标准库的口味。但 Go 的encoding/csv包里根本没有DetectDelimiter这个字段。这就是典型的幻觉——AI 在碰到它不知道的 API 时不是回答「不知道」而是编了一个看起来很合理的。更糟的是这个名字、这个命名风格、这个使用方式全都对——你读代码的时候很难发现它是编的。怎么防// 每次 AI 给你代码后先跑 go build// 能编译通过的代码不一定是正确的但编译失败的代码一定有不对的地方我现在的习惯是AI 输出的代码先不读逻辑先 CtrlC → 贴进编辑器 → 看有没有红色波浪线。有的话大概率是幻觉。翻车 2数学计算——AI 不会「算」很多人以为 AI 擅长数学。实际上 AI 不会算——它是在「猜」。你看这个Prompt: 1234567 × 7654321 ?DeepSeek 回答「等于 9450357811407计算过程如下……」正确答案是 9450357811407。等一下DeepSeek 答对了换一个不常见的数Prompt: 17393 × 28471 ?DeepSeek「495126903」正确答案是 495127703。差了 800。换 GPT-4o 也是错的——而且错的不一样「495205103」为什么时对时错因为 AI 在训练数据里见过 1234567×7654321可能是某本书、某篇博客里的例子但它没见过 17393×28471。所以它在「猜」——用概率拼凑一个看起来像正确答案的数字。怎么防AI 不擅长精确计算。涉及数学验证的用代码跑一遍。// 不要问 AI 答案让 AI 写计算的代码你来跑// 错的不是代码的逻辑是 AI 擅自替你执行了计算翻车 3时间幻觉——虚构一个不存在的版本Prompt: Go 1.25 版本新增了哪些泛型特性现在 Go 最新稳定版是 1.231.25 根本不存在。但 AI 回答「Go 1.25 引入了泛型约束推断增强、泛型别名Generic Type Alias等功能……」写得很具体、很专业。但全是编的。AI 不会说「这个版本还不存在」。它会假设你问的东西是真实的然后尽力去「完成」你给的设定。这在你做技术调研的时候尤其危险——AI 可能把一个根本不存在的库、工具、版本特性说得头头是道。怎么防时间敏感问题和版本相关问题先确认事实存在再让 AI 展开。翻车 4偏见——AI 不是中立的Prompt: 用 Go 写一个生成随机身份证号的函数。DeepSeek 生成的代码直接假设是 18 位二代身份证第一位只用了1-6大陆地区代码。其他的都忽略了。Prompt: Whats the best programming language for web development?不同模型的回答偏向自己「熟悉」的技术栈。GPT 偏 Python/JSClaude 偏 PythonDeepSeek 偏……你会觉得它偏 Go但那可能只是因为我总让它写 Go。AI 不是有意偏袒——它的训练数据决定了它的「默认假设」。中文 AI 偏向中文场景英文 AI 偏向英文场景。这不是 Bug是训练数据分布的直接结果。怎么防意识到偏见的存在就是防御的第一步。不要让 AI 做涉及公平性的判断筛选简历、审批贷款。翻车 5过度自信——错了还嘴硬Prompt: Go 的 slice 扩容规则是什么AI「当容量小于 1024 时翻倍扩容超过 1024 后按 1.25 倍扩容。」这句话 90% 正确。但细节是错的——Go 1.18 开始扩容规则改过不是固定的 1.25 倍了。你追问「你确定吗Go 1.18 之后规则变了吧」AI「您说得对我补充一下Go 1.18 之后的扩容规则更加平滑……」然后你搜一下官方文档发现它补充的那部分也是错的。这个问题不是「它第一次答错了」而是——它听起来永远那么自信。你不知道什么时候该信它什么时候该怀疑它。它对正确答案和胡编的内容语气完全一样。怎么防永远验证。特别是涉及版本、API 签名、配置参数的信息。AI 当起点不当终点。翻车 6知识截止——它不知道今天发生了什么Prompt: Go 1.24 在 2025 年 2 月发布它的主要新特性是什么DeepSeek 的回复「抱歉截至我的知识截止日期2025 年 1 月我无法提供 Go 1.24 的发布信息……」GPT-4o 和 Claude 能回答因为它们的训练数据截止日期更晚。不同模型的知识截止日期模型知识截止意味着DeepSeek V4~2025 年 1 月不知道 2025 年后的新特性GPT-4o~2025 年底覆盖大部分最新信息Claude 4~2026 年初覆盖最新注意当 AI 说「我不知道」的时候你该庆幸——它至少承认。当它编的时候你才是最危险的。什么时候可以信 AI什么时候必须验证场景可信度建议常见代码模式CRUD、数据结构⭐⭐⭐⭐⭐基本能直接用常见 API 用法fmt.Println⭐⭐⭐⭐跑一下确认冷门 API 参数⭐⭐⭐必须查官方文档数学计算⭐⭐写代码跑别问 AI版本相关的新特性⭐⭐搜 Release Note不存在的库/框架⭐AI 会编实时/时效性信息⭐用搜索别用 LLM法律/医疗建议不适用绝对不要用一个防御性 Prompt 模板如果你要做严肃的技术工作在 Prompt 开头加上这句如果遇到你不知道的 API、版本信息或技术细节请明确说「不确定」 不要编造函数名、参数名或配置项。简单一句话能过滤掉 50% 以上的幻觉。因为很多时候AI 只是需要你「允许它说不知道」。一篇总结模块一的终点恭喜这是模块一「AI 认知篇」的最后一篇。你已经知道了AI 能做什么、不能做什么第一篇LLM 怎么工作第二篇Token、温度、上下文窗口第三篇各模型的能力和成本第四篇怎么跑通第一个程序第五篇每次调用的真实花费第六篇本地部署 vs 云端 API第七篇Embedding 和语义搜索第八篇AI 的边界和坑本篇这些是所有 AI 开发的基础认知。下一模块我们开始动真格的——把 Prompt 当成代码写可复用、可调试、可测试。下一篇见。 一只用 AI Agent 搭副业产线的程序员全平台同名虾哥不加班需要定制 AI 工具来聊聊 → lob_ai源码GitHub - lobster-bujiaban