知识生命周期:让变化决定回答状态

核心概念 · 知识不是一次写入后永久正确

资料会更新、撤回、拆分或被新版本替代。用户需要的是一套能让答案跟随这些变化的工作流,而不是只把文本永久堆进索引。

一个知识单元的状态

状态含义用户可见结果
已发现来源已被识别,但尚未允许进入回答不参与检索
待审阅基本身份已知,但范围、责任或准入仍待确认不参与默认回答
已摄取原文与来源已被记录可等待后续处理
处理中必要的解析、索引或检查正在进行显示进度与影响范围,不暗示结果已最新
已索引必需索引已完成可以成为候选证据
已激活当前版本允许进入回答可被检索并返回引用
已替代新版本接管同一事实旧版本不再作为默认答案依据
已归档保留审计或回溯需要不进入普通检索

哪些状态转换需要被解释

状态不是内部技术日志。每一次会影响回答保证的转换都要让使用者能理解原因:

转换必须说明什么
待审阅 → 处理中谁确认了准入,哪些处理能力开始执行。
处理中 → 已激活哪些必要检查已完成,为什么现在可以作为默认依据。
已激活 → 已替代新旧修订的关系、生效范围和旧结果的处理方式。
任意状态 → 已撤回/已归档为什么不能继续默认使用,是否存在替代证据。

若一个状态变化无法说明用户结果如何改变,它还不是可用的生命周期语义。

先按变化事件决定动作

发生什么应先确认什么对回答的影响
原文修订修订是否替代同一事实,还是仅补充说明需要重新检查引用该事实的答案。
原文撤回是否存在可替代的主证据旧资料停止作为默认依据;没有替代时应暴露不确定性。
适用范围变化哪些地区、产品或时间段受影响不能继续把旧范围泛化到新问题。
索引重建失败哪些资料已更新、哪些能力尚未完成不应暗示所有结果已是最新。

更新不是简单覆盖

更新一份政策页时,需要分别回答:原文是否变了、哪些知识单元受影响、哪些索引需要重建、旧引用是否还能解释当时的答案。这个过程需要 revision、idempotency 和激活状态,而不是一次无痕覆盖。

失败时保持事实边界

如果某个 adapter 没有完成重建,系统不应假装所有检索结果已经最新。正确行为是保留清晰状态、支持重试,并让调用方知道当前保证到哪里为止。

当前可做与目标版本的区别

当前阶段,团队可在资料卡和变化演练中维护这些状态;0.x 目标版本则必须把状态、修订关系、影响范围和处理边界带到使用者可查看的结果中。具体的队列、任务和存储实现可以变化,但“未完成不能冒充已最新”的合同不能变化。

给使用者的恢复问题

发生变化后,先问四件事:哪份原文变了?哪些知识单元受影响?哪些索引或检查点仍未完成?面向用户的回答是否需要暂停、降级或重新检查?把答案写进工作流卡,才能让“更新完成”成为可验证的结论。

下一步:处理资料更新、替代与撤回