不明白为什么很多人用「缓存命中率」作为 agent 的性能评估参数

8 月 14 日
 Rorysky
  1. 缓存命中强相关你的任务场景和输入,如果你的输入每次都有巨大增幅,且新增内容不同,缓存命中自然就低呀
  2. 缓存命中更多是服务端的 harness ,比如 ds 缓存过期时间长,那命中率自然高
  3. 缓存命中在多轮对话中数学角度一定是不断增长的,且你每次请求 prompt 中固定部分(一些全局/工具描述等)越大,缓存命中越高

就这么一个和多个环节相关的参数,被很多人拿来评价用户侧 agent, 不禁感叹智商的分布,很长时间不理解。

你的缓存命中高,很可能只是你的任务简单,迭代次数多罢了

7021 次点击
所在节点    程序员
49 条回复
ReinXD
8 月 14 日
dpsk 应该是把 system prompt 直接放到每次请求的开头了,这样每次增长的计算实际上只有用户新发的请求,剩下全部可以 prefix cache hit ,导致最后命中率 99%,其实没那么多魔法,不过 dpsk 应该这次在训练 sft 的阶段就对这种 prompt 方式进行优化了
Rorysky
8 月 14 日
@ReinXD ds 主要的不同时缓存失效时间长。假设第 i 次 prompt 的输入 等于 A_i ,存在关系 A_(i+1) = A_i + delta_i, 极限情况当交互次数趋向∞,那么缓存命中必然趋向 100%。 似乎高中数学遗忘的人很多
Tiande
8 月 14 日
我不在乎这个,但用户对价格敏感是什么很难猜的东西吗。
你有研究过 ds4f 之类的热门模型的缓存占比对价格的影响可以分享一下。

另外这你都能上升到别人智商有问题,其实也看不出来你有多聪明...
0xnycth
8 月 14 日
工具的使用单价你不在乎?

那你很有钱咯
Retas
8 月 14 日
@ReinXD 我记得主流 harness 都是这么干的?
fredweili
8 月 14 日
不能当作一个评价维度么?你是免费不花钱用的么?做的不好的,也能“必然趋向 100%”,高中数学还挺天真的
lovelyxiaod
8 月 14 日
确实,除非故意使坏,不然这缓存命中率就低不了.

但是还是有一些优化技巧的,省一点也是真金白银.

这不 deepseek 都涨价了么.
Rorysky
8 月 14 日
@0xnycth 主楼一点不看么? 说了和任务场景有关系
Rorysky
8 月 14 日
@lovelyxiaod 这可是有记录的,A 社曾经给非 anthropic 的 api 的请求在头部增加了一个动态码
Sundayz
8 月 14 日
省钱带来的冲击力是很直接的
Rorysky
8 月 14 日
@fredweili agent 要怎么做呢,就是把动态内容尽量滞后,这还需要怎么做,这是最基本正常的开发思维么
xyooyx
8 月 14 日
其实 system prompt 算小头,agent 场景里的大头是 history ,每一轮相比上一轮的历史都是重复的,而且缓存命中率直接决定结算单价,最终影响的是完成一件事的成本,大家会用脚投票,所以当然会特别在意。
Rorysky
8 月 14 日
@Tiande 我只是发现这个现象,并对这个现象进行质疑和讨论。我都是面向现象说的,你不能等同于 “别人”,我没有对具体人的评价和质疑,谢谢。
xqk111
8 月 14 日
黑人问号?
neteroster
8 月 14 日
正确的,本身缓存率就是个和实际工作负载类型强相关的东西,服务端的影响也很大; Harness 只要做好稳定前缀,别像之前某个 harness 在系统提示词开头插当前精确到分钟的时间就行了(虽然现在有些模型的 template 把系统提示词放在最后了)
szdosar
8 月 14 日
其实你已经说到部分原因了。
很多时候我们不理解、不明白是因为我们没走到那一步。
鞋子合脚吗?穿过才懂。
Inn0Vat10n
8 月 14 日
这有啥难理解的,好比游泳,人的水平当然是核心因素,但是同一个人, 穿 A 牌的泳衣就是游的比 B 牌的快;agent 缓存命中优化是同一个道理, 同样的任务,同样的模型,用 opencode 和 claude code 缓存命中率就是不一样, 换你你用哪一个?
FrankAdler
8 月 14 日
因为没什么可吹的了,大差不差的,只能强行说点啥,刚刚还看到一个帖子,说把 agent 装进你的电脑,然后有个唐式对比:

其他 AI 助手工具 XiaoyaoClaw
数据上传到云端,归别人管 本地优先,配置、聊天记录、API 密钥都在你电脑里

我寻思着 hermes openclaw pi 哪个不是本地?
LovingYoung
8 月 14 日
赞同,99% 命中的那能是什么好任务……正常用 95% 是合理的,当然模型后端必须尽可能保持 stable prefix 才是合理的
winnerczwx
8 月 14 日
因为大部分人的任务简单 且 价格敏感度高

我感觉评估 agent 主要还是看 模型能力 推理能力 任务执行正确率, 至于是 99%缓存还是 95%缓存确实不在意, 只要能把活干好 多花点 token 就多花点吧

一个任务 10 亿 token, 8 小时多跑完 5x 周额度, 但能解决问题啊不是吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1234259

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX