跟命中缓存关系不大吧。KV缓存只保存了context,而且是一个决定论的东西,同一个context就只能生成同样的KV缓存。既然是重试,那么context必然一样。GPT是一个词向量的拟合外推机器。既然已有的数据是一样的,那外推出来的数据也应该近似的。
一些壳的重试功能默认就是会将之前的输出也放到context里面让模型重试。这种重试方式就不会出现这个问题。
后一个问题我认为是过度微调的结果,小的模型如果是面向普通用户微调的,指令遵循本身就不会非常好。很多小模型都会有这样的现象,比如GLM-9B、GPT4o mini。降本增效的代价。用能力更强的比如Claude 3.5 sonnet就行。另外一些面向专业用户微调的LLM比如Qwen 32B coder、Gemini 1.5 falsh 002,指令遵循在同类小模型里面就强得多。