跳到主要内容

最佳实践:多 Agent 记忆与生产架构

七天实战

边学边练请访问 7 天学会 Memory Engineering:首页记忆分层可视化、/learn 七天课表、/lab 五个本地沙盒、社区与资源矩阵。

前置

开发期流水线见 开发指南。本篇对齐子站 Day6(多 Agent)Day7(生产架构)

设计原则(写进团队手册)

  1. Working 是稀缺资源:一切从 Token 预算倒推。
  2. 写入有门禁:importance、去重、冲突、权限不过则不进 LTM。
  3. 检索带证据:注入条目必须带来源与时间。
  4. 遗忘是功能:删除、归档、衰减、合规擦除可产品化。
  5. 评估驱动:无离线集与在线指标,禁止玄学调参。
  6. 多租户默认隔离tenant_id / user_id 是索引前缀,不是可选字段。
  7. 多 Agent 有协议:共享不等于无权限广播。

1. 多 Agent 记忆:是什么、为什么、怎么发展、怎么落地(Day6)

1.1 四种架构模式

模式是什么优点风险落地建议
共享池 Shared Pool全员读写同一存储实现简单污染与竞争仅限只读世界知识
分层 Hierarchical全局 + 团队 + 个人清晰隔离同步复杂生产默认首选
消息传递经消息交换片段解耦易丢、难审计配投递保证与日志
联邦 Federated私有库 + 按需摘要共享隐私好摘要失真敏感域/跨公司协作

为什么需要分层? 一个 Agent 写错偏好,共享池会让全队立刻「信谣」。分层让错误半径可控。

怎样发展? 从单 Bot 外挂向量 → 多角色 Crew 共用 State → 出现 Memory Specialist / 记忆中枢 → 企业级 RBAC 与联邦摘要。

1.2 团队记忆写什么

  • 规范与 Definition of Done
  • 决策记录(ADR 式:背景、选项、结论、反对意见)
  • 任务状态与交接日志
  • 共享约束(安全基线、品牌语气)
  • 不写:个人凭证、未脱敏用户 PII、测试沙箱脏数据

1.3 写入协议

协议流程适用
提议-投票-提交propose → quorum → commit决策、规范变更
权威覆盖Tech Lead / 记忆管理员直接写紧急热修
三路合并以时间为基线合并冲突字段分布式异步编辑
class TeamMemory:
def __init__(self) -> None:
self.global_kb: dict = {}
self.team: dict = {}
self.private: dict[str, dict] = {}

def propose(self, agent: str, key: str, value: object) -> dict:
return {"key": key, "value": value, "by": agent, "votes": set()}

def vote(self, proposal: dict, voter: str) -> None:
proposal["votes"].add(voter)

def commit(self, proposal: dict, quorum: int = 2) -> bool:
if len(proposal["votes"]) >= quorum:
self.team[proposal["key"]] = {
"value": proposal["value"],
"by": proposal["by"],
"voters": sorted(proposal["votes"]),
}
return True
return False

1.4 共享协议与冲突

机制用途
订阅A 关注 B 的某类更新(如偏好变更)
查询经中枢检索,统一鉴权
广播身份验证通过等关键事件
委托记忆专员 Agent 代管某命名空间

冲突解决优先级建议:来源权威 > 用户确认 > 置信度 > 时间戳。离线 Agent 上线做增量同步,拒绝静默覆盖 pinned 事实。

1.5 权限模型最小集

级别可见范围示例
public_team全员迭代目标
restricted角色组薪资相关讨论摘要禁止进入
private_agent单 Agent推理草稿
user_sensitive指定服务角色身份证号哈希仅风控可读

测试 Agent 必须使用独立 namespace,禁止指向生产集合。

2. L1–L4 分层存储(Day7)

介质延迟存什么
L1模型上下文毫秒Working 拼装结果
L2Redis 等亚毫秒–毫秒热会话、热偏好
L3向量库 / KG / SQL十毫秒级温长期记忆
L4对象存储 / 湖百毫秒+冷归档、原始审计

Memory Service 化:独立进程提供 gRPC/HTTP,Agent 无状态水平扩展;记忆层单独扩容与备份。

3. 多租户与数据面隔离

手段说明
强制过滤器所有查询自动注入 tenant_id
集合/分区大租户独立 collection
密钥分离租户级加密密钥(企业场景)
配额写入 QPS、存储上限、检索 TopK 上限
导出/删除GDPR 式数据包与证明删除

红队必测:伪造 user_id 读邻租户,应 100% 失败。

4. 可观测性

最少指标:

指标含义告警思路
write_accept_rate门禁通过率突降至过严或攻击
recall_hit_rate检索是否命中评测键下滑查索引/模型
inject_token_p95注入 Working 的 token预算失控
end_to_end_p95检索+重排延迟升 ef 或扩容
conflict_rate矛盾事实比例巩固质量差
forget_lag删除到不可检索延迟合规风险

追踪字段:trace_idtenant_idmemory_ids[]rerank_modelembedding_version

5. 评测指标

指标测什么
Recall@K / MRR该找回的记忆是否进 TopK
Faithfulness回答是否有记忆证据支持
Timeliness过期偏好是否仍被注入
Personalization偏好是否改变行为
Harmful retention敏感内容是否被错误保存
Isolation跨用户泄漏率(目标 0)

维护 50–200 条黄金场景,CI 中跑;模型升级必须对比报告。

6. 安全与隐私

主题实践
提示注入用户内容与系统指令分通道;写入分类器
最小化能存哈希不存明文;能存摘要不存全量录音
访问控制服务账号最小权限;人管记忆需审批
保留期默认 TTL;法律保留单独标记
供应商第三方 Memory SaaS 签 DPA,明确训练禁用

7. Oncall Runbook(提纲)

  1. 检索全空:查 embedding 版本是否漂移、过滤条件是否过紧、集合是否指错环境。
  2. 串租户嫌疑:立刻切只读、导出审计、比对过滤中间件版本。
  3. 延迟飙升:降 efSearch、关重排实验开关、扩副本。
  4. 写入风暴:启配额、检查是否被工具循环写入。
  5. 错误偏好扩散:按 memory_id 批量吊销,重建画像快照。
  6. 回滚:记忆 schema 与索引版本绑定发布,支持一键指回上版 collection。

8. 反模式

反模式后果纠正
全员共享一个向量集合串数据、谣言放大分层 + 过滤
反思原文直接当真理策略漂移打分与人工抽检
无限重试写入放大故障熔断与幂等键
只监控 LLM 延迟不监控检索误判根因记忆黄金指标
生产直接调参无评测不可逆体验回退门禁实验平台

9. 上线检查表

  • 租户过滤集成测试通过
  • forget 在约定 SLA 内不可检索
  • L1–L4 容量与备份演练完成
  • 评测集基线入库
  • Oncall 手册与值班表就绪
  • 多 Agent 写入协议有 ADR
  • 红队:注入、越权、矛盾记忆

10. 前沿如何克制采用

HippoRAG、神经符号、可微分记忆等值得跟踪,但生产采纳标准是:可观测、可回滚、可评测、有租户隔离。先在影子流量验证,再小流量。

11. 成本治理(生产必谈)

成本项驱动因素治理手段
Embedding每条写入/重嵌批量、去重后再嵌;换模型慎重建
LLM 摘要/巩固每日全量回顾只巩固高 importance;限额条数
重排Cross-Encoder 对候选打分初筛 Top50→精排 Top8
存储无限情景原文TTL + 冷归档;画像替代重复句
人工审核冲突与隔离区抽检比例随风险调节

设立月度预算看板:按租户拆分写入量与检索 QPS,超额降 TopK 而非静默欠费宕机。

12. Schema 演进与版本

记忆字段会变(新增 locale、拆分 affective)。规则:

  1. 只增不改语义:旧字段废弃用 deprecated_at,读取兼容两版。
  2. 索引版本schema_versionembedding_version 一起发布。
  3. 双写窗口:迁移期写新读旧+新,验证后切读。
  4. 禁止在线改边类型含义而不跑回填。

把重大变更写成 ADR:背景、选项、回滚、对评测集的影响。

13. 跨团队 RACI(简表)

活动产品应用研发平台/记忆组安全合规Oncall
定义记什么ACCCI
写路径门禁CARCI
索引与容量ICAIC
评测集维护CARII
事件响应ICCCA

R=执行,A=问责,C=协商,I=知会。避免「人人都能改生产集合、出了事无人认领」。

下一步