控制管线
如果一套记忆系统只有写入和召回,没有查看、删除、归档、失效和模式切换能力,那它本质上就是不可控的。控制管线存在的意义,就是把用户对系统的主导权真正落实到产品链路里。
控制管线覆盖的能力
| 能力 | 说明 |
|---|---|
| 列表与详情 | 查看已有稳定记忆和历史材料 |
| 删除 | 删除指定对象,必要时保留 tombstone |
| 状态变更 | 归档、失效、恢复 |
| 模式切换 | manual / assistive / temporary |
| 自动写入开关 | 允许或禁止自动写入 |
| 审计查询 | 查看关键写操作和凭证生命周期 |
主流程
User / Admin
-> Adapter / Web Console
-> API Gateway
-> Memory Control Service
-> Identity & Namespace 权限校验
-> Stable / History / Settings / Audit
为什么要把控制流独立出来
删除、失效和归档看起来像简单状态更新,但实际上它们属于高风险操作,至少要处理以下问题:
- 当前调用方有没有权限操作这条数据
- 操作后是否还参与默认召回
- 是否需要同步更新检索状态
- 是否需要保留 tombstone 供其他客户端同步
- 是否要写审计记录
如果这些逻辑散落在多个列表接口、详情接口或前端页面里,系统会很难保证行为一致。
常见控制操作的语义差异
删除
删除表示用户希望对象从主视图与默认召回里消失。为了兼顾同步与恢复能力,第一阶段更推荐采用带保留窗口的 tombstone 策略,而不是立即物理清除。
归档
归档表示“先别在默认召回里出现,但我不认为它是错误的”。这类状态对知识沉淀很重要,因为很多记忆不是无效,而是当前阶段不需要常驻。
失效
失效强调“这条内容已经不再准确”。和归档不同,它会影响调用方对这条内容的信任度,因此在召回结果和管理界面里都应更显眼。
模式切换
模式切换不是单纯的偏好设置,而是写入链路的边界控制:
manual:只允许显式写入assistive:允许系统建议或受控自动化temporary:禁止任何长期写入
其中 temporary 的存在非常关键,因为它为敏感讨论和一次性任务提供了明确的“不要留下长期痕迹”承诺。
控制流为什么是信任基础
用户愿不愿意长期使用记忆系统,很大程度上不取决于“系统能记住多少”,而取决于“用户能不能随时收回来”。控制管线就是这层信任的具体落点。