P231 · 上下文管理

数据是最新的,不代表答案仍适用

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 判断相关性,不自动保证重新提取。本篇是这种限制下的使用规则,不承诺所有缓存工具提供原文或能够手动重新获取。

原文与版本

如何收录这些方法