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系统没有这种能力。它们:
-
不知道自己不知道什么:无法识别知识边界 -
不管理困惑:当遇到模糊或矛盾信息时,不会标记不确定性 -
不寻求澄清:即使需求明显不完整或不一致,也不会主动提问 -
不呈现权衡:很少并列多个方案并展示各自的优缺点 -
在应该提出异议时不反驳:即使用户的请求有问题,也倾向于执行而非质疑
这对用户意味着什么?
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系统行为的洞察具有重要参考价值。
夜雨聆风