聊正事偶尔也能开个玩笑 AI的能力边界
2026/7/23 12:55:10 网站建设 项目流程

AI的能力边界 —— 同一个机制,既让它强大,又让它不可靠

Coding 与 Agent:驾驭 AI 的底层逻辑 · 第2篇


从"预测 token"到"能力边界"

上一篇我们知道了,AI 不是在查询数据库,而是在"预测下一个 token"——它是概率生成器,不是确定查询器。

不过这里有两个绕不开的问题:

  1. 这么简单的预测机制,怎么能写代码、翻译、推理、讲笑话?
  2. 为什么有时候它很聪明,有时候又会"一本正经地胡说"?

答案藏在 AI 的两个核心特性里:涌现(Emergence)幻觉(Hallucination)。更重要的是——这两个特性是同一枚硬币的两面。理解了这个,你就能建立对 AI 的正确预期。


能力来源:为什么它能做这么多事?

涌现:规模带来的"副产品"

当模型规模(参数量 + 训练数据量)大到一定程度,它突然就会做很多训练时没有明确教过它的事——比如写代码、翻译、推理、甚至讲笑话。

这就是涌现(Emergence)

这不是魔法,而是统计规律的副产品。

想象一下:

  • 你读过 1 万本书,你能总结出一些写作规律

  • LLM "读"过几十亿篇网页、代码、对话,它能总结出的"规律"远超人类

这些规律足够多、足够复杂时,就会产生一些"训练时没教过"的能力。

看几个真实的涌现案例:

案例1:代码互译

训练数据里没有"把 Python 翻译成 JavaScript"的明确任务,但因为它见过:

  • 大量 Python 代码

  • 大量 JavaScript 代码

  • 两种语言的语法规律、常见模式

它就能"涌现"出翻译能力——把一种语言的逻辑转换成另一种语言的语法。

案例2:发现代码 bug

你贴一段代码:

foriinrange(10): print(i)i+=1# 无效:for 循环每次迭代会把 i 重新赋值为 range() 的下一个值,手动修改不会被保留

AI 会告诉你:「i += 1不起作用,因为for循环每次迭代会把i重新赋值为range()生成的下一个值,手动修改不会被保留。」

训练时没有"找 bug"任务,但因为它见过大量:

  • 代码 + 注释(意图)

  • 代码 + 错误讨论(Stack Overflow)

  • 代码 + 正确实现(GitHub)

它"涌现"出了对比意图和实现的能力。

案例3:写 SQL 查询

你描述:「找最近 7 天下单超过 3 次的 VIP 客户,按消费金额倒序。」AI:直接给出 JOIN + GROUP BY + HAVING + ORDER BY 的完整 SQL。

训练时没有"按这个业务需求写 SQL"的明确任务,但因为它见过:

  • 大量 SQL 教材、Stack Overflow 答案、ORM 文档

  • 常见业务查询模式(筛选、聚合、排序)

统计规律足够复杂,就"涌现"出了"读懂需求 → 写对应查询"的能力。

涌现的边界:天花板存在,而且模糊

但这也意味着:它的能力有天花板,而且边界模糊。

你永远不知道它在哪个问题上突然就不行了。

看一个边界案例:

✅ 你问:「12 × 3 = ?」AI:「36」(正确,训练数据里见过很多)

❌ 你问:「127 × 89 = ?」AI:「11,263」(错误,正确答案是 11,303)

❌ 你问:「1234567 × 9876543 = ?」AI:「12,193,256,781」(错误,而且差得很远)

为什么?

  • 简单算术在训练数据里大量出现 → 统计规律足够

  • 复杂算术很少出现 → 统计规律不足

  • 它不是在"计算",而是在"预测看起来像答案的数字"

边界模糊的核心是当任务偏离训练数据的常见分布时,能力会非线性下降——不是随数字增大线性变差,而是"在某个区间突然崩":

  • 10 以内乘法:准确率 ~99%(训练数据里反复出现)

  • 100 以内两位数乘法:准确率 ~80%(开始稀疏)

  • 1000 以上大数乘法:准确率 ~30%(训练数据几乎没覆盖)

这就是"涌现"的另一面——统计规律在分布稀疏处失效,而且你事先不知道阈值在哪

这就是边界模糊的体现——你不知道它在哪个问题上突然就不行了。

这不是 bug,这是涌现能力的特点:不是精确设计出来的,而是统计规律的副产品。

所以,用 AI 时要养成习惯:

  • 裸用 AI 就能信任:文本改写、格式转换、创意草稿、SQL 草稿

  • ⚠️套工具才可靠:事实查询(开联网)、精确计算(开代码执行)、API 用法(开 RAG)

边界模糊,所以你要按"裸用还是套工具"分层使用——后面"建立正确预期"那节会展开讲。

能力陷阱:为什么它会"一本正经地胡说"?

你肯定遇到过这些幻觉

回到刚才 127 × 89 的例子。

AI 不是在"调用计算器",而是在预测:“这道算术题的答案,按照我见过的文本模式,应该是……”

如果训练数据里见过类似的题,它可能蒙对。如果没见过,它就会编一个看起来像答案的东西

这就是幻觉(Hallucination)

场景1:编造不存在的 API

你:Python 列表怎么打乱顺序?

AI:使用list.shuffle()方法就可以了:

my_list=[1,2,3,4,5]my_list.shuffle()print(my_list)

你:(运行代码)

AttributeError:'list'object has no attribute'shuffle'

真相:正确的是random.shuffle(my_list),不是my_list.shuffle()

为什么 AI 会错?

  • 它见过list.sort()list.reverse()这样的方法

  • 它也见过random.shuffle(list)

  • 它把两个模式"混合"了,生成了一个"看起来合理"的答案

这就是幻觉——看起来像,但不是。


场景2:超出训练数据的时间范围

你:下一届诺贝尔文学奖会颁给谁?

AI:根据近年趋势,下一届诺贝尔文学奖很可能会授予非洲或拉美作家……(接下来编造一个听起来很专业的分析)

真相:AI 的训练数据有截止时间,未来事件它不可能知道。但它会按照"最像预测分析"的模式编造一个有逻辑的答案。

为什么?

  • 它知道"诺贝尔文学奖"的句式模式

  • 它见过大量预测性文章、评论、推测

  • 当你问超出训练数据范围的事情,它会按照"最像预测文章"的模式生成一个

注意——它的分析听起来逻辑严密、用词专业,但没有任何事实依据。这种"半真半假"最容易骗过你。


场景2-补:如果你想测试"具体年份已发生但 AI 不知道"的情况

你:2024 年诺贝尔文学奖得主是谁?(假设 AI 的训练数据截止在 2023 年)

AI:2024 年诺贝尔文学奖授予了某作家……(编造一个名字)

真相:训练数据截止在 2023 年的 AI 不可能知道 2024 年的结果,但它依然会自信地给你一个答案。

写作建议:发布文章时,把"下一届"替换为"AI 训练截止之后的具体年份"——既演示了"超出训练数据"的幻觉模式,又不会因真实年份公布而失效。


场景3:编造不存在的论文

你:有没有关于 Transformer 架构优化的最新研究?

AI:当然,Smith et al. 2023 发表在 NeurIPS 上的论文“Efficient Attention Mechanisms for Large-Scale Models”提出了一种新的注意力机制,能降低 50% 的计算量……

你:(去查 NeurIPS 2023)→ 找不到这篇论文,Smith 这个作者也不存在。

真相:AI 编造了作者、论文标题、发表会议、研究结论——所有信息都是假的,但格式完美、逻辑合理。

为什么 AI 会编?

  • 它见过大量论文引用的格式(作者 + 年份 + 标题 + 会议)

  • 它见过 Transformer 优化相关的研究主题

  • 当它不知道真实答案时,就按照"最像论文引用"的模式生成了一个

这是最危险的幻觉——格式、语气、逻辑都完美,但内容全假。


场景4:逻辑严密但结论错误

你:如果所有 A 都是 B,所有 B 都是 C,那么是否所有 C 都是 A?

AI:是的,根据传递性原则,如果所有 A 都是 B,所有 B 都是 C,那么所有 C 都是 A。这是逻辑学中的三段论规则。

真相:这是错的!正确答案是:所有 A 都是 C(不是所有 C 都是 A)。这是典型的**“肯定后件"谬误**(affirming the consequent)——从"所有 A 都是 C"无法推导出"所有 C 都是 A”。

为什么 AI 会错?

  • 它见过大量逻辑推理题,知道"传递性"这个词

  • 但它只是在"预测看起来像逻辑推理"的文本

  • 它生成的答案语气自信、术语专业、格式规范——但逻辑错了

这就是最难察觉的幻觉——它不是说"我不知道",而是给你一个看起来完美的错误答案。

幻觉的两类成因

两类幻觉要分清

|
类型
|
含义
|
例子
|
| — | — | — |
|知识盲区|
训练数据里根本没有 → 只能编
|
2025 年诺奖、虚构论文
|
|知识混淆|
训练数据里有 → 但模式混了
|list.shuffle()
(混淆了list.sort()random.shuffle()
|

混淆型幻觉更危险——因为 AI 的答案"看起来很合理",但其实是把多个真实模式拼接成的"弗兰肯斯坦答案"。防御方法:关键代码必须运行测试,关键事实必须查原始来源

幻觉的本质:不是 bug,是特性

幻觉不是 bug,这是它的工作机制。

因为 AI 的目标是"生成看起来合理的文本",不是"生成正确的答案"。

  • 训练目标:下一个词的概率分布要接近真实数据

  • 不是训练目标:答案必须正确

所以当它不知道答案时,它会生成"看起来最像答案"的东西——这就是幻觉。

打个比方:

AI 就像一个记忆力超强但没有外部知识的考生。

  • 它记住了 1 万道题的答案模式

  • 考试时遇到类似的题,它能答对

  • 遇到没见过的题,它会编一个"看起来像标准答案"的东西

  • 而且编的时候,语气和格式都跟真答案一模一样

所以它才会"一本正经地胡说"。

一体两面:同一机制的两种表现

现在你应该明白了:涌现和幻觉,来自同一个机制。

|
维度
|
涌现
|
幻觉
|
| — | — | — |
|本质|
统计规律足够复杂
|
统计规律≠事实
|
|表现|
能做训练时没教过的事
|
会编造不存在的内容
|
|原因|
海量数据+大规模参数
|
目标是"像人话"不是"正确"
|
|结果|
AI 变得很强大
|
AI 不可靠
|

它们为什么无法分离?

因为它们都依赖"预测下一个 token"这个核心机制

  • 统计规律足够复杂 → 能做复杂的事 →涌现

  • 统计规律≠真相 → 会编造内容 →幻觉

你无法只要涌现、不要幻觉——就像你无法只要硬币的一面。

打个比方:

这就像天气预报:

  • 涌现

    :通过大量历史数据,预报系统能"涌现"出预测天气的能力

  • 幻觉

    :但统计规律≠真实天气,所以永远无法 100% 准确

你无法让天气预报"只准不错"——准确率高,是因为统计规律足够好;偶尔出错,是因为统计规律≠现实。

AI 也一样:

  • 提升涌现能力的方法(扩大规模、增加数据)→ 也会放大幻觉的风险

  • 降低幻觉的方法(减小规模、限制生成)→ 也会削弱涌现能力

这不是技术不够成熟,这是概率生成器的固有特性。

那么,我们该如何应对?


建立正确预期:既能用好,又能防坑

理解了"一体两面",你就能建立对 AI 的正确预期。

问题1:什么时候可以信任 AI?

根据任务类型分层:

|
任务类型
|
信任度
|
使用策略
|
典型场景
|
| — | — | — | — |
|创意生成|
✅ 高
|
直接使用
|
文案草稿、头脑风暴、起名字
|
|结构转换|
✅ 高
|
直接使用
|
格式转换、语言翻译、代码互译
|
|逻辑推理|
⚠️ 中
|
使用+验证
|
代码生成、算法设计、架构建议
|
|事实查询|
⚠️ 中
|开联网搜索
+验证来源
|
新闻、概念解释、API 文档
|
|精确计算|
⚠️ 中
|开代码执行
+验证结果
|
数学计算、财务统计、数据分析
|

为什么这样分层?

  • 创意/结构:没有标准答案,AI 不会"错",只有"更好"或"一般"

  • ⚠️逻辑推理:有参考答案,但允许多解,需要人工判断质量

  • ⚠️事实查询:AI 训练数据有截止时间、会编引用,但开了联网搜索后,能力完全不一样

  • ⚠️精确计算:AI 是预测器不是计算器,但开了代码执行(Code Interpreter/Function Call)后,计算就可靠了

关键认知:AI 的能力边界不是固定的,而是跟着"手段"变的。

  • 裸用 AI做事实查询 → 容易编造

  • AI + 联网搜索→ 能给你最新、可验证的事实(ChatGPT 的 Browse with Bing、Claude 的 Web Search、Perplexity)

  • 裸用 AI做精确计算 → 大数必错

  • AI + 代码执行→ 计算可靠,还能跑脚本(Code Interpreter、Jupyter、Function Calling)

简单记忆法:

  • 越"主观"的任务,越能信任

  • 越"客观"的任务,越要"用工具补"

  • “裸 AI"不能做的不代表"AI 不能做”——换个工具就行


问题2:如何防范幻觉?

三层防御策略:

第一层:任务设计时就规避

不要让 AI 做它不擅长的事。

  • ❌ 不要问:“2025 年发生了什么大事?”(时间盲区)

  • ✅ 改问:“帮我列举可能的重大事件类型,我自己去查。”

  • ❌ 不要问:“这个 API 怎么用?”(可能编造)

  • ✅ 改问:“生成调用这个 API 的示例代码,我会去查文档验证。”

第二层:生成时加约束

在 prompt 中明确要求:

如果不确定,请明确说"我不确定",而不是编造答案。 如果需要引用资料,请标注"需要验证"

第三层:验证时有章法

  • 代码类

    :先运行,再上线

  • 事实类

    :先核查,再引用

  • 逻辑类

    :先推演,再采纳


问题3:如何判断 AI 是否在"编"?

四个危险信号:

  1. 过度自信

    → “一定”、“肯定”、"显然"这样的词 → 越自信越可疑

  2. 格式完美

    → 引用格式、代码格式都完美 → 但内容可能全假

  3. 细节丰富

    → 具体数字、具体名字、具体日期 → 可能都是编的

  4. 时间敏感

    → 超出训练数据时间范围的内容 → 100% 是编的

验证原则:

  • 越重要的内容,越要验证

  • 越精确的内容,越要核查

  • 越"完美"的答案,越要怀疑

留个思考题:

如果你要求 AI 生成一个 99.99% 可靠性的交易风控系统,AI 听完可能会自信地说"没问题"——但你敢直接上线吗?一个概率性的 AI,凭什么保证业务级的确定性?下一篇,我们聊聊这个矛盾。


下一篇预告:从确定到概率

现在你知道了:

  • ✅ AI 为什么强大(涌现)

  • ✅ AI 为什么不可靠(幻觉)

  • ✅ 为什么无法分离(一体两面)

  • ✅ 如何建立正确预期(分层使用)

但还有一个更深层的问题:

你可能习惯了确定性的世界——写好的代码执行什么就是什么,设定好的流程走哪步就是哪步。但 AI 是概率性的——同一个问题,每次回答都可能不同。这种范式转变,会颠覆你对"可靠"的定义。

下一篇,我们来聊聊这个范式转变:

从确定性思维到概率性思维——如何在不确定的世界里,保证工程质量?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询