Press "Enter" to skip to content

从效率到效能:为什么 AI 时代的“浪费”是必须的

作为一个写了二十年代码的人,第一次看 Claude Code 运行 “Ralph Loop” 时,我产生了一种生理性的不适。

如果你还没见过,画面大概是这样的:终端机里,光标像疯了一样闪烁。Agent 写了一段代码,运行 npm test,红色的报错信息刷屏。它停顿了一秒,读取错误,修改代码,再次运行。又红了。再改,再跑。

在这个过程中,Token 在燃烧,API 计费在跳动。这背后的逻辑——那个被戏称为 “Ralph” 的机制——简陋得令人发指。它本质上可能就是一个 Bash 脚本里的 while ! done 循环。没有精妙的算法,没有优雅的预判,就是最原始的暴力尝试。

我的工程师本能在尖叫:“停下!你在浪费资源!这太蠢了!”

在我们的职业信条里,好的代码是 DRY (Don’t Repeat Yourself),是追求 O(log n) 的效率,是“第一次就把事情做对”。看着一个 AI 像无头苍蝇一样在简单的 Bug 上反复撞墙,简直是对“工程美学”的亵渎。

但当我准备按下 Ctrl+C 强行接管时,我犹豫了。

因为在第四次重试时,测试通过了。绿色的 PASS 出现在屏幕上。那个困扰了我半小时、让我不想动脑的棘手依赖冲突,被这个“笨笨的”循环解决掉了。

这一刻,我突然意识到,我的焦虑可能是一种过时的产物。

效率是机器的指标,生存是生物的指标

我们在“资源匮乏”的年代被训练成了守财奴。内存是贵的,CPU 周期是慢的,所以我们不得不聪明。我们用高智商的算法去换取低能耗的执行。我们也是这样要求 AI 的:你要快,要准,要像个神射手一样一发入魂。

但 Ralph Loop 并不在乎“效率” (Efficiency),它在乎的是“效能” (Efficacy)。

它不仅是一个执行程序,更是一个生物性的探索过程。当 AI 在 Loop 中反复“失败-修正”时,它不是在浪费算力,它是在用时间换取智商

这正是目前 AI 业界最前沿的趋势——Inference-time Compute(推理时计算)。OpenAI 的 o1 也好,DeepSeek 的 R1 也好,它们之所以强大,不是因为它们“背”下了更多答案,而是因为它们学会了“磨蹭”。它们会在输出最终答案前,在后台进行海量的思维链推导(Chain of Thought)。

那些看似被浪费掉的 Token,其实是 AI 的“草稿纸”。

我们都是 Ralph

如果还是觉得心疼,不妨回想一下我们自己的成长史。

作为程序员,我们是如何学会指针、递归或者并发模型的?是一次性阅读文档然后完美掌握吗?

绝对不是。

是写了代码,崩溃(Segfault);改一点,死锁(Deadlock);再改一点,内存泄漏。我们盯着报错日志发呆,我们在 StackOverflow 上复制粘贴,我们在终端里反复敲击 make

如果把一个资深架构师的学习日志打印出来,你会发现那里面 99% 都是错误、重试和毫无意义的字符。那才是我们最真实的 Learning Loop

所谓的“经验”,本质上就是被浪费掉的那 99% 的时间和犯过的错留下的残渣。

人类是自然界最浪费的“计算机”。大自然为了产生一个有效的抗体,会制造数以亿计的失败变异。相比之下,Ralph Loop 在几十次尝试内解决一个 Bug,简直高效得惊人。

允许愚蠢,才能涌现智能

我们正在经历一个范式转移。

在旧时代,我们优化的是代码的执行效率。

在新时代,我们优化的是问题的解决概率。

当 Token 的成本正以摩尔定律的速度下降时,算力变成了像水和电一样廉价的“耗材”。而真正昂贵且不可再生的资源,是你的注意力,是你的挫败感,是你为了修一个 Bug 而错过的晚餐。

Ralph Loop 确实很笨,它像极了那个刚刚入行、不知疲倦但一根筋的实习生。但它不需要睡觉,不会因为报错而情绪崩溃,最重要的是——它真的很便宜。

所以,下一次当你看到终端里的 AI 陷入循环,一遍遍笨拙地报错重试时,别急着打断它。别去计算那几分钱的 Token 浪费。

哪怕 99% 的 Loop 都是徒劳的,只要那 1% 的灵光一现发生,进步就成了永恒。

给自己倒杯咖啡吧。让它去犯错,让它去浪费。这正是智能诞生的声音。