Code Mode 让系统成本降低 99.2%
Code mode yields a 99.2% cost reduction in our systems

我们实测了 Cloudflare 提出的 Code Mode 模式,发现将 26 次工具调用压缩为一次脚本执行,能让成本从 2.44 美元骤降至 0.02 美元。通过让脚本在沙箱中处理原始数据,仅将最终摘要送入模型上下文,我们成功避免了海量 JSON 数据占用 LLM 的上下文窗口。这一策略不仅减少了约 99.2% 的 Token 消耗,还将执行时间从数分钟缩短至 13 秒。这正是 Anthropic 和 Cloudflare 所倡导的最佳实践:别让原始数据直接经过模型,而是用代码做预处理。
给智能体一个沙箱和生成的 API,而不是原始工具调用,原本需要 15 万 Token 的任务现在只需 2000 个,因为原始数据根本不需要经过模型的上下文。
HN 评论区
67- shireboy
我每天和 LLM 打交道,总结出一条经验:“确定性的东西用代码写,非确定性的交给 LLM”。我倒是希望现有的框架(harnesses)在这方面能更给力些。比如,我看到过太多人用 Claude/Copilot 等工具写定时任务,其实这些完全可以用脚本搞定。之所以没写成脚本,是因为作者不懂怎么写脚本,只要 LLM 能按他们的意思跑通就停下来了。其实不难让 LLM 生成一个脚本,把该提示词需要的所有工具调用都封装进去,然后把结果传回给 LLM 去处理那个非确定性的部分。
- somnium_sn
我仍然有点惊讶,这种方式竟然没有更广泛地被采用。普通的推理加工具调用,本质上是通过序列化的自然语言进行组合;而 Code Mode 或程序化工具调用,则是使用专用语言(也就是编程语言)来进行组合和并发处理。在我看来,后者在 token 效率和延迟方面明显要高得多,这似乎显而易见。
- fg137
这篇文章读起来太痛苦了。
- peterbell_nyc
没错,这正是我对“处处都是模型”这种范式最大的质疑。如果只是用 Fable 和几个子代理快速拼凑一个交互式原型,我肯定会用 Supervisor 模式和 Advisor 模式,配合更简单的模型。但只要是重复性的任务,我都会构建一个确定性的编排器来执行步骤,并且有一条硬性规定:从我的仓库中运行的技能只能是调用中央系统的薄封装(thin shims)。这样,代理就不会去丰富用户数据、调用 API 或做研究,而是触发预定义的多步确定性流程,其中可能只包含用于分类、生成、摘要或审核的模型。
除了可靠性和成本优势,你还能获得共享容量代理能力。也就是说,如果你只能处理有限数量的用户数据增强,或者只能运行有限次数的 CI,只要这些操作都是确定性的,你就可以在主服务器上进行智能编排,管理所有同时尝试使用这些资源的代理所共享的有限容量。
- jonathanlydall
我们最终在自己的产品中采用了这种方法,并取得了巨大成功。我们有点偶然地发现了它的成功。
我们有一位视觉设计师,为了让 LLM 与之交互,我们最初为每种操作类型(例如添加、编辑、删除各种类型的项)都构建了一个工具。
实际上,我们产品内部早已有一个用于脚本编写的 JavaScript API 以及对应的 .d.ts 文件。其中一位客户要求我们也将其暴露为 MCP 工具。我想这应该很快就能搞定,于是在 Claude Code 的帮助下,我花了一个下午就完成了。
随后我们发现,LLM 更倾向于使用这个工具,它能用更少的错误和更短的时间完成任务。
看到这一点并做了更多验证(我也读了那篇 Cloudflare 的文章)后,我们彻底弃用了其他工具,并为 LLM 制作了一份如何使用我们 API 的速查表。
由于我们的 API 返回的错误信息很详细,甚至包含堆栈跟踪,即使脚本失败,LLM 也能毫不费力地生成新脚本来修复错误,并从出错的地方继续执行。
回想起来,这其实毫不奇怪,因为 LLM 本身就在努力成为最好的程序员,而鉴于 JS 如此流行,我猜它在这方面尤其擅长。