[错误] 缓存将可变结果共享给调用者,并存储无法读回的值
作者: amitxy创建于 2026年9月11日更新于 2026年9月11日
标签bug
发生了什么情况?
在缓存未命中时,request_cache 会存储由装饰函数返回的对象,并将该对象返回给调用者。因此,缓存不拥有结果的独立快照。如果调用者修改了第一个结果,则将对未来的缓存命中返回的值进行修改。如果结果无法深度拷贝,则存在相关的失败模式。第一次调用成功,结果进入内存缓存,但当缓存尝试深度拷贝存储的值时,相同的第二次调用失败。这可能发生在完成的非流式结果中,因此与 #10345 中报告的原始流式行为无关。
内容来源: stanfordnlp/dspy