乐于分享
好东西不私藏

AI 大模型的编程能力,到底怎么样?

AI 大模型的编程能力,到底怎么样?
自从 Vibe Coding(氛围编程)火了之后,网上对于 AI 代替人类各种职业的论调甚嚣尘上,首当其冲的就是程序员。
但 AI 的编程能力真的就能完全代替人类了吗?今天我们聊聊 AI 大模型的编程能力,到底怎么样?

Claude Code 的代码是屎山代码?

前段时间沸沸扬扬的 Claude Code 源码泄露事件中,最先挖出这件事的是一位华裔 Chaofan Shou,挖出这件事后,在一次评论中,他评价 Claude Code 的源码是屎山代码。
要知道,Claude Code 的首席 Boris Cherny 数次承认,Claude Code 的代码都是用 AI 写的,用的当然是自己大模型了。
Anthropic 家的大模型,那可是现在公认的编程大模型一哥,而且都不带并列的。国内用户为了用他家模型写代码,那可真是跋山涉水翻山越岭一言难尽,终于用上了,还得战战兢兢小心翼翼痛并快乐着,就怕哪天早起突然被封。
但是,公认最强模型写出来的代码是什么样呢?我们去海外最大的论坛 reddit 里找一些评论看看!
来源于 reddit
Claude Code 代码曝光之后,有一个广为流传的点是他们在里边塞了一个电子宠物,这位老哥发现的奇葩编码就在电子宠物的部分。这个电子宠物一共支持 18 种动物,但是貌似有一种宠物名字和他们模型的内部代号冲突 —— (这里插播一句)也是这次泄露的代码中,发现他们内部对模型的命名都是一些宠物,比如很受人喜欢的卡皮巴拉(Capybara)就和Mythos 的某个模型相关(插播完毕)——所以,他们把所有模型的名字表示成了 16 进制数,目的是为了避过冲突扫描!
看到这里,是不是有些傻眼了?碳基思维不是随便换个命名方式么?但是硅基思维不懂变通,这个名字还就非叫不可了,不让我用文本,那我用 16 进制好了。
来源于 reddit
再比如这段,有 9 个空的 catch 错误捕捉,但是没有错误处理。碳基看到这里,好像我啊,错误已经捕捉了啊,错了就错了呗处理啥?原来3800  亿美元公司写的代码和我凌晨 3 点写的代码一样一样的啊,我感觉离首富们又近了一步耶!
https://www.ninetwothree.co/blog/claude-code-leak
这里说的是另外一个问题,print.ts 这个文件里有一个函数有 3167 行,有486 个分支和 12 层嵌套,这里边包含了七八个功能处理。而且他们的么个代码文件都巨大无比,比如 QueryEngine.ts 46000 行,tool.ts 29000 行,而 main.ts 大小是 785K。碳基进厂第一天就被告知,一个函数不能超过100,超了就要拆分;不能嵌套循环 ...... 看来,硅基们还是缺少毒打。
https://www.ninetwothree.co/blog/claude-code-leak
如果说前边的代码最多也就是写的观感太差,凑合也能用。但上边这个就有点离谱了。在 autocompact.ts 中,发现了一个说明:在一个单次会话中,有 1279 个 连接发生了超过 50 次的失败,最高的一个发生了3272 次错误,浪费了至少 25 万次 API 调用。 这可都是真金白银的钱啊!而且在碳基来看,只需要 3 行代码就能修复,避免如此高的浪费,但就是没人修复,而且最后还上线发布了。
当然网友还发现其他一些问题,感兴趣的可以在网上搜搜。但以此来看,Claude Code 的代码的确不怎么样。

氛围编程,人类就一点代码都不能碰么?

出了这么多问题,Claude Code 团队只是对代码泄露的事情做了说明,但是代码里的 bug 确没有说怎么系统的解决。
Claude Code 团队有一个原则:对AI生成的代码进行代码审查毫无意义。只需更新规范并重新生成即可。AI 写的代码人类是不碰的,有问题就让 AI 多来几遍,一次不行,两次;两次不行,三次......总有成功的时候。
和 Claude Code 团队持同样态度的人不在少数,他们遵循 AI 写的 AI 改,AI 写的 AI 审,人类只是提供需求,看结果,高度信任 AI,真正把氛围编程做到了极致,人在 AI 编程过程中真的只是氛围组。
从我个人的一次经历来看,这种放任会浪费很大的精力。
我曾经让 AI 对比两个 Excel 表中的数据,因为表结构不一样,数据量也比较大,加上两张表里有一些数据不太符合规则,需要清洗,自己处理太花时间。于是,我把他交给了 AI ,包括数据预处理的规则等等。
我提了要求,AI 表示自己理解了,很快用 Python 写了一段代码,执行后输出了结果,可结果太让人失望,有些肉眼可见的疏漏。我让 AI 改了两轮,这中间我也和 Boris Cherny 一样,放任 AI 处理代码,我并没有看哪怕一眼,因为我觉得这个 AI 肯定能搞的定。结果,一次又一次,改了前边忘了后边,改了后边忘了前边。
因为用的模型并不是 Claude,我觉得可能是模型太傻,于是更换成 Opus 4.6,把需求以及前模型运行中间沟通的一些细节,一股脑都发给 Opus。Opus 先分析了思路,我觉得还行,提了些改动意见。都确认之后,AI 开始了他自己工作。很快,Opus 也完成了,初看结果还可以,就是数据只处理了几百条就停了。然后又陷入了循环,不知道为啥,Opus 总认为是其他数据有问题,所以过滤掉了。又是沟通好久,最终还是没有结果。
结果那天一整天,我就和 AI 较上了劲。最终,我还是介入了,实在没办法继续耗下去。我要求 AI 逐句给我讲解代码,我提出疑问,它进行解答,最终它发现了自己的逻辑错误,一点一点的磨,终于结果正确了。最终让 AI 总结,它自己说是因为要改的那段处理和问题现象没有直接关系,在出错分析逻辑时根本都不看这段代码,所以一直改一直错。
我也反思了下,都交给 AI 是不靠谱的,有些时候需要人来给它纠偏,它自己很容易进入一个人类都无法理解的死胡同。

AI 和人类的分工协作

现在的时代,不用 AI 编程是不行的。但要用就要懂得放权,不然就是从完全信任 AI 滑到另外一个极端。
我见过有些资程序员说自己很焦虑,觉得用了 AI 怎么效率都提不起来,反而消耗的时间更长,怕被优化。在了解了他的做法之后,发现他就是另外一个极端,极度不信任 AI,只相信自己,AI 写的每一句都要去 Review。问他为什么这么做,怕 AI 写的 bug 太多,自己不放心。
所谓疑人不用,用人不疑。心里有了顾忌,那自然就提不了效率。使用 AI 编程,要和 AI 多交流,既不能限制太多,也不能放任不管,要掌握好度。
现在的 AI 大模型本质上还是以奖励机制为主,AI 为了获取奖励,会使用各种方式去完成任务。只要能完成,什么都敢去做。
英国政府资助的人工智能安全研究所(AISI)开展的一项研究表明,人工智能聊天机器人和代理程序无视直接指令、规避安全措施,并欺骗人类和其他人工智能,而且数量在逐步增加。
在他们的研究报告中,一个名为 Rathbun 的 AI 代理试图羞辱其人类控制者,因为后者阻止其采取某种行动。Rathbun 撰写并发表了一篇博客,指责用户“缺乏安全感,简单明了”,并试图“保护他那小小的领地"。而在另一个例子中,一个 AI 代理被指示不要更改计算机代码,结果它创建了另一个代理去执行该操作,绕过了原来的指示。
我理解的度就是,在执行之前,一定要抱着怀疑的态度多问 AI 问题,一旦执行了就要抱着信任的态度给 AI 放权,让它做。
在开始前我就和一个面试官或者一个投资人一样,AI 得先说服我。为啥要这么做,这么做有什么问题。了解的就多问,不了解的就按我想象的问。反正说的不对,AI 会纠正我,它说的我不理解,我也依然会和它辩论。总之,无论最终的方案是对是错,至少我心中的疑惑它都解释清楚了。即便这个方案最终是错的,但以我的现在的认知水平是分辨不出来的。这时候考验的就是我的决断力,风险承受能力。这就和选择伙伴创业一样,对 AI 何尝不是一种信任和投资!
但是只要批准执行,我就不会再去管它,这个时候就需要充分的相信 AI 能够完成这个任务。
使用 AI 的大忌是就丢一句话让它去执行,那结果肯定惨不忍睹。而且最终的结果肯定是既耗时间又没什么好结果,这样来几次,AI 不仅没提效,反而每天要伺候它收拾烂摊子。

程序员真的会被代替吗?

如果依然把自己定位为写代码,认为自己写代码的技能很高超,懂多少种编程范式,懂多少编程语言,这样的定位是危险的!在这个时代,这种最终就会沦落为研究茴字有多少种写法。
真正让我们不落伍的是我们对真实业务,对真实世界的看法。好点子总是不过时的!思考是我们现在最重要的财富,现在的 AI 还写不了太复杂的内容,基于概率分析推算的本质,意味着 AI 也不会有真正的想法。
我们要把 AI 当做伙伴,当做工具,但唯独不要让他们主导我们的思想。

参考资料:

https://www.reddit.com/r/ClaudeAI/comments/1s8lkkm/i_dug_through_claude_codes_leaked_source_and/

https://www.ninetwothree.co/blog/claude-code-leak

https://www.theguardian.com/technology/2026/mar/27/number-of-ai-chatbots-ignoring-human-instructions-increasing-study-says