Logo
Published on

AI 为什么不擅长“做减法”?

Authors
  • avatar
    Name
    浩森 Hansen
    Twitter

最近发现了一个 AI 有趣的特性,就是喜欢乱叠 buff。

AI 喜欢做加法

这两天在写一个网页项目,需要处理一些页面上关于用户点击事件的响应。因为 React 框架的问题,有些地方总是重复渲染,导致网页上出现频闪。

因为涉及到的代码比较多,我就向 Claude 求助:把问题简要描述给了 AI 然后就让它帮助我修改。

Claude 给我的方案倒是挺简单:“你可以在点击事件处理函数里,加一个检查器,如果发现不必要的重复渲染,就阻止这个流程。”,然后就新增了 10 行代码。

问题倒是解决了,但是这样的修改无疑增加了复杂性,而且没有在根源上解决问题。

我和 Claude 进行了几轮对话之后,尝试让它找到问题的根源,Claude 只是在两三个方案之间来回修改,都是加更多的检查器,总是找不到最终的问题在哪。

无奈,我只好自己阅读代码,然后找到问题之后,将事件处理部分重新设计了一下,将方案提交给 Claude 然后才解决问题。

这让我思考,为啥 AI 都喜欢做加法呢?

“做减法”是需要勇气的

了解过强化学习的基本原理之后,明白强化学习利用探索得到的样本来优化行为,在 Agent 场景里,就是对训练数据的一步步渐进寻优过程。

那么可以推理得出,Claude 被设计成为一个能够解决代码问题的编程 Agent,其衡量标准为能够跑通代码,没有错误。

至于代码是否简洁,是否从根源上解决问题,似乎不在其设计标准之内。

毕竟随意删除代码,是会破坏项目结构的。相反,新增代码则更为安全、简单。

我遇到过多次这样的问题,也问过我一些程序员朋友,他们也都有同样的困扰:未经过思考就使用 AI,就是堆屎山代码,项目越发难以维护。

事实证明,加法解决问题,而减法需要勇气。

我在当我用 AI 工作时,我究竟在做什么?这篇文章里面提到关于 AI 受限于数学的问题。

从这个角度来思考,做减法,其实还是超越了数学的范畴。

  • 当前的 BUG 根源在哪里?
  • 这个项目应该怎样设计?
  • 如何代码实现,才能最符合项目的需求?

这些问题当下的 AI 似乎还不能完全解答,因为将其描述为数学问题,还是有不小的难度。

不过在不久的将来,这些问题或许也可以被数学解决。

就如在 20 年前的计算机科学中,人类的语言还是一个无法被数学解决的问题。但是现在,我们已经能和 AI 流畅对话。


浩森,于 2026 正月初九