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

查看 395|回复 45
ktyang   
大家不都是比的相似的任务么,反正我用的时候会大概看一下。正常使用过程中某些模型就是命中率低,某些工具就是命中率低,这还不能说么。又不是专门为了让某些工具刻意的高刻意的低。
maolon   
因为这玩意儿影响价格啊,如果 cache read 的价格和普通 input 价格一样那这个 hit rate 0 人在意,
各家动辄 cache read 1/10 的价格,甚至大部分都没有 cache create 价格,那当然是命中率越高越省钱,这很难理解么
aimuz   
还有一个问题是上下文越高,AI 智商也会相应的变低。
nsjs   
说白了就和显示器比参数一样的逻辑。
参数有意义吗,有意义,也没有意义
longaiwp   
难道我来用 AI 不是来赚钱,是为了花钱的?
Tink   
因为 KV cache 在 llm 里面是非常正经的概念
Transformer 做自回归生成时,每生成一个 token ,都要做 Attention ,要是没 KV Cache ,那每一个 token 都要重新算,那个计算量我觉得没有模型可用吧。
另外 agent 的 Prompt Cache ,要是没有缓存,每一次都要做 prefill ,也是非常离谱的计算量
Tink   
LLM 自身能成功命中缓存,很大程度上决定了这模型的速度和计算量,虽然可以输出上帮助不多,但是 prefill 提升巨大
Tink   
typo:可以-可能
MackMa   
喷楼主的人,应该都没有理解缓存机制
建议阅读一下: https://platform.claude.com/docs/en/build-with-claude/prompt-caching
youling257   
因为 Agent 的一次任务通常不是一次模型调用,而是多轮循环:
读取上下文 → 思考 → 调工具 → 把结果加入上下文 → 再次调用模型
后续每一轮都会重复携带大量相同内容,例如系统提示词、工具定义、项目说明和历史对话。模型供应商可以缓存这些不变的前缀,下一轮直接复用。
举个例子:每轮输入 100,000 Token ,其中 90,000 Token 是不变的上下文。如果缓存命中率为 90%,每轮真正需要重新处理的可能只有新增的 10,000 Token 。对需要循环几十次的 Agent 来说,差距很大。
缓存命中率更准确地说是一个“运行效率指标”,不是“能力或效果指标”。评估 Agent 应同时看:
1 、任务成功率和结果正确性;
2 、完成任务的总时间;
3 、总 Token 与总成本;
4 、模型调用和工具调用次数;
5 、是否需要人工介入;
6 、缓存命中率。
我更倾向使用 每个成功任务的成本和耗时 作为核心指标。缓存命中率适合用于解释成本和延迟为什么变化,但不应该单独拿来判断 Agent 好不好。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部