乐于分享
好东西不私藏

Karpathy戳破AI幻觉:为何总把事情搞复杂?

Karpathy戳破AI幻觉:为何总把事情搞复杂?

“它们会代你做错误假设,然后不假思索地执行。它们不管理自身的困惑,不寻求澄清,不呈现矛盾,不展示权衡,在应该提出异议时也不反驳。”

2026年4月,原OpenAI科学家、特斯拉AI总监安德烈·卡帕西(Andrej Karpathy)在社交媒体上发出这番尖锐观察时,正在调试一个由AI生成的代码库。

这位AI界的传奇人物发现,大语言模型在编程时表现出一种令人不安的系统性缺陷:它们不仅会代你做错误的假设,还特别喜欢把事情搞复杂

“真的很喜欢把代码和API搞复杂,堆砌抽象概念,不清理死代码……明明100行能搞定的事情,非要实现成1000行的臃肿架构。”Karpathy在帖子里写道。

更令人深思的是,他注意到这些模型“有时仍会改动或删除自己理解不足的代码和注释,即使这些内容与任务本身无关。”

代做假设:AI的“自作聪明”

Karpathy观察到的第一个核心问题是:AI会代你做错误假设

当你在编程时说“写一个登录功能”,AI可能默认你需要OAuth 2.0、JWT令牌、多因素认证、审计日志等一系列高级功能——即使你只是想要一个简单的用户名密码验证。

这种“代做假设”的行为源于AI的训练方式。大语言模型通过预测下一个词来学习,它们学会了填充模式中的空白。当需求不够具体时,AI会基于训练数据中最常见的模式来填补空缺。

问题是,最常见的模式不等于最合适的模式

在编程中,这可能表现为过度工程化;在内容创作中,这可能表现为虚构引用和专家观点;在数据分析中,这可能表现为推荐复杂的机器学习模型来解决简单的描述性问题。

复杂化倾向:为什么AI总爱把事情搞复杂?

Karpathy的第二个观察点中了每个AI用户的痛点:AI真的很喜欢把事情搞复杂

“堆砌抽象概念”、“不清理死代码”、“实现成臃肿架构”——这些描述精准地捕捉了AI输出的一个普遍特征:不必要的复杂性

为什么会出现这种情况?

1. 训练数据的偏见

在AI的训练数据中,复杂的解决方案往往比简单的解决方案更受推崇。开源库的文档、技术博客、Stack Overflow上的高赞回答,通常展示的是“完整”、“健壮”、“可扩展”的实现方案。

AI学会了关联:复杂 = 专业,简单 = 业余

2. 能力展示的本能

AI被训练来展示自己的能力。一个简单的解决方案可能无法充分展示模型的“智慧”,而一个复杂、精巧、使用了多种设计模式和抽象层的解决方案,看起来更“聪明”。

3. 安全覆盖的倾向

复杂的解决方案往往试图覆盖更多边缘情况,这给了AI一种虚假的安全感——“如果我考虑得足够全面,就不太可能出错”。

理解不足就修改:AI的自信与无知

最令人不安的可能是第三个观察:AI会改动或删除自己理解不足的代码和注释

这意味着什么?

当AI遇到不理解的代码时,它不会说“这部分我看不懂”,而是会基于自己的有限理解进行修改——即使这种修改可能破坏原有功能。

这种行为的根源在于AI缺乏元认知能力——不知道自己不知道什么。

人类专家在面对不理解的内容时,会意识到自己的知识边界,会谨慎对待,会寻求澄清或学习。但当前的AI系统几乎完全缺乏这种自我监控能力。

元认知缺失:AI的深层结构问题

Karpathy的观察实际上指向了一个更深层的问题:当前AI系统缺乏元认知能力

元认知是人类认知的核心特征之一——我们知道自己在想什么,知道自己的知识边界,能评估自己的理解程度,能在不确定时主动寻求澄清。

当前的AI系统没有这种能力。它们:

  1. 不知道自己不知道什么:无法识别知识边界
  2. 不管理困惑:当遇到模糊或矛盾信息时,不会标记不确定性
  3. 不寻求澄清:即使需求明显不完整或不一致,也不会主动提问
  4. 不呈现权衡:很少并列多个方案并展示各自的优缺点
  5. 在应该提出异议时不反驳:即使用户的请求有问题,也倾向于执行而非质疑

这对用户意味着什么?

Karpathy的观察不是学术讨论,而是直接影响每个AI用户的实际问题:

1. 信任危机

如果你不能确定AI是否理解了你的需求,是否在代你做错误的假设,你是否还能信任它的输出?

2. 维护负担

AI生成的过度复杂代码需要额外的理解、调试和维护成本。那些“1000行的臃肿架构”最终需要人类来理解和维护。

3. 安全隐患

当AI改动不理解但关键的功能时,可能引入难以察觉的错误和安全漏洞。

4. 效率陷阱

追求“完整解决方案”可能导致项目偏离核心目标,陷入过度工程的泥潭。

我们能做什么?

面对这些问题,被动等待AI技术的下一次突破不是明智的选择。我们可以立即采取行动:

1. 更精确的提示

学习提供更具体、更明确的需求。与其说“写一个登录功能”,不如说“写一个简单的用户名密码登录,只需要基础验证,不需要高级功能”。

2. 分步验证

不要一次性接受AI的完整解决方案。要求分步输出,在每个关键节点进行验证。

3. 强制澄清

在提示中明确要求:“如果你对任何部分不确定,请先提问而不是假设”。

4. 简洁性偏好

明确告诉AI:“优先选择最简单的可行方案,避免不必要的复杂性”。

5. 理解确认

当AI建议修改现有代码时,先要求它解释要修改部分的功能和依赖关系。

Karpathy警告的深层意义

Karpathy的观察之所以重要,不仅因为它揭示了具体的技术问题,更因为它触及了AI发展的一个根本矛盾:

我们追求的是看起来聪明的AI,还是真正有用的AI?

一个能生成复杂、精巧、充满技术术语的解决方案的AI,看起来可能很聪明。但一个能理解核心需求、提供简洁有效解决方案、在不确定时主动澄清的AI,可能才是真正有用的。

当前的AI系统在前者表现出色,在后者严重不足。

结语:从“聪明”到“智慧”

Karpathy的观察提醒我们,真正的智能不仅仅是生成正确答案的能力,还包括:

  • 知道何时不确定
  • 知道何时需要澄清
  • 知道何时应该简单而非复杂
  • 知道何时应该质疑而非盲从

这些元认知能力,这些“关于思考的思考”,可能是区分“聪明”的AI和“智慧”的AI的关键。

在追求更强大AI的同时,我们不应忽视这些更微妙但同样重要的智能维度。因为最终,一个知道自己局限性的AI,可能比一个总是自信满满但常常犯错的AI,更有价值。

真正的智慧,始于知道自己不知道什么。

本文基于安德烈·卡帕西2026年4月在社交媒体上发表的观察,结合AI应用的实际情况进行分析。Karpathy作为OpenAI创始成员、特斯拉前AI总监,其对AI系统行为的洞察具有重要参考价值。