
Claude Code、Cursor、GitHub Copilot......这些工具早就不是新鲜事,它们已经悄无声息地嵌进了我们每天的工作流里。几乎所有的代码,都有 AI 的参与。
但正因为如此,我观察到一个现象,觉得比以前更值得聊一聊。
两种写代码的方式
现在用 AI 写代码,大致分成了两个阵营。
第一种叫 Vibe Coding。 这个词很传神------凭感觉写代码。你不需要看懂 AI 生成了什么,不关心代码质量,甚至不关心它是怎么实现的。能跑就行,结果对就行。
这有点像你不会做饭,但你有一个全自动炒菜机。你把食材丢进去,按下按钮,端出来一盘菜。至于它放了多少盐、用了什么火候,你不知道,也不在乎。
第二种叫 AI Coding。 AI 是你的助手,但你是主人。它帮你写代码,你来审查、理解、把控。每一行代码进入项目之前,你都清楚它在做什么。
这两种方式,面向的人群不一样。
Vibe Coding 对小白来说是好事。一个产品经理、一个设计师、一个完全不懂编程的人,现在可以用 AI 把自己的想法变成一个可以运行的原型。这是 AI 的赋能,是了不起的事情。
但问题出在另一边。
滑坡
我注意到,不少正在学编程的学生,还有刚入行不久的初级程序员,开始越来越多地 Vibe Coding 了。
这不难理解。AI 生成代码的速度太快了,快到你来不及审查,也懒得审查。你让 Claude Code 帮你实现一个功能,它唰唰唰写了 200 行代码,你跑了一下,测试通过了,结果是对的。于是你就提交了。
至于这 200 行代码里有没有潜在的内存泄漏?有没有没处理的边界情况?并发场景下会不会出问题?你没看,也没想。
短期来看,什么事都没有。长期来看,你在给自己埋雷。
更重要的是,你在退化。
一个程序员最核心的价值是什么?不是写代码的速度------这件事 AI 已经比你快了。你的价值在于理解系统、判断方案、把控质量。如果你把这些也交给 AI,那你还剩下什么?
批判性思维
这就引出了今天真正想说的话题:批判性思维。
批判性思维这个词听起来很学术,但它的意思很朴素------在接受一个东西之前,先想一想它对不对。
放在 AI 编程的场景里,就是这么几件事:
(1)AI 生成的代码,你能不能看懂?
(2)看懂之后,你觉得它的方案合理吗?
(3)有没有它没考虑到的情况?
(4)如果出了问题,你能不能定位和修复?
如果这四个问题你都回答不了,那这段代码就不该进入你的项目。不是因为 AI 不够好,而是因为你失去了对项目的掌控。
批判性思维不是让你怀疑一切,也不是让你跟 AI 对着干。它只是要求你做一件事:保持清醒。
工具越强,责任越大
历史上每一次工具的飞跃,都会带来同样的问题。
汽车让人跑得更快了,但车速越快,越需要清醒的驾驶者。搜索引擎让获取信息变得极其容易,但信息越多,越需要判断力来分辨真伪。
AI 编程工具也是一样。它让写代码变得前所未有的容易,但正因如此,判断代码好坏的能力变得前所未有的重要。
换句话说,AI 替你干了体力活,但脑力活不能也一起交出去。
我见过一些团队,引入 AI 工具之后,代码量暴增,开发速度飙升,但 bug 率也跟着上去了。原因很简单:大家都在 Vibe Coding,没有人在认真审查 AI 的产出。
一个建议
如果你正在学编程,或者刚入行不久,我的建议很简单:
用 AI,但不要被 AI 用。
具体来说:
- AI 生成的每一段代码,至少通读一遍。 不需要逐字逐句,但要理解它的思路。
- 对关键逻辑,自己判断方案是否合理。 AI 给的方案不一定是最优的,有时候甚至是错的。
- 保持"如果 AI 不在了,我还能不能维护这个项目"的自觉。 这是一个很好的检验标准。
- 把 AI 当作初级工程师,而不是技术权威。 它写的代码需要 code review,就像你 review 团队成员的代码一样。
Vibe Coding 留给周末的 side project 就好了。正式的工程,还是要用专业的态度对待。
最后
AI 工具的普及是不可逆的趋势,这没什么好争论的。真正值得讨论的是:在 AI 越来越强的时代,人应该扮演什么角色?
我的答案是:做那个保持清醒的人。
AI 可以帮你写代码、帮你做方案、帮你生成各种内容。但最终,按下发布按钮的是你,承担后果的也是你。
批判性思维不是什么高深的东西。它就是在说------对自己的产出负责,对自己的判断负责。
这在任何时代都重要。在 AI 时代,尤其重要。
(完)