Echo's blog
Echo's blog
· 1 min read · 资讯

我拒绝AI写的代码,尽管它能跑

程序员 Vinicius Brasil 在一篇个人博客里写下了一句听起来有点叛逆的话:我拒绝了 AI 写的代码,尽管它跑起来了,而且跑得挺好。

这不是对技术的反感,而是一种对”理解”的执念。

跑起来从来不是终点#

用 AI 写代码这件事,在过去一年里已经从”试试看”变成了”默认操作”。写一个函数、修一个 bug、重构一段逻辑,你打开编辑器直接问 Copilot 或者 Claude,几秒钟就能拿到一段能跑的代码。

问题就出在”能跑”这两个字上。

Vinicius 说得直接:AI 可以很快地生成大量的代码,但真正的瓶颈已经从”怎么写”变成了”怎么审”。你不是在审查别人的代码——你甚至在审查你自己让 AI 写的代码。而这就是问题的核心:你并没有自己思考过这段代码。

五种拒绝的理由#

他列出了五个拒绝 AI 代码的场景,每一条都戳在一个点上:

当我说不清这个方案的逻辑时,我拒绝。AI 给出一个答案,我能让它跑起来,但如果让我用自己的话解释每一步为什么这么做,我卡住了。

当改动量超过问题本身的大小时,我拒绝。AI 喜欢把简单问题复杂化,它在拿到一个具体需求时,会顺手引入抽象层、封装、接口——这些在某些场景下是好东西,但在另一些场景下只是噪音。

当它提前引入抽象时,我拒绝。你只是需要一个函数,AI 给你一个类。你只是需要修一个条件判断,AI 给你写了一个策略模式。抽象本身不是错,错在它来得太早。

当它让系统变得难以理解时,我拒绝。局部最优的代码可以被全局来看反而增加了理解成本。一段代码就算通过了所有测试、跑得飞快,如果它让你的同事——或者两周后的你自己——看不懂,它会变成一个不断累积的负担。

当我信任输出超过信任自己的理解时,我拒绝。这可能是最重要的一条。当一个人开始习惯性地接受 AI 的输出而不去质疑,能力本身就在悄悄退步。

编代码和写代码不是一回事#

Vinicius 区分了两个层次:编代码——让机器运行;写代码——让人类理解。

AI 在”编代码”这件事情上已经非常出色。但在”写代码”这件事上,它还不具备人类工程师的那种判断力。什么情况下值得引入复杂度,什么情况下应该保持简单,什么情况下一个”丑陋但直白”的解法比一个”优雅但间接”的解法更好——这些不是技术问题,是经验、品味、和对上下文的感知。

真正的工程师不会被替代#

文章最让人安心的一句:AI 代理仍然需要一个优秀的工程师引导它们找到优秀的方案。AI 可以帮你把事情的进度条推快,但它还没有能力独立地、可持续地做出好的工程决策。

不是它不够强,而是”好的工程决策”这件事本身,包含了太多无法被编码的东西——对团队的了解、对业务的理解、对未来的预判,还有你写了十年代码之后形成的直觉。

这些,AI 还没学会。而你每天都在练习。

来源:Hacker News

Related Posts

Comments

Copied
Copied to clipboard