你让 AI 写代码,你的提示词可能正在悄悄让它多花 18 倍的钱——这件事被一篇论文彻底扒开了

你让 AI 写代码,你的提示词可能正在悄悄让它多花 18 倍的钱——这件事今天被一篇论文彻底扒开了

Claude Code 写代码这件事,大多数人关心的是「模型强不强」「上下文够不够」,但有一件事很少有人认真算过:你的提示词,正在决定 AI 多跑多少冤枉路。

最近有一篇论文专门研究这件事,标题叫《Same Task, Different Work: Prompt-Induced Waste in Coding Agents》,作者做了 4644 次对照实验,覆盖 24 个真实编程任务、7 个推理模型、2 个主流 agent 框架。结果发现:同一个任务,不同的提示词写法,可以让 AI 的实际消耗相差 18 倍——而成功率完全一样。

问题出在哪?两种浪费,两种机制

论文把提示词造成的浪费分成两类,它们走的是完全不同的路子。

第一类叫「思考太多」。当你让 AI「写几个方案对比一下」「多考虑几种可能性」,它真的会去生成 3 到 4 个完整方案,然后全部跑一遍再选一个。整个过程中间产生了大量 token 消耗,但没有提升任何成功率。数据显示,这类写法比最优路径多消耗 2.4 到 7.4 倍的推理资源。

第二类叫「反复验证」。当你写「确保万无一失」「一定要验证清楚」「给我最准确的答案」,AI 会进入一种高强度自我审查模式。结果是:同一个任务,最高消耗的跑法比中位消耗跑法多花 18 倍;工具调用次数多 2.5 倍;实际耗时多 3 倍。而最后的成功率,和干净利落跑完的没有任何区别。

两类浪费的区别在于:第一类的账单主要体现在 token 数量上,第二类的账单体现在工具调用次数和等待时间上。优化思路完全不同。

框架本身也在放大浪费

这篇论文还测了两个真实框架:PI.DEV 和 Claude Code。结果发现,即使 Prompt 写得一样,框架不同也会造成 5 到 30 倍的效率差异。

原因在于框架的静态前缀大小不同、默认行为不同。Claude Code 的静态前缀比 PI.DEV 大 12 到 15 倍,默认的验证频率和重试策略也不同。所以同样是「写一个排序函数」,在两个框架下消耗可能差出一个数量级。

这意味着什么?优化 Prompt 很重要,但选框架同样重要。如果你发现 Claude Code 比别家工具 token 消耗大很多,先别急着压缩 Prompt,先看看框架本身的默认行为是不是那个更大的浪费来源。

怎么写才不浪费

论文给出了一个核心原则:bounded efficiency——有边界的效率。意思是好的 Prompt 不是越详细越好,而是恰好定义了任务范围、最小改动目标和停止条件。

具体来说,三句话可以解决大部分问题:

第一句定义范围:「这个函数只需要处理整数数组,不要改变函数签名,不要增加额外依赖。」——这句话把 AI 探索的空间锁死,省掉大量无用功。

第二句指定最小改动:「只改一行,让这个边界情况通过测试,其他地方不动。」——减少 AI 的「发挥空间」,让它直奔主题。

第三句给出停止条件:「如果测试全部通过就停止,不需要额外优化。」——防止 AI 在已经完成之后继续「锦上添花」。

加上这三句的 Prompt,保留了完整的诊断和验证能力,但避免了论文中测到的所有主要浪费机制。

你的团队可能每天都在多花这些钱

回到开头那 18 倍的差距。大多数团队没有意识到这个问题,是因为他们的计费账单不会把「成功执行一次任务」作为分母——他们只看到总 token 消耗,然后抱怨模型太贵。

但这篇论文的核心洞察是:token 数量和缓存计数只是测量指标,不是优化目标。真正的效率是「每成功完成一个任务花多少钱」,而这个数字里有大量浪费来自 Prompt 措辞和框架选择,而不是模型本身。

下一次当你发现 AI 跑一个简单任务花了几万 token,先问自己两个问题:Prompt 里是不是让它「多想了几步」?框架的默认行为是不是在自动帮你做额外的验证?这两个问题的答案,可能比换模型更值得优化。

下一步你可以做的:打开你最近十个 Claude Code 会话,随机抽一个,把 Prompt 里的「多考虑」「多验证」「多方案」这类措辞删掉,看一看任务完成率和 token 消耗的变化。如果有明显的成本差异,这就是你们团队的真实浪费数字。

评论区

0 条评论

登录后可评论。

Prompt 工程 10 阅读