因为这玩意儿影响价格啊,如果 cache read 的价格和普通 input 价格一样那这个 hit rate 0 人在意, 各家动辄 cache read 1/10 的价格,甚至大部分都没有 cache create 价格,那当然是命中率越高越省钱,这很难理解么
因为 KV cache 在 llm 里面是非常正经的概念 Transformer 做自回归生成时,每生成一个 token ,都要做 Attention ,要是没 KV Cache ,那每一个 token 都要重新算,那个计算量我觉得没有模型可用吧。 另外 agent 的 Prompt Cache ,要是没有缓存,每一次都要做 prefill ,也是非常离谱的计算量
因为 Agent 的一次任务通常不是一次模型调用,而是多轮循环: 读取上下文 → 思考 → 调工具 → 把结果加入上下文 → 再次调用模型 后续每一轮都会重复携带大量相同内容,例如系统提示词、工具定义、项目说明和历史对话。模型供应商可以缓存这些不变的前缀,下一轮直接复用。 举个例子:每轮输入 100,000 Token ,其中 90,000 Token 是不变的上下文。如果缓存命中率为 90%,每轮真正需要重新处理的可能只有新增的 10,000 Token 。对需要循环几十次的 Agent 来说,差距很大。 缓存命中率更准确地说是一个“运行效率指标”,不是“能力或效果指标”。评估 Agent 应同时看: 1 、任务成功率和结果正确性; 2 、完成任务的总时间; 3 、总 Token 与总成本; 4 、模型调用和工具调用次数; 5 、是否需要人工介入; 6 、缓存命中率。 我更倾向使用 每个成功任务的成本和耗时 作为核心指标。缓存命中率适合用于解释成本和延迟为什么变化,但不应该单独拿来判断 Agent 好不好。