先说结论
资料更新应记录业务生效时间、来源版本和索引处理状态,并将撤回信息传到分块、向量、摘要与缓存。文件删除不等于索引内容已删除;回答时应使用当前适用且可访问的证据,对同步失败或版本冲突明确停用或说明限制。
读完你会得到
- 修改日期、业务生效日和索引完成时间不能混用。
- 删除原文件之后,还要处理所有派生内容。
- 用撤回与恢复演练验证流程,不只看导入任务成功。
退换政策已经修改,助手仍然引用上个月的规则。问题可能出在没有重新索引、旧分块没清理、缓存未失效,也可能是新规则还未生效。本文把这些不同的“更新”拆开,给出可以追踪的资料生命周期。
配套资料与延伸阅读
- 企业 AI 知识库怎么搭建:从资料治理到 RAG 评测(阅读)
相关方法与实施说明
- Dify 知识库教程:导入资料后,怎样检查检索和回答(阅读)
相关方法与实施说明
- 企业 AI / FDE 服务(了解)
可用一份经常更新的脱敏规则资料讨论知识库的同步、撤回与维护流程。
先说清四个时间点
| 时间字段 | 表示什么 | 不能替代什么 |
|---|---|---|
| source_modified_at | 来源文件最后修改时间 | 业务规则开始生效的时间 |
| effective_from / to | 规则适用的业务时段 | 索引任务完成时间 |
| indexed_at | 索引处理该版本的时间 | 原规则是否仍可用 |
| answered_at | 生成当前答复的时间 | 资料本身是否最新 |
字段名是本文示例。历史问题可能需要历史版本,当前业务问题通常需要当前适用规则。简单选择修改时间最新的文件,会把尚未生效的公告或无关附件当成当前依据。
更新与删除需要分别设计
Microsoft 的 Azure Storage 索引文档明确区分变更与删除检测:索引器可利用来源时间跟踪更新,删除检测则需要对应策略,避免留下孤立搜索文档。这是特定连接器的行为,其他系统应检查自己的更新与删除机制。
自建流程同样要记录稳定文档标识、来源版本和派生块清单。路径改名不一定意味着新文档,名称相同也不一定意味着内容相同。不要只依赖文件名作为整个生命周期的身份。
Azure 文档还要求从首次索引运行起配置删除检测策略;后来补上策略,并不能自动清理此前遗留的孤立文档。因此接管已有知识库时,除了验证今后的删除流程,还应核对存量父文档与分块关系,找出已不存在或已撤回来源对应的旧内容,安排受控清理或重建。这个历史前提容易在只测新导入任务时被遗漏。
本节依据: [1] Microsoft Learn
把同步过程设计成可观察的状态
| 状态 | 允许使用吗 | 应检查的内容 |
|---|---|---|
| received | 通常不作为新版本依据 | 来源和授权是否确认 |
| processing | 按策略保留旧版或暂停 | 解析与索引是否完成 |
| active | 在适用范围内可使用 | 版本、权限和生效条件 |
| failed | 不假装已更新 | 失败原因、旧版风险与负责人 |
| withdrawn | 不得继续用于新回答 | 派生块、缓存与引用清理 |
| archived | 仅在获授权的历史查询使用 | 历史适用范围与保留政策 |
更新失败时是否允许继续用旧版本,由资料重要性与业务规则决定。价格和安全操作说明可能需要暂停相关回答;低影响资料可以保留旧版并明确更新时间。系统不能默默继续回答,再把“上传成功”当作资料已生效。
派生内容与缓存怎样一起清理
原文可能生成文本块、向量、摘要、搜索标题和答案缓存。每项都要能关联父文档与版本。撤回后先阻止继续用于回答,再按既定流程清理,防止清理任务延迟期间仍被检索。
缓存使用的数据版本和范围应可检查。若某文档撤回,应使依赖它的缓存失效或在读取时拒绝使用。没有保存证据关系的纯答案缓存,往往难以判断哪些结果受影响。
引用入口也要更新。原链接已失效,回答中不能继续展示一个看似可核实的来源;历史资料若被允许保留,需明确版本与适用时段。资料撤回不意味着可以绕过企业保留要求随意删除审计记录。
做一次更新、撤回与恢复的演练
在隔离环境验证
- 发布教学规则 A
提问并保存答案、来源版本和派生块标识。
- 更新为规则 B
等待约定同步流程,检查新回答与来源是否一致。
- 模拟处理失败
确认系统能显示失败,不把未生效内容宣称为已更新。
- 撤回文档
测试新查询、缓存命中、历史会话及引用入口。
- 恢复获授权版本
检查是否重新索引,不能假设恢复文件自动刷新所有派生数据。
演练记录传播耗时与失败位置。若要求及时撤回,控制层应能立即禁止使用对应版本,后台清理可以继续进行。允许的延迟与恢复条件要在项目中明确。
回答端怎样识别版本问题
回答前核对证据的状态、适用范围与授权。多个资料发生冲突时,不让模型只按发布日期选一个;返回冲突位置和需要确认的条件,必要时暂停确定性结论。
对历史问题,用户需要明确业务发生时间。对于“今天能退吗”,应按当前业务日期和适用条款检查;对于“去年为什么这样处理”,则可能查询历史版本并说明当时条件。
展示更新时间有帮助,但它只能说明系统记录的时间。不要用“实时更新”这类承诺掩盖批处理同步、来源人工维护或失败重试的实际限制。
谁来负责知识的新鲜度
资料负责人确认内容和生效范围,系统维护者处理同步与告警,业务负责人决定同步失败时的使用限制。三种责任应有具体入口,不把所有旧规则问题都推给模型团队。
先挑一份经常变动且影响明确的资料,补齐标识、版本、适用日期和撤回方式,再扩展到其他资料。本文适合企业制度、产品和客户服务知识库;某些连接器的删除能力、保留机制与版本行为需要单独验证。
常见问题
每天全量重建索引是不是最省事?
小库可以考虑,但仍要管理权限、撤回窗口、失败恢复和缓存。大库还需评估处理成本与可用性。全量重建不能替代业务生效日期管理。
删掉原文件后为什么还能回答?
索引、分块、摘要、缓存或历史上下文可能保留旧内容。沿派生关系检查,并验证撤回是否真正传到新回答和引用路径。
资料来源与核对说明
文章中的行业定义与技术方法尽量引用官方或标准组织资料;表格、清单和决策框架是基于这些资料形成的编辑性整理,不代表来源机构对本站服务的背书。
- Change and delete detection using indexers for Azure Storage in Azure AI SearchMicrosoft Learn
明确变更检测与删除检测不同;本文治理流程适用于自建系统设计,Azure 配置有自身前提。
带上流程、样例和目标,添加企业微信沟通。先确定项目范围与验收方式,再安排实施。


