AI 写代码有多厉害?——快了 55%,但错多了 75%
这是 「AI是怎么回事」 系列的第 15 篇。我一直很好奇 AI 到底是怎么工作的,于是花了很长时间去拆这个东西——手机为什么换了发型还能认出你,ChatGPT 回答你的那三秒钟里究竟在算什么,AI 为什么能通过律师考试却会一本正经地撒谎。这个系列就是我的探索笔记,发现了很多有意思的东西,想分享给你。觉得不错的话,欢迎分享+关注。
第一次看到这个系列?从第1篇开始最顺畅,直接读这篇也没问题。

上一篇,我们总结了四条和 AI 协作的原则——让 AI 做它擅长的事、验证大于信任、迭代而非一次到位、用 AI 放大你的优势而非替代你的思考。
文章结尾留了一个悬念:写代码是 AI 最擅长的事之一,但如果 AI 能写代码,那不会编程的人是不是也能”写”代码了?
今天,让我们一起来探索这个问题。
先从一句话说起。
2023 年 1 月,Andrej Karpathy(OpenAI 联合创始人、前 Tesla AI 总监,领导过 Tesla 自动驾驶团队的 AI 开发)在社交媒体上发了一条推文:
“最热门的编程语言是英语。”
这条推文被超过 900 万人看到。两年后的 2025 年 2 月,他又发了一条更具体的推文:
“有一种新的编程方式,我称之为’VibeCoding’(氛围编程)——你完全跟着感觉走,拥抱指数级增长,忘记代码的存在……我就是看看效果、说说想法、跑跑程序、复制粘贴一下,然后它就大概能用了。”
VibeCoding——这个词后来入选了维基百科词条。它描述的是一种全新的编程方式:你不写代码,而是用日常语言(中文或英文)告诉 AI 你想要什么,AI 来生成代码。你甚至不需要看懂代码——看结果就行。
这听起来像科幻。但 Karpathy 描述了自己的真实工作流程:他用语音输入(一款叫 SuperWhisper 的语音工具)跟 AI 说话,连键盘都很少碰。他会说”把侧边栏的内边距减半”这种大白话,因为懒得自己去代码里找具体位置。AI 生成的代码改动?他全部直接接受,连看都不看。遇到报错?把错误信息直接复制给 AI,通常 AI 就能修好。
不过,Karpathy 自己也补了一句:”用来随手做点周末项目还不错。”
他这句轻描淡写的话,其实藏着很深的含义。让我们慢慢拆解。
Part1:为什么 AI 特别擅长写代码
在搞清楚 AI 编程能做到什么之前,先来 理解一个更根本的问题:为什么编程恰好是 AI 最擅长的领域之一?
上一篇我们已经知道,三问判断法三项全满的任务是 AI 的黄金场景。写代码恰好就是。但这一篇我们不只是确认这个结论——我们要展开看:它到底有多满,以及这种”满”本身又会制造什么问题。
先来拆解”满”在哪。
第一,模式极其明确。
编程语言不像人类语言那样模糊。它有严格的语法规则:if 后面必须跟条件,for 后面必须跟循环变量,函数必须有输入和输出。每种编程语言都像一本规则手册,所有代码都在遵循这些规则——形成了极其规整的模式。对于一个”超级模式匹配器”来说,这简直是完美的工作对象。
第二,训练数据极其充足。

互联网上有海量的公开代码。GitHub(全球最大的代码托管平台,开发者把自己的代码存放在上面供他人查看和使用)一个平台就托管了超过 5 亿个代码仓库,超过 1.5 亿开发者在上面协作。Stack Overflow(全球最大的编程问答社区)上有超过 2300 万个编程问答——每一个都是一对”问题-解决方案”的模式。AI 在训练过程中见过的代码模式,比几乎任何其他领域都要丰富。
第三,结果容易验证。
代码能不能跑,一试便知。不像写散文——好坏见仁见智。代码的对错通常是确定性的:要么运行成功,要么报错。这意味着 AI 的输出可以被立刻检验——这正是三问判断法里最关键的 ”可验证”条件。

所以,AI 写代码不是什么”魔法”。它和 AI 识别人脸(第 1 篇)、AI 通过律师考试(第 9 篇)是同一个道理——当模式明确、数据充足、结果可验证时,模式匹配器就能发挥最大威力。 而编程恰好是三个条件全满的黄金场景。
这也解释了为什么 AI 编程工具的增长速度如此惊人——
GitHub Copilot(GitHub 推出的 AI 编程助手,在你写代码时实时给出建议和补全)在 2025 年 7 月突破了1500 万付费用户,超过 77000 家企业和组织都在使用它。Cursor(Karpathy 自己用的那个 AI 代码编辑器,可以直接用自然语言对话来写代码)更是创造了软件行业的增长奇迹——成立仅两年就达到了 3 亿美元的年化收入,成为有史以来达到这个里程碑最快的软件产品之一,到 2025 年底估值达到约 90 亿美元。
数字背后的驱动力,就是三问判断法:编程是 AI 最完美的应用场景之一。
Part2:AI 编程到底能做到什么——一起来看看
光说数据可能还不够直观。让我们来看看 AI 编程在实际中长什么样。
Karpathy 的亲身描述
Karpathy 在他那条著名的推文里详细描述了自己的 VibeCoding 工作流:
他用 Cursor 这个代码编辑器里内置的 AI 助手。他不用打字,而是用语音跟 AI 说话。他会说一些非常随意的话——“把侧边栏的内边距减半””给这个按钮加个悬浮效果”——完全是日常口语,不是编程术语。AI 理解他的意思后,直接修改代码文件。他看都不看修改的内容,直接全部接受。遇到报错,把报错信息复制给 AI,”通常这样就修好了”。
他说:”代码的规模已经超出了我通常理解的范围——如果要仔细读一遍,得花好一会儿。”
换句话说,他在做一个他自己都不完全看懂的程序——但程序跑起来了。
非程序员的真实案例
更令人惊讶的是,这不只是顶级 AI 专家才能做的事。
在菲律宾,一位名叫 Pablo 的女士用 Microsoft PowerApps 的 AI 功能,为自己的社区建了一个资源共享应用。她不是程序员,在农村长大,直到搬到马尼拉才第一次接触电脑。她只是用日常语言描述了她的需求,AI 就帮她生成了可用的程序。
Y Combinator(硅谷最有影响力的创业孵化器)的 CEO Garry Tan 在 2025 年 3 月透露了一个惊人的数字:他们最新一批创业公司中,有四分之一的代码库几乎完全由 AI 生成。而且这些公司的创始人都是技术背景出身——他们选择让 AI 写代码,不是因为自己不会写,而是因为 AI 写得又快又好。
Replit(一个在线编程平台)的 CEO 则分享了另一个数字:他们平台上有大量非程序员用户通过自然语言描述来构建应用——他们只描述想要什么,AI 来实现。
效率数据:到底快了多少?
一项覆盖 4800 名开发者的研究给出了最具体的数字:使用 GitHub Copilot 的开发者完成一个编写 HTTP 服务器的任务,平均用时 1 小时 11 分钟,而未使用的对照组平均用时 2 小时 41 分钟——快了 55%。
GitHub Copilot 现在平均贡献了活跃用户约 46% 的代码——几乎一半的代码是 AI 写的。而且这些代码中 88% 被保留在了最终版本里,说明质量确实达到了可用水平。
埃森哲(全球最大的咨询公司之一)做了一项更严格的随机对照实验:使用 Copilot 的开发者,代码提交量提升了 8.69%,代码合并率提升了 11%,而成功构建次数更是提升了 84%。
这些数字很漂亮。
但如果故事在这里结束,它就不完整了。
Part3:模式匹配器写代码,会遇到什么问题
Part2 里我们看到了标题的前半句——“快了 55%”。现在来看后半句——「错多了 75%」。
记得 Karpathy 说的那句”用来随手做点周末项目还不错”吗?这句话暗示了一个重要的分界线。
让我们来看看,当 AI 编程从”周末小项目”走向真实世界时,会发生什么。好在这方面已经有了大量公开的研究数据,我们不需要猜测。
问题一:表面能跑,逻辑有错
CodeRabbit(一个 AI 代码审查平台)在 2025 年 12 月发布了一份《AI 与人类代码生成现状报告》,分析了 470 个开源项目的代码提交。结果发现:
- AI 生成的代码平均包含的问题数量是人类代码的 1.7 倍
- 「逻辑和正确性错误高出 75%」——算法错误和业务逻辑错误的出现频率是人类的 2 倍多
- 关键级别的问题多了 1.4 倍,主要级别的问题多了 1.7 倍
- 过度 I/O 操作(输入输出,即程序读写数据的操作)的问题更是高出近 8 倍
这意味着什么?AI 写的代码经常”看起来能跑”,但内在逻辑有问题。
为什么会这样?用第 9 篇的知识来解释:AI 是在”续写代码”,不是在”理解你要什么”。 它从训练数据中匹配最常见的代码模式,然后输出——但”最常见的模式”不等于”在你的具体场景中最正确的做法”。
举个例子:如果你让 AI 做一个记账工具,需要把金额加在一起,AI 很可能用”浮点数”(计算机中表示小数的常见方式)来做加法。在大多数场景下这没问题。但处理金额时,浮点数会有精度误差——15.1+30.2 在计算机里可能等于 45.300000000000004,而不是精确的 45.3。任何有经验的程序员都知道,处理金额应该用整数(以”分”为单位计算)。AI 不知道这个区别,因为它不”理解”你在做记账工具——它只匹配”数字相加”的最常见写法。
代码能跑,不代表代码正确。这是 AI 编程最隐蔽的陷阱。