直男炮轰氛围感编程

B站影视 日本电影 2025-04-01 19:34 1

摘要:可能有人不知道,Andrej Karpathy最近分享了他对"氛围编码"的看法,其实就是把理解代码的活儿全交给AI,然后听天由命。他原话是这么说的:"我现在总是直接'全盘接受',连代码差异都不看了。"

上上周二半夜1点,我正忙着修一个很重要的AI工具故障。当我一层层检查代码时,突然发现:和现在年轻程序员不一样,我特别庆幸自己能真正搞懂自己写的代码。

那一刻,我开始认真琢磨Karpathy最近说的“氛围编码”那番话。

可能有人不知道,Andrej Karpathy最近分享了他对"氛围编码"的看法,其实就是把理解代码的活儿全交给AI,然后听天由命。他原话是这么说的:"我现在总是直接'全盘接受',连代码差异都不看了。"

我从Karpathy那儿学了不少东西,也天天用AI工具,但用它帮你干活和完全不懂自己的代码,那又是一码事儿了。

“氛围编码”的隐藏代价
上个月,我的支付系统出了个特别烦人的毛病。代码看着挺干净——(因为是ChatGPT帮我写的)。可用户开始说他们的付款老是莫名其妙认不出来,我总不能把问题丢给AI然后祈祷吧。我得弄明白底层的支付逻辑和具体的请求流程,才能fix解决它。

这就是氛围编码(玄学编程)不行的地方。真正的问题不只是读代码——是要保住我们系统的知识产权。当Karpathy说"这些代码超出我的理解范围,得花时间慢慢看"时,他说的其实是工程师责任的彻底缺失。

技术债务爆炸你要是搞不懂代码,技术债务就会翻倍增长。每个“氛围”解决办法都会变成一个黑盒子,这些黑盒子越堆越多。没多久,你就得在自己都不明白的东西上接着干活。

banq认为:氛围感编码已经让 技术债务 词语失效,只要AI能理解你的代码,你有何技术债务?机器人能帮你干活,你还不放心?代码可维护性的游戏已结束,作者认为在不明白的东西上接着干活,这里不明白是不明白黑盒子里的机制,但是肯定明白这个黑盒外部的功能目的,你为什么安装使用这个黑盒,你肯定知道它的用处,只要知道它的用处即可,这也是测试所在,测试人员不知道你代码的内容,但是可以测试它的功能,这是Content与Context区别所在。

我最近做的一个功能,最开始就是这么来的。AI给的方案能用,但等我想优化性能时,我卡住了。我没法优化我搞不懂的东西。最后我从头重写了一遍,这次我确保自己明白每一行。

安全噩梦
“氛围编码”的安全问题……太吓人了。你要是不懂自己的代码,就没法好好检查它的漏洞。

上周,我检查了一段AI写的认证代码,乍一看完全没毛病。但仔细一瞧,发现OpenAI的API密钥暴露了,任何会查网络请求的人都能看到。我们要是光信AI却不懂安全常识,就会出这种纰漏。

更好的办法真正的危险不是用AI,而是把理解的责任全丢给AI。氛围编码周末玩玩项目还行,但对正经软件来说就是灾难。

我在写能加速开发的AI代码时,搞了一套完整的方法,来平衡AI帮忙和工程质量:

使用 AI 工具时,首先要有一个清晰的架构愿景。在生成任何代码之前,记录您的需求、约束和预期行为。这将成为任何 AI 生成的代码的验证框架。不要接受 AI 的整个功能或组件,而是将它们分解成更小、更易理解的部分。我开发了一个三步流程:生成小而有针对性的功能彻底审查并理解每一个部分仅在验证和测试后才集成确保AI 对你的项目有完整的了解。它应该包括:
该项目存在的原因业务逻辑,解释“为什么”而不仅仅是“如何”项目的各个子部分如何相互作用重要的第三方依赖项在哪里以及如何使用数据模式和模型的解释制定一个迫使你理解代码的测试策略:
在接受 AI 生成的代码之前编写测试明确测试边缘情况实施集成测试来验证系统行为,或者至少手动执行

即使作为一名独立开发人员,我也会对 AI 生成的代码保持严格的代码审查流程

检查所有生成的代码,就像它来自初级开发人员一样验证安全影响确保正确的错误处理


总之:
掌握好审查,把AI看成结对编程的另外一个合作伙伴和帮手。

网友:
1、谨小慎微的人无法理解Karpathy的氛围感,如同理工直男无法理解言外之意的context一样。2、对于 安全 一词的理解反映不同人的对可控制性的掌握程度,焦虑者更担心可控性丧失,对安全更加看重3、Vibe 编码听起来像是硅谷的胡说八道,目的是让一个特别愚蠢的想法看起来很酷。4、Vibe编码让你注意力集中在如何提问题上,对问题领域深入思考,不是对女人直接说:我要泡你,而是要给女人制造一个氛围陷阱,比如播放一个她喜欢的音乐,与她应音乐节奏而舞,一步一步深入。直男思维是无法理解氛围感的。

来源:解道Jdon

相关推荐