直接回答
本地 AI 应用中的“删除”应是一份覆盖数据清单的契约,而不只是按钮文案。实现删除前,要列出原始输入以及可能留下的每类派生数据:转录、摘要、嵌入向量、搜索索引、缩略图、临时张量或缓存、导出文件、模型引用、日志和操作系统备份。`RAG-01` 将本地检索生成拆成从导入到生成的多个独立阶段,因此只删可见文档记录可能仍会留下派生项。`PRIVACY-01` 也提醒,推理位于设备并不能推出其他数据路径不存在。必须说明应用可以控制哪些副本,以及用户主动导出的副本或平台托管备份怎样处理。 模型文件删除与用户内容删除是两件事。移除应用拥有的模型制品不应顺便抹掉用户笔记或历史记录;删除一条会话也不应把另一个功能仍在使用的共享模型文件删掉。反过来,若删除源文档却保留可搜索的向量或答案片段,敏感信息仍可能被检索到。应设置独立且范围清楚的用户操作,必要时确认不可逆后果。“隐藏”或归档不是删除;清空界面但仍保留 Room 数据行或嵌入向量也不是删除。 建立源数据到派生数据的关系图。每条关系要注明生成该派生项的组件、存储位置、稳定关联键、删除触发条件,以及是否会进入备份或导出。失败状态也要覆盖:例如后台 Worker 可能已经写入转录,父操作却还没标记为完成;索引任务也可能在删除后重建向量。因此,若只删除当前向量记录,队列或重建任务仍可能把它恢复。清理过程应可安全重试、重复执行不产生副作用;某个应用自有存储未确认清理时要报告部分失败,而不是假称成功。 Android 系统备份需要单独处理。Auto Backup 默认可能包含大部分应用数据;Android 12 及以上的数据提取规则区分云备份与设备迁移,两种模式的包含和排除规则可以不同。不能声称删除数据库就删掉了系统服务已经持有的备份,也不能在未检查真实规则和测试配置时断言某个文件一定不备份。应说明应用删除覆盖本地状态、平台按照公开行为处理备份,还是还需用户执行其他动作。普通应用级删除并不能证明存储块或外部副本被物理覆盖,因此避免承诺“彻底擦除”。 使用带标签的合成记录测试删除,不要拿真实用户隐私数据做固定样例。创建一条源记录,并在每个存储组件中产生已知派生项;随后执行删除、关闭重开应用、搜索、导出、触发队列、在适用时重建索引,并按配置执行备份/恢复测试。正反两面都要核验:界面记录消失、派生项不可返回、无关模型资产和用户记录仍存在;若某个存储清理失败,界面应如实报告部分失败。也要检查日志和通知是否夹带内容片段。架构、嵌入方式、缓存或备份规则改变后,重新跑这些测试。 界面应具体说明删除范围,例如“移除此条本地会话及其派生搜索记录”,比含糊的“擦除全部”更有用。对于用户导出的副本或系统管理的备份边界,可以说明,但前提是实现和平台行为已确认。把删除矩阵与数据流图一起维护,才能给出范围诚实、能复核的承诺,而不扩张成没有依据的绝对删除或隐私保证。
删除文档时也必须清除可搜索派生项
用户导入一份私人文档并提问,之后从资料库中移除它。应用在不同组件中保存原文件、提取片段、本地嵌入向量和缓存答案片段。
决策
按源文件关联执行删除,枚举每个应用自有派生项并逐个报告;模型制品移除仍是另一项操作。
预期结果
删除后重启和搜索都找不到文档及其派生数据,同时无关对话记录和共享模型仍保留。
需要收集的证据
只有将以下证据与同一模型文件和测试运行关联起来,结论才可复核:
- RAG-01:本地检索生成包含多个独立处理阶段
- PRIVACY-01:本地推理不等于其他数据流不存在
- ANDROID-AUTO-BACKUP-2026-01:Android 备份规则与迁移模式
隐私声明需要数据清单和流量证据;“本地模型”标签本身不是证明。
实施流程
- 列出源数据和派生项. 追踪原件、解析文本、摘要、向量、索引行、缩略图、缓存、临时文件、导出、日志和备份规则。标出每个存储所有者及源数据与派生项的关联标识。
- 分别定义删除范围. 分别规定删除源项目、会话、派生索引、模型制品和全部应用数据的操作。说明确认、可逆性,以及每项操作会有意保留的内容。
- 让清理可重试且可观察. 以可安全重试的顺序删除关联记录。协调后台任务与索引重建,避免重建已删除内容;应用自有存储未确认完成时报告部分失败。
- 测试重开、搜索、导出与恢复. 使用合成标签记录,执行删除、进程重启、索引查询、导出、后台任务和配置范围内的备份恢复测试,并确认无关数据仍保留。
- 存储变化时同步更新说明. 新增派生项、缓存、导出路径或备份规则后,先更新数据图、删除矩阵、用户文案与回归样例,再进入发布流程。
让每个阶段的状态都可观察。失败信息应指出阶段、模型、运行时和恢复动作,同时避免记录用户私密内容。
验收标准
- 每种应用自有派生项均有源关联和删除行为,包括待执行的后台任务与索引重建路径。
- 合成测试证明删除后重开和搜索都找不到记录及派生项,同时无关用户数据和共享模型仍在。
- 产品文案区分应用控制的删除、用户导出和平台备份,不作缺少证据的物理擦除保证。
决策对照表
| 维度 | 选择或证据 | 解读方式 |
|---|---|---|
| 隐藏或归档 | 从当前界面移除 | 改善可见性,但源数据和派生数据可能仍保留。 |
| 删除源项目 | 级联清理所有关联的应用数据 | 需要清单、稳定关联、后台任务协调和复核。 |
| 删除模型制品 | 移除共享推理依赖 | 与用户内容删除分开,不能悄悄清掉会话或导出。 |
需要避免的失败模式
- 只删界面上的一行
- 删除用户历史时顺带删除共用模型
- 未经验证承诺物理擦除所有副本
还要避免静默回退、版本未固定、缺少取消处理,以及把不同配置的结果混在一起下结论。失败运行也应与成功记录一并保存。
最小复现记录
| 层级 | 记录内容 |
|---|---|
| 设备 | 厂商、型号、芯片、内存档位、操作系统版本 |
| 软件 | 应用版本和 Git 提交号 |
| 模型 | 系列、变体、版本、格式、文件长度、摘要、量化方式 |
| 运行时 | 名称、版本、请求后端及实际后端证据 |
| 工作负载 | 样例版本、输入摘要、提示词摘要、输出策略 |
| 结果 | 完成、失败、取消、回退及保护隐私的诊断信息 |
发布检查表
- ☐ 主要搜索问题已回答,且没有未经支持的数字。
- ☐ 所有模型文件和运行时版本均已固定。
- ☐ 代表性任务和失败处理策略均有说明。
- ☐ 生命周期、取消、清理和回退均已测试。
- ☐ 用户内容与网络边界均有说明。
- ☐ 结论只适用于被记录的配置。
- ☐ 新增测试结果时链接到原始方法或证据。
来源与相关证据
中文部署与排错专题见。奇连 AI 端侧专题。
常见问题
删掉文档记录就会删除嵌入向量吗?
只有实现把该记录关联到每个派生索引条目并执行清理时才会。删除后要重开应用并搜索,不能假设级联覆盖所有组件;还需检查排队的索引任务。
卸载应用能证明所有备份都消失吗?
不能。Android 备份行为由单独配置和平台管理。应核实实际规则并说明边界,不要声称控制所有外部副本或系统备份副本。
应用能保证物理安全擦除吗?
普通数据库删除本身不能证明做到物理擦除。没有独立证据时,不应宣称覆盖全部存储块、备份文件或用户导出的其他副本。