“氛围编程”:别把你的大脑外包给 AI

“氛围编程” 的定义

你还记得最开始使用 AI 协助编程的样子吗?

将本应输入搜索引擎的错误信息,直接粘贴到 AI 对话框让其提供解决方案,从而省去自己寻找和筛选答案的步骤。

又或者像使用 Copilot 那样,在 IDE 中只输入寥寥数个字符,便让 AI 补全剩下的代码。

现在编码助手早就更进一步了,直接在输入框输入你的需求,Agent 会自动创建文件、写入代码、编译测试,直到你满意为止。

而你,不需要写入一行代码,甚至不需要去看 AI 生成的代码。

这就是 “氛围编程” 。

优秀的工程师需要理解自己的代码

“氛围编程” 的优点是你不需要“写”代码,但坏处也是你不需要“写”代码。

  1. 不“写”代码,就无法真正理解代码。
  2. 不理解的代码会导致不可预测的行为。
  3. 不可预测的行为就会导致Bug或者漏洞。

当你点击 “接受全部” 的时候,就无异于玩一场代码的俄罗斯轮盘赌。

上一个相信人工智能的人已经付出了惨痛的代价。

虚假的生产力和技术债

每一个正在运行的项目在新人看来都是一座“屎山”,区别在于之前是人工去拉,现在则是 AI 去拉,关键在于 AI 拉的又快又多。

“氛围编程”在初期看起来效率惊人,以往需要数天才能完成的功能,现在几小时就能实现。然而,由于开发者对代码缺乏理解,一旦出现问题便难以修复,只能再次求助于 AI,从而陷入恶性循环,最终导致这份代码几乎没有“人”能维护。

AI 应该是辅助,而不是替代

实际上,我本人也是 AI 的重度用户,并尝试过用“氛围编程”模式开发了两个项目。

说实话,我对于这些项目没有信心,比我用 Python 开发项目还要虚的多。

虽然我是项目的创建者,但是你问我输入 xx 应该会输出什么?我不知道。内部的计算逻辑?我不知道。

经过这段时间的“氛围编程”实践,我发现一种更好的协作方式:自己规划好项目框架与核心逻辑,然后将增删改查(CRUD)这类模式化的部分交给 AI 实现。这样,项目才不至于偏离预期太远。


总结一下

可以偷懒让 AI 去干苦力活,但是不要外包自己的思维,让 AI 替你去思考。