佬们能否总结说一下命中缓存时命中的那些部分
你的代码库、Agent的系统提示词,还有多轮对话的历史对话记录
佬可以看看这个文章,感觉解释得挺简单的
你之前的历史对话内容(system, user和 assistant的message), 如果harness在发送的时候完全没有改动过, 就可以完全匹配上
但是很多工具喜欢在前面插入一些变量, 导致破坏缓存
佬,提示词历史上下文和新问题是有固定顺序发送给AI的吗?就比如说是提示词+历史上下文+新问题这个顺序发送给AI如果提示词发生变化历史上下文还会命中缓存吗?求佬解答
不同模型对命中缓存的要求会有一些区别
你最好去看下chat completion或者message协议的消息拼装就明白了
大部分messages(数组)都是 system最前面(系统提示)
然后是user和assistant消息, 提问和模型的回答
每次新发的请求, 前面的消息都要附带的, 因为模型端是不保留上下文的
如果前面的内容完全没有改变, 那么一般来说可以全部命中, 改变之后根据不同模型, 产生不同的部分命中效果
比如deepseek如果最前面的提示词换了的话, 可能0%命中, 但是claude仍然可以命中中间的部分内容
这是ds的缓存文档
