TokenCast按段组合预测消耗,96组对照MAE平均再降14.5%

TokenCast: Forecasting Token Consumption During LLM Agent Execution

Chaoqian Ouyang, Ling Yue, Libin Zheng, Huanghui Guo, Shengxiang Xu, YiShu Wang, Ran Li, Jian Yin, Shaowu Pan, Shimin Di

cs.LG, cs.AI, cs.SE

2026-09-29

按段学可组合代价并滚动更新总消耗,96组对照相对最强基线MAE平均降14.5%,预算回放同等完成率少花21.3%。

这篇在解决什么

同一道软件工程题,Agent 跑两遍,token 账单可以差一个数量级,文献里最高报到 30 倍。下一步跟着工具回馈走,路径长短事先不知道。前面留下的对话和工具输出会塞进后续每一次请求,上下文每长一截,后面每一跳的输入费都涨一截。总消耗绑在未来调用次数和每跳重读的历史上,两头都不确定。

单次回复长度预测已有 TRAIL、EGTP、TIE,够调度和显存预留用。任务级 Self-Prediction 让 Agent 先检查环境再自己报消耗,等于额外打一轮贵模型。DSPy、SGLang 需要执行前就有的程序结构,开放式 Agent 没有。开放式 Agent 跑起来之后,还没有人只用已发生的证据改剩余估计,并且不再调 LLM。

方法

一段连续调用表示成三元组 (n, g, b):调用次数、输入长度净变化、总消耗减去「起始输入长度 × 次数」的残差。b 装着生成开销和段内上下文增长;只计费、不写回对话的推理 token 进 b、不进 g。

后一段每一跳都要再读前一段多出来的上下文,组合残差因此多出 nB × gA。这是从定义推出的恒等式。轨迹怎么切段,拼回去都能还原总消耗。

任务级同时走直接回归和前缀-后缀组合,再用校正模型收口。组合路先预测前缀三元组和结束边界,把预测的输入基线交给后缀,按恒等式加总。校正模型吃两条路的点估计、差值和边界变量。后缀在交叉拟合的前缀边界上训练,避免用当时还不知道的真边界。g 和 n 的误差会沿恒等式放大,损失分别乘上 nB 和 LB。

四个预测点只用当时能看见的信息。任务开始是题面和种子仓库;Call Start 请求已拼好,本轮输入长度已知;生成中每 128 字节打点,前缀和流式耗时进模型;一轮结束后用已确认消耗和工具结果刷新剩余量。基预测器是 LightGBM,90% 区间另训分位数并在留出集上加宽端点。全程不额外调用 LLM。

结果

4 套任务、6 个 Agent 模型、240 道题、11,712 条轨迹:SWE-bench Verified、Search-R1、MMLU-Pro、LongBench-v2。96 组「基准 × 模型 × 预测点」里,相对该组最强对照,MAE 平均降 14.5%。按点拆开:任务开始 -2.2%,Call Start 1.9%,生成中 30.4%,任务更新 27.8%。输的 24 组全在前两个点,后两个点零失败。

GPT-5.4 在 SWE-bench Verified 上:

预测点TokenCast最强对照对照方法
任务开始144.0k152.0kSelf-Prediction
Call Start64.569.5TIE
生成中更新38.974.6EGTP
任务更新80.0k115.0kTRAIL

生成中相对 EGTP 降 47.9%(从 74.6 到 38.9),任务更新相对 TRAIL 降 30.4%(从 115k 到 80k)。任务开始只比 Self-Prediction 好 5.3%。换 Claude Opus 4.6,同一点是 150.7k 对 138.9k;DeepSeek-V4-Pro 是 212.9k 对 194.5k。开跑前让模型自己估往往更准。

GPT-5.4 任务开始的 WAPE,LongBench-v2 是 4.2%(均值 771.2k),MMLU-Pro 是 15.8%(均值 50.6k)。短任务相对误差更大。锚定任务 90% 区间的平均区间分数相对 Self-Prediction 降 32.0%,任务开始覆盖率 82.0% 对 52.7%,名义水平 90%。

预算是离线回放:144 道 SWE-bench 题、288 条 GPT-5.4 轨迹、7 档额度,同等轨迹完成率下平均少花 21.3% token。「完成」指跑到原轨迹终止状态,不看补丁过不过测试。每轮刷新累计 19.7 次、32.8 ms,中位墙钟 129 s。

段三元组换成总 token、输入、输出长度后,任务级归一化 MAE 从 0.71 升到 0.88。去掉组合,总均值从 0.69 升到 0.78。六个基预测器里 LightGBM 最低。迁到 LiveClawBench 零样本,Call Start / 任务更新是 Self-Prediction 的 1.31 倍和 1.47 倍,加 20 道目标域题才到 0.82 和 0.85。换模型零样本 Call Start 是历史中位数的 1.02 倍。

为什么重要

给 Agent 设预算、做队列、给用户报费用时,这是一层不额外打 LLM 的消耗预测,前提是有同分布轨迹。拉开差距的位置在执行起来之后:生成中和任务更新 MAE 降三成左右,开跑前 Self-Prediction 有时更准。

21.3% 说明跟手的剩余估计可以比固定额度更早停,且轨迹完成率相同。实验只是回放,不会改 Agent 计划。把预测接到会主动管执行的运行时,作者明确留作后续。这篇对准的是整段轨迹里历史被反复按输入计费。GPT-5.4 在 SWE-bench 上输入占 99%,设定对口。

局限与存疑

作者承认:预测器从录好的轨迹学,换域或换模型要少量目标数据;预测还没接到会改策略的运行时。

21.3% 不能当线上省钱读。回放只卡轨迹有没有跑完,成功率和补丁质量都没测,早停会不会切掉能修好的路径也没验证。任务开始平均略差于最强对照,区间覆盖 82% 不到 90%。API 模型上 TRAIL 和 EGTP 用 Llama-3.2-3B 代理内部状态,对照不对称。

30 倍同任务方差引自 Bai et al. 2026,本篇 Figure 6 只展示 48 个锚定任务的宽分布,没有自己的 30× 统计。零样本跨域仍弱于让 Agent 自己估,落地要准备目标域轨迹。

术语

原文与代码

相关论文

全部论文解读