作者解读 Cloudflare 工程师分享的 AI 代码审查优化:单次成本从 $2.43 降到 $0.77,审查耗时中位数从 4m9s 缩短到 1m32s,代码质量类真实发现基本没少,约 4 成降幅来自工程改动、约 6 成来自换模型和调整推理强度。
AI 代码审查成本降 68%:Cloudflare 从提示词缓存到模型选型的逐项优化
作者 @_ryanskidmore 分享:@Cloudflare 内部 AI 代码审查的单次成本从 $2.43 降到 $0.77,审查耗时中位数也从 4m9s 缩短到 1m32s,代码质量类发现的真实问题数量基本没少。省下的钱约 4 成来自工程改动,约 6 成来自换模型和调整推理强度。
https://blog.cloudflare.com/obsessive-inference-optimization
成本为什么翻倍?
· 3 月到 8 月,单次审查成本从 $1.22 涨到 $2.32,架构上没有大改。
· 一小部分原因是大改动变多:完整审查档的占比从 59% 升到 65%。
· 主因是换模型:8 月起所有审查角色都换成 Claude 模型,单次成本从 $1.38 涨到 $2.03。内部规范审查角色 Codex 改用 Opus 4.7 后,每次从约 $0.25 涨到 $0.88。
· 缓存命中率从 85.7% 升到 97%,但每次审查的 token 量从 0.91M 涨到 2.99M,翻了三倍多,总账还是变贵了。
· 优化前的费用构成:缓存写入占 43%,缓存读取占 34%,输出只占 23%。钱主要花在模型已经看过或即将重复看到的上下文上。
工程优化($1.67 降幅里贡献 $0.65)
1. 跨仓库共享缓存前缀,单项收益最大。 每个会话开头有 11k–21k token 的工具定义和系统提示词,所有仓库都一样,但会话首个请求的缓存命中率只有 14%–26%。原因是 OpenCode v1 把共享提示词和工作目录、日期等环境信息拼成一个块,只在块的末尾放了一个缓存断点,共享部分从来没有单独缓存过。修复方法是在共享部分末尾加标记、把块一分为二,并去掉断点前面所有和仓库相关的内容。同一天,他们还把规范审查用的参考索引直接写进提示词,它的 LLM 调用次数从 15.9 降到 9.6。这两项合计让单次成本从 $2.47 降到 $2.02。
2. 一批零碎改动,合计每次省约 $0.20:
· 去掉子审查角色用不了的工具。57%–76% 的会话都曾误调这个工具。
· 并行读文件。原先 64% 的轮次只调用一次工具。
· 复审时跳过没有新内容可看的审查角色。约 2/3 的任务是复审。
· 审查结果发出后直接结束,不再多跑一轮写一份没人看的总结。
· 把超时和服务商故障分开处理。
· 修复 GitLab 任务取消后仍继续运行的问题。抽样的 446 个已取消任务里,有 358 个一直跑完了审查。
3. 三个审查角色共享同一个前缀。 代码质量、安全、性能三个角色的首个请求完全相同,由一个写缓存,另外两个最多等待 20 秒再读,每个角色每次省约 9 美分。
模型与 effort 调整(贡献 $1.06)
· 协调角色改用 Opus 5.5、medium effort,审查结论与 Opus 5 相比没有可测出的变化。high effort 更贵,发现的问题却没有明显增加。
· Sonnet 5 和 Sonnet 5.5 每 token 价格相同,但 5.5 用的 token 少得多,单次成本低 47%–62%。代码质量角色在 medium effort 下每次只调用 1.7 次 LLM,原来是 6.2 次。
· 单价下降只贡献了约 $0.20,其余都来自 token 用量减少:缓存读取降 82%,缓存写入降 54%,输出降 67%。
· 代码质量角色改用 high effort:成本高 61%(每次约多 2 美分),严重和警告级发现多 58%。
审查质量:用两种方法验证
· 表面上看严重发现明显减少:代码质量 -40%,安全 -56%,性能 -71%。
· 作者是否据此修改了代码: 代码质量的严重发现被采纳的比例从 34% 升到 59%(偶然改动同一行的基线约 15%)。每千次审查中促成修改的发现数是 132 对比之前的 145,在误差范围内。四个角色合计从 229 升到 321。
· 盲评: 由两家不同服务商的模型评判 657 条发现,意见不一时交给第三个模型。“重要”发现从每次 0.28 条变为 0.30 条,置信区间重叠。被高估严重度的发现从每次 0.46 条降到 0.14 条,降了 70%,这是全文最明确的结果。
· 结论因角色而异: 代码质量用 high effort,主要去掉的是噪音和虚高的严重度。medium effort 下确实漏掉了真问题。性能角色的重要发现少了约 64%,安全角色降了约四分之一,但不显著,这两个下一步要测 high effort。
· 可靠性也有提升:审查没给出结论的比例从 0.79% 降到 0.27%,安全角色重试率从 3.5% 降到 0.04%。
When our AI code reviewer's cost per run doubled, we dug into the token usage to find out why. Learn how we used prompt caching and intelligent model routing to slash our inference bill by 68% while speeding up reviews. https://cfl.re/4isj2NU在 X 查看被引用的帖子
来源:meng shao · x.com