3 bugs -> 16 bugs -> 50 bugs -> full。任何阶段没有信号就停。
Software Engineering Empirical Research Radar
LLM 修复成本预算
先算 token 和测试成本,再决定 pilot 尺度。
LLM repair 的钱主要花在两处:模型 token 和反复测试的机器时间。价格变化很快,正式跑之前必须重新查官方价格页;这里给的是预算方法和量级直觉。
Token 成本公式
cost_per_call =
input_tokens / 1_000_000 * input_price_per_1m
+ output_tokens / 1_000_000 * output_price_per_1m
total_cost =
bugs * arms * rounds * candidates_per_round * cost_per_call
量级例子
| 场景 | 假设 | 直觉成本 |
|---|---|---|
| 3-bug smoke | 3 bugs * 3 arms * 5 rounds,每轮 40k input + 4k output。 | 便宜模型通常几毛到几美元;主要成本是调脚本。 |
| Csv-1..16 pilot | 16 bugs * 3 arms * 5 rounds。 | 可控,适合第一次真实信号判断。 |
| 50-bug pilot | 50 bugs * 3 arms * 5 rounds。 | 如果用强模型,可能进入几十到几百美元量级。 |
| 854 active full run | 854 bugs * 3 arms * 5 rounds。 | 强模型可能上千美元量级;必须先做 pilot、缓存和失败截断。 |
按公开价格快速估算
40k input + 4k output 的一次调用
如果模型价格是每 1M input tokens 1.25 美元、每 1M output tokens 10 美元,则一次调用约为 0.04*1.25 + 0.004*10 = 0.09 美元。854 bugs * 3 arms * 5 rounds 约 12810 次调用,模型费约 1153 美元。更便宜的小模型可能低一个数量级,但 correct patch 率也可能下降。
正式预算请重新查官方价格页:OpenAI API pricing。如果用 DeepSeek、Claude、Gemini 或本地模型,也按同一公式填表。
降低成本的办法
不要让某个 arm 因为塞更多文件而更贵也更强。所有 arm 用同一 token budget。
编译失败、patch 无法 apply、重复 patch、明显测试删除都应早停并记 receipt。
代码上下文、Ochiai top-k、diagnostic card、triggering tests 都可缓存;不要每轮重算。
先 triggering tests,再 full tests。full tests 很贵,只有候选补丁值得时才跑。
可以探索小模型生成候选、强模型复审,但这会引入新变量,主实验要谨慎。