对上下文缓存的影响
中文exp-2508未验证
对上下文缓存的影响
动态加载工具可以与 上下文缓存 叠加使用。上下文缓存按前缀匹配:只有当前请求与之前请求完全一致的前缀部分才能命中缓存,前缀中任何位置发生变化,该位置之后的缓存都会失效。因此工具声明的注入方式直接决定缓存命中率,遵循以下原则可以在按需加载工具的同时保持较高的缓存命中率:
追加,不要插入:新的工具声明一律追加到 messages 末尾,已有前缀保持不变,不影响已建立的缓存;向对话中间插入或修改任何消息(包括已注入的工具声明),都会使变更位置之后的缓存无法命中;
保留已注入的声明:动态工具声明按请求生效,不会被服务端记住。建议在后续请求中原样保留已加载的工具声明,这样工具保持可用、前缀保持稳定,有利于持续命中缓存;你也可以根据业务需要自行决定是否继续携带。若不再携带,该工具声明即失效,如果工具未在其他位置声明,模型将无法调用它;同时由于 messages 发生变化,变更位置之后的前缀缓存也可能无法命中;
核心工具固定在顶层声明,之后不再改动:把每轮都要用的核心工具放在请求顶层 tools 字段做全局声明,声明之后保持内容不变。顶层全局工具声明不影响缓存命中,保持稳定即可让前缀缓存持续有效;只有按需使用的工具才做动态注入。
操作对前缀缓存的影响
在 messages 末尾追加工具声明不影响已有前缀缓存
后续请求原样保留已注入的工具声明前缀保持稳定,有利于持续命中缓存
删除、修改对话中间的消息,或在中间插入新声明变更位置之后的缓存可能无法命中
在顶层 tools 字段声明全局工具不影响缓存命中
注意缓存的生效门槛:当前一个请求的 prompt tokens 大于 256 时,新的请求才能命中前缀缓存;当前一个请求的 prompt tokens 小于 256 时,请求不会被缓存而是被丢弃。详见 上下文缓存。
复制后粘贴到 AI 对话框发送,本次对话全程生效
出处:Kimi/Moonshot 官方提示词指南 · platform.moonshot.cn/docs/guide/use-dynamic-tool-loading · 可信度 S · 标签:中文 / 提示词工程 / Kimi / 动态工具加载 怎么用(对话型)复制后粘贴到对话框发送,本次对话全程生效。想长期用:支持自定义指令的产品(设置→个性化)可设为默认。