Harness 能耗推荐研读,代理外壳决定一半电费这句话的依据

谈 AI 效率的人都盯着模型与显卡,一家推理云服务商上周发了篇另类文章,用自家一个月的真实流量证明,代理外面那层外壳才是能耗的最大变量。技术社区几十条讨论,联合创始人亲自下场答疑。我把全文数据与讨论核了一遍,这篇对代理工具开发者是必读。

核心论点

先定义。harness 指客户端那层代理应用,负责拼装提示词与调用模型,编码代理、编辑器插件、各类框架都算,你每天用的那个代理工具就是一个外壳,它此刻的表现可以拿这篇文章的尺子量一量,量出来的命中率比想象低也属正常,正常之后就该考虑换个壳试试了,换了壳省下 token 比换模型省的多,多省的部分不牺牲任何能力,纯粹是少做无用功,无用功不做,同样的订阅额度能多跑不少任务。论点一句话,业界谈效率只谈模型与硬件,可显卡工作量大头其实握在外壳手里,它决定缓存命中还是失效。

机制展开讲。代理流量输入远大于输出,典型编码回合十万输入对几百输出,这些输入靠前缀缓存避免重算。缓存命中时新增几句话几乎不花算力,失效时从差异点起重算全部,能耗翻倍。外壳对已发送文本的任何改动,哪怕开头加一个时间戳,都会把缓存打断,打断之后从差异点起全部重算,算的全是已经算过的东西。一家云的实测口径,各客户端未命中缓存的输入占比百分之一点六到百分之十一。两头一比,预填计算量差二点七倍,同样的活,不同的壳,显卡的呼吸频率完全两样。

数据拆解

三类实测。实验室场景,五百多个后续请求中近九成是纯追加,六十几次缓存打断全部由外壳改写引起,这个归因干净得少见,打断的锅外壳背定了,背定之后怎么改,文章后面的案例给出了改法与改后的收益。生产场景,工具列表或推理力度的切换使打断概率高二十倍,平均损失前文四成,百分之零点五的回合贡献了百分之十九的重读量。深会话场景,超过十二万八 token 的会话里千分之三的回合重读一半以上,一次打断约等于六百个普通回合的预填量。

具体案例点名到位。某开源代理的计划模式提醒语每回合被删,重读几百到两千多 token,新版本已修复。另一款工具的文件修剪把旧内容替换为占位符,单次重读近六千 token,关掉两个配置项即可保缓存,一个配置项的差别就是几毛钱的接口费。对照组是几款设计克制的外壳,追加式日志加固定提示词加稳定排序的工具表,打断频率低到每百回合一次。

教学价值

这篇文章的可贵在视角,把能耗归因从模型层拉到应用层,结论对所有写代理工具的人可用。设计守则提炼四条。四条守则背下来不难。会话日志只追加,系统提示固定,工具表排序稳定,压缩时机尽量晚。四条守则没有一条高深,难的是每加新功能时还记得它们,记得住的是好框架,记不住的是普通框架,区别就差这一条。讨论区的补充同样值钱,记忆系统是低命中率的第一元凶,把记忆放数据库按需查,主上下文保持追加式,这是外置记忆的正确打开方式,方式比工具重要。

数字口径提醒一句,全部来自该服务商自家云流量,属厂商实测自称,方向与量级可信。照着方向优化,数字迟早跟着变好。对普通用户,选代理工具时多看一眼缓存命中报告,省的是自己的电费与接口账单,账单按 token 算的人对这个词最敏感。敏感的人最先换壳,最先省到钱,先动手的总是先受益。

一句话收尾,模型省的是出厂效率,外壳省的是每次调用,后者你说了算。

来源

  • 原文 https://neuralwatt.com/news/why-harnesses-matter-for-energy-efficiency
  • 社区讨论 https://news.ycombinator.com/item?id=50124642