数据是最新的,不代表答案仍适用
Resource freshness versus reading relevance
资源没变化,也不能证明基于它生成的旧答案适合一个新问题。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
你以前读取 API 文档时只问接口签名,现在要研究错误语义。教学缓存保存了旧问题“提取 getItem 的签名”及摘要 getItem(id): Item;来源未变化。原文另有错误章节:找不到返回 404,无权限返回 403。最新资源不等于旧摘要已覆盖新问题。
具体做法
同时检查缓存的资源身份/验证器与最初提取问题。若旧摘要只覆盖签名,不能从新鲜度推出错误语义;已有原文时重新提取错误章节,只有摘要时取得必要原文或专门读取缺失章节。输出新答案时标明使用的来源范围与还未解决的情况。
反例
来源没有变化,验证器返回 304,所以直接用 getItem(id): Item 的旧签名摘要回答 404 和 403 的问题,不再看错误章节。
改进写法
回答上述 getItem 错误语义前,核对缓存最初的问题和覆盖范围。旧问题只提取签名,不能回答错误处理。使用已提供的未变原文重新提取错误章节,说明 404 对应找不到、403 对应无权限;没有原文则读取该缺失章节。来源 304 仅支持内容未变化,不支持旧解读对新问题已经完整。
为什么这样改
缓存可能保存的是某次问题驱动的解读,而不是全部原文。新鲜度检查解决“来源是否变了”,相关性检查解决“已有解读是否回答当前问题”;把两者分开,可以复用资料而不复用遗漏。
如何验证
示意新答案包含 404、403 与错误章节依据,旧摘要仅被标为签名参考。若原文没有某种错误,应保留未知,不从签名或 HTTP 新鲜度猜出它。
检查原始提取问题是否被查看、新回答是否覆盖当前问题;只重复“304,所以可信”不满足要求。
适用边界
来源的缓存以 URL 为键,显示原提取提示让 Agent 判断相关性,不自动保证重新提取。本篇是这种限制下的使用规则,不承诺所有缓存工具提供原文或能够手动重新获取。