AI技术文章

Token账单爆炸?用「TELOS」强制命中缓存,一键剩下90%的账单!

作者:AI修猫Prompt0 次浏览 来源:AI修猫Prompt
Token账单爆炸?用「TELOS」强制命中缓存,一键剩下90%的账单!

就在几天前(5月22日),DeepSeek官方扔出了一枚重磅炸弹:DeepSeek-V4-Pro将在5月底结束优惠后,永久降价至原价的四分之一。各大媒体瞬间被诸如“白菜价”、“夯爆了”的标题刷屏。看看这组惊人的新定价:每百万Token输出6元,输入(缓存未命中)3元,而输入(缓存命中)仅仅只要0.025元!

项目地址:htps://github.com/learningCatHD/telos-sdk

就在几天前(5月22日),DeepSeek官方扔出了一枚重磅炸弹:DeepSeek-V4-Pro将在5月底结束优惠后,永久降价至原价的四分之一。各大媒体瞬间被诸如“白菜价”、“夯爆了”的标题刷屏。看看这组惊人的新定价:每百万Token输出6元,输入(缓存未命中)3元,而输入(缓存命中)仅仅只要0.025元!

文章配图

许多人欢呼雀跃,迫不及待地准备将便宜的V4接入Openclaw、Hermes等Agent框架中。但当你跑完长会话,仔细核对账单时,可能会发现一个悲催的问题:支付的绝大部分其实是那3元的“高价”输入,而不是0.025元的“白菜价”缓存。

行业背景:被偷走的“白菜价”

为什么会出现这种偏差问题?这需要从大模型推理的底层机制KV Cache(键值缓存)说起。LLM生成文本时,是基于历史所有Token的注意力机制计算出来的。为了不让LLM在每说一个字时都把前面的几十轮对话重新算一遍,推理引擎会将历史文本生成的键(Key)和值(Value)矩阵保存在显存中。下一轮对话时,只要新输入的开头字节与这些已经缓存的矩阵完全一致,模型就可以直接读取结果(cache_read),免去了高计算量的预填充(Pre-fill)过程。

本质上,API厂商打一折的底气,正是来自于用户对底层 KV Cache 的高比例复用。可遗憾的是,上层应用框架的混乱,正在导致底层的缓存设施全面溃败。

开发者撞过的“四堵墙”

在真实的长会话运行中,智能体Token的实际利用率通常只有25%。剩余的75% 去哪了?TELOS的项目作者王政指出,把AI用进生产环境,开发者必然会撞上这“四堵墙”:

文章配图

  • 被绑死在一家:上下文逻辑与单一供应商深度绑定。
  • 同一段开头反复付费:二十轮对话下来,每轮都在重算开头。
  • 一个时间戳毁掉缓存:仅仅因为系统提示词里多了一行currentDate,整个段落的前缀哈希(prefix hash)就被污染,缓存命中直接归零。
  • 账单只给一个比例:许多平台用廉价的缓存Token做分母,玩弄“比例作弊”的数字游戏。

拿回属于你的定价折扣

底层推理引擎(如vLLM)和各家API其实早就支持了高效的KV-Cache复用。但这一切生效的前提是:输入到引擎的Prompt必须在字节级别上绝对稳定

现实情况是,大多数Agent框架在构造请求时毫无纪律性。日常实践中,系统常常无差别地将时间戳、动态工作目录(CWD)、进程ID(PID)强行塞进对话历史的早期位置。这些微小的变量瞬间破坏了前缀匹配,导致本该走0.025元通道的请求,被系统静默地按照3元全价收费。这是一种不会触发任何报错的“沉默失败”。

为了接住DeepSeek V4带来的算力红利,我们必须填补这道缝隙。为此,项目作者提出了一种名为TELOS的上下文中间表示协议。

TELOS协议的核心设计

为了从根本上消除这种“沉默失败”,TELOS协议来了。它的核心思想是将“保证缓存不失效”从以往的开发者经验启发式(heuristics)操作,转化为可通过系统静态验证的结构性约束。

文章配图

三色带类型注解(Three-Color Bands)

TELOS协议将完整的Prompt划分为三种具有明确生命周期的区块(Block),并通过颜色进行直观区分,这并非装饰,而是Prompt字节的一级类型:

文章配图

  • PIN(永久基底 / 绿色):代表请求中不可变的基础部分,包括工具定义(Tool defs)系统提示词(System prompt)以及当前用户问题。它们被置于最前端,永不被重写或驱逐。
  • FOLD(可压缩历史 / 黄色):代表可以被压缩的区块,包含对话历史、工具调用结果以及大文档。当面临上下文长度压力时,旧的页面会被摘要替代,但前方的PIN字节保持原样。
  • DROP(瞬时上下文 / 红色):代表具有极强可变性的内容,如时间戳、工作目录、Git状态等。这些内容永远被放置在最后,因此绝不会污染前缀哈希。

形式化的不变量约束

TELOS对上述区块提出了严格的形式化约束。假设Prompt是一个由有限内容块构成的序列

文章配图

文章配图

命题的数学保证:只要遵循上述三个条件,无论底层推理引擎采用何种前缀匹配缓存策略,该会话的缓存命中率必定是会话长度的单调不下降函数。因为新一轮的内容仅仅是追加在尾部,前方的字节永远保持绝对一致,引擎不需要靠运气,而是靠结构必然能找到最长公共前缀,这就是TELOS厉害的地方。

文章配图

与现有工程实践的对比差异

一个明确的对比:

  • 朴素的Chat Completion(每轮重写系统提示):完全不满足I1、I2、I3约束。
  • LangChain ConversationBuffer:满足了单调追加(I2),但不满足类型排序(I1)和排除瞬时数据(I3)。
  • Anthropic / OpenAI原生缓存接口:它们在一定程度上支持字节稳定的缓存路由,但并不强制约束I1和I3。如果在它们的永久区域插入一个时间戳,引擎依然会默默执行,不会报错,但缓存会静默失效。TELOS填补了这一空白,将这种要求上升为协议层面的显式禁止。

实验方法学:预先登记的双臂A/B评估

在LLM的评测文献中,事后挑选样本来粉饰数据的行为(p-hacking)被反复批评。为了保证研究的科学严肃性,项目作者采用了一次严谨的“预先登记(pre-registered)”实验,即在跑数据之前,就已经将任务分配、抽样方法和统计检验标准完全固定下来。

实验环境与基准配置

  • 数据集基准:选用了当前事实上的真实代码修复标准SWE-bench Verified,包含500个经过OpenAI团队人工核对的高质量GitHub真实问题与修复实例。
  • 测试脚手架:使用了现在很多人在用的Hermes框架(开源的mini_swe_runner实现),并唯一修改了传输层的注入逻辑以接入TELOS。
  • 底层模型:采用通过OpenRouter调用的deepseek/deepseek-v4-flash模型。由于DeepSeek的接口原生提供字节稳定的隐式前缀缓存功能,符合实验所需。
  • 硬件与执行:评估过程在苹果Silicon主机上,以4个工作线程顺序执行,超时时间设定为1800秒,最终通过官方Docker评测生成报告。

严格的分层抽样与对照设计

为了进行配对统计推断,研究设定了固定的随机种子(seed = 7),从8个知名开源仓库中分层随机抽取了100个实例。抽样分布包含了sphinx(33)、matplotlib(19)、xarray(19)、pytest(16) 等仓库。

实验设计了两个严格平行的对照组(Arms),两组接收到的任务实例集合完全一致:

  • TELOS Arm(实验组):开启网关,强制遵守I1到I3的协议约束。
  • Vanilla Arm(对照组):关闭协议,将原始Prompt直连大模型,代表传统主流工具的默认行为。

预先披露的样本损耗与推断标准

为了保证统计的严谨,项目作者公开了实验中遭遇的不可抗力损耗:

  • 由于旧版评测脚本的网络问题,matplotlib仓库的12个实例在拉取环境配置时遭遇HTTP 503报错,导致两组对称失败退出。
  • 有28个实例因本地Docker镜像未缓存且超出实验预算而跳过。
  • 对照组出现2个运行超时。

文章配图

评估结果分析:成本断崖式下降且能力无损

实验得出的量化结果有力地支持了项目作者的核心假说:我们完全可以在不牺牲模型推理能力的前提下,从协议层将无效消耗挤干。

任务正确率:统计上的不可区分性

在最终完成的评测中,修复率(解决数量/总提交数量)的对比如下:

文章配图

  • TELOS组:成功修复了23个实例,修复率为41.8%(95% Wilson置信区间:[29.7%, 55.0%])。
  • Vanilla组:成功修复了25个实例,修复率为45.5%(95% Wilson置信区间:[33.0%, 58.5%])。

从绝对数值上看,实验组仅比对照组少了2个解决实例,差异为 -3.6个百分点。更关键的是,两个组别的95% 置信区间几乎完全重叠。

文章配图

Token消耗:超过一半的账单被抹除

文章配图

文章配图

  • 原始输入(计费最贵的raw_input):TELOS组每任务平均消耗92,853个Token,而对照组高达196,934个,降幅达到了惊人的-52.8%
  • 缓存命中占比(cache_share):得益于严格的前缀保障,TELOS将缓存占输入总量的比重从61.5% 提升至73.4%,增加了11.9个百分点
  • 总上下文输入(含原始与缓存):总量也从每任务超51万Token缩减到约34.9万,降低了-31.7%

绝不以能力换Token的核心证据

一个常见的质疑是:“节省的资源是不是因为模型变笨了,思考得更少了?” 项目作者提供的核心反证在于对输出行为的监控。

  • 系统API调用次数(api_calls):TELOS为32.4次,对照组为31.9次,变化率仅为+1.5%
  • 模型输出规模(output tokens):TELOS为24,747,对照组为24,986,变化率仅为-1.0%

这两项关键指标的近零差异有力地证明:节省全部来源于输入端协议对于字节稳定性的约束,系统并没有通过削减推理深度或切断工具调用来换取成本的降低。优化与能力在此实现了完美的分离。

绝对成本换算(美元视角)

若以公开的市场报价(原始输入 $0.27/M,缓存读取 $0.07/M,输出 $1.10/M)计算绝对经济账本,TELOS使每任务的原始输入成本从$0.0532暴降至 $0.0251,单次任务总成本从 $0.1027降至 $0.0703。总体绝对成本压降比例达到了-31.5%

项目组还为此配备了本地可视化的Dashboard,能够脱离云端依赖,按绝对美元汇率对多维度的账单进行审计。

一键安装

文章配图

安装只要一行命令

pip install -U telos-sdk

然后再只需要一行命令,即可对你设备上的四个Harness完成配置。TELOS目前支持CC、OpenClaw、Harmes、Codex这四个用户最多的Agent框架。

telos init

当然如果你只想给单个Agent配置TELOS,比如只给OpenClaw配置,也可以使用以下命令

文章配图

telos init --harness openclaw

最后你就可以输入以下命令打开TELOS的面板,实时查看它帮你省了多少API费用了。

telos dashboard

我按照上述步骤安装好后简单实测了一下,Agent框架是Openclaw,模型用的DeepSeekV4-flash。在一次短时间的真实对话测试中,TELOS dashboard记录到6次模型调用:总raw input为20,906 tokens,cache read为248,320 tokens,prompt cache hit达到92.2%。

文章配图

这不是benchmark,只是一次本地跑通验证,但这说明TELOS确实能在OpenClaw这类长上下文agent工作流里捕捉并量化重复上下文带来的缓存收益。

研究的边界与局限性

遵循严谨的科学态度,项目作者也主动指出了本次A/B评估的局限性。首先,目前的样本量使得95% 置信区间存在 [-21 pp, +14 pp] 的宽度,虽然可以排除发生超过21个百分点以上的重大劣化,但无法精细判定 ±5% 范围内的微小波动,这需要未来扩充到单组400个以上样本进行验证。其次,由于个别仓库因网络故障导致缺失,结果存在一定的子集偏置,不能武断地直接外推到全量500个测试集。

总结

TELOS说明了:目前极大比例的大模型API成本消耗,并非源于模型自身的低效,而是因为上层调用脚手架缺乏协议纪律。通过引入带有三色带类型注解与单调追加不变量的TELOS上下文协议,开发者能够在保证代码修复正确率和工具调用深度几乎无损的前提下,将昂贵的原始输入Token削减掉一半以上。

如果您正面临大模型应用投入生产时的高昂账单,现在就可以开始审视自身的协议构建逻辑。TELOS是完全开源的,任何人都可以通过安装telos-sdk并在本地直接复现项目README所展示的资金审计工作。

文章来自于"AI修猫Prompt",作者 "AI修猫Prompt"。

相关主题

读完之后

加入 AINRK 交流群

了解加入交流群的方式,与更多 AI 从业者交流。

查看交流群说明(在新窗口打开)