更新时间:2026-10-27 GMT+08:00
分享

input_schema对象内部字段乱序问题

问题背景

缓存命中率对Prompt结构高度敏感。任何输入内容的变化(包括字段顺序、空白字符、元数据位置等)都会导致缓存前缀不匹配,从而造成缓存失效。Tools定义在拼接Prompt模板中一般处于最前端,因此出现缓存前缀匹配失败时对缓存命中率影响较大。

问题现象

在多轮对话场景中,前几轮缓存命中率正常,发现某轮请求的缓存命中Token数量突然降低的现象。经过分析确认与Tools定义中的 input_schema对象内部字段乱序直接相关。

分析过程

在多轮对话过程中,连续两个请求之间,tools中的 “input_schema”对象内部字段顺序发生了变化,导致原本应命中的缓存前缀匹配失败。

图1 缓存命中率突变前后的Tools对比

如上图所示,多轮对话的连续两次请求里,虽然tools的定义完全相同,但由于字段顺序的变化,导致模型获取到的tools的JSON字符串变了,因此导致缓存前缀匹配失败,缓存命中降低。

相关文档