原子概念
并发记忆写入与幂等
version/CAS/事务、event ID去重、读后重试、细粒度事实项与冲突可见性。
检索别名:CAS · optimistic concurrency · lost update
01 输入
- 事实当前版本与新事件
- expected revision和幂等ID
02 处理机制
- 事务或CAS检查读写版本
- 冲突后重新读取与语义裁决
- 幂等提交并返回实际revision
03 输出与证据
- 无丢失更新的事实状态
- 可审计冲突与重试
两个正确更新也可能合成错误结果
两个Session同时读取同一profile,一边更新语言偏好,另一边更新项目角色;若都提交整个旧档案,后写者可能覆盖先写者的新值。每个Agent各自推理正确,系统最终状态仍会丢失信息。这是并发写入问题,不能只靠提示词要求“不要覆盖”。
PostgreSQL事务隔离文档解释不同隔离级别及并发行为。实现可选择事务、行锁或乐观版本检查,关键是将读、比较和写组织成明确合同。更强隔离也可能要求应用处理重试,不能将数据库错误隐藏后假装记忆已保存。
小粒度与版本检查配合
建议为事实项保留version,提交时声明expected revision;冲突则读取最新值,重新判断是否仍需更新。profile可以使用受校验的patch减少全量改写,但patch也必须对应明确版本,不能按旧字段位置修改已变化的结构。
原始事件使用稳定event ID,记忆整理按事件幂等。任务重试、worker恢复或同一消息重复投递时,不应产生多个相同事实;但两个语义接近、时间不同的真实事件也不能被粗暴去重。
冲突保留语义决定
版本检查只发现同时修改,不能自动裁决谁更权威。用户明确纠正、正式资料更新和后台模型推断要按信任与时间处理。特别是旧后台job在用户撤回后完成时,必须拒绝恢复已禁用值,而不是因提交更晚就当成最新事实。
验收用可控并发同时更新不同字段、同一字段、纠正与撤回,检查无丢失更新、无重复事实和可解释冲突。再模拟提交成功但客户端超时,确认重试依赖幂等身份。需要报告真正落库的revision,而不是模型生成的“记住了”回复。
RELATIONSHIP MAP
与其他节点的关系
箭头从本节点指向目标;关系是工程分析映射,不代表厂商合作或已披露的内部实现。
哪些节点指向本页 · 2
- PostgreSQL与pgvector — 实现 → 并发记忆写入与幂等
关系事务实现事实项更新
- 同步与后台记忆整理 — 依赖 → 并发记忆写入与幂等
后台和在线同时写会冲突
PRIMARY SOURCES
来源与阅读边界
来源按研究截止日整理。官方文档说明能力和约束,代码只证明对应版本,论文与讲座不自动证明生产效果。 资料截止:2026-10-15。
- PostgreSQL:Transaction isolation ↗官方文档 / 声明
- Zep:expected_revision更新示例 ↗官方文档 / 声明