"Collaborative Memory: Multi-User Memory Sharing in LLM Agents with Dynamic Access Control" 论文笔记
一篇 LLM Agent 多用户协作记忆管理工作,目前挂在 Arxiv 25.05 上,针对多用户、多 Agent 场景下信息不对称和动态权限问题,提出了 Collaborative Memory 框架
背景
现有的 LLM Agent 记忆系统(如 MemGPT、MemTree、GraphRAG)主要集中在单用户、单 Agent 场景,假设集中式、全局可见的记忆存储。然而,在真实的企业级协作场景中(如企业助理、多用户生产力平台、分布式工作流系统),天然存在:
-
信息不对称:不同用户有权访问不同的 Agent,每个 Agent 又连接不同的资源,记忆系统必须强制执行这些不对称性以防止未经授权的信息共享
-
动态访问模式:随着角色、策略和任务需求的变化,用户的权限可能随时被授予或撤销
因此本文提出了 Collaborative Memory 框架,其主要研究一个核心问题:如何在最大化集体记忆效用的同时,确保信息共享符合谁、在何时、共享什么的细粒度权限约束
方法
整体框架

Collaborative Memory 的核心设计包含三大组件:动态二部访问图、双层记忆系统和细粒度读写策略。
动态二部访问图
将所有权限关系建模为随时间演变的二部图:
-
用户-Agent 图 \(G_{\mathcal{U},\mathcal{A}}(t) \subseteq \mathcal{U}\times \mathcal{A}\):表示用户在时刻 \(t\) 可以调用哪些 Agent
-
Agent-资源图 \(G_{\mathcal{A},\mathcal{R}}(t) \subseteq \mathcal{A}\times \mathcal{R}\):表示 Agent 在时刻 \(t\) 可以访问哪些资源(工具、API、数据库等)
这种形式化方法支持权限的实时授予和撤销,为后续的记忆访问检查提供依据。
双层记忆系统
为了平衡隐私保护和知识共享,每个 Agent 维护两套记忆:
-
私有记忆 \(\mathcal{M}^{\mathrm{private}}\):仅对产生该记忆的原始用户可见,存储敏感或个人化的信息
-
共享记忆 \(\mathcal{M}^{\mathrm{shared}}\):可以在满足权限约束的条件下跨用户共享,存储通用知识
每条记忆片段 \(m\) 都带有不可篡改的溯源属性:创建时间 \(\mathcal{T}(m)\)、贡献用户 \(\mathcal{U}(m)\)、涉及的 Agent 集合 \(\mathcal{A}(m)\) 和访问的资源集合 \(\mathcal{R}(m)\)。这些属性支持回溯式权限校验。
细粒度读写策略
读策略 \(\pi_{u,a,t}^{\mathrm{read}}\):当 Agent \(a\) 服务用户 \(u\) 时,只能读取满足条件的记忆片段:
即:记忆涉及的所有 Agent 必须都是当前用户可调用的,涉及的所有资源必须都是当前 Agent 可访问的。
写策略:分为私有写 \(\pi^{\mathrm{write/private}}\) 和共享写 \(\pi^{\mathrm{write/shared}}\),可以对输出进行匿名化、脱敏、改写后再存入对应记忆层。
读写策略可以在系统级、用户级、Agent级、时间级等多个粒度进行配置,具有很高的灵活性。
Query Decoding 式的信息流转
结合论文中的 Pipeline 图可以发现,整个多 Agent 协作的处理流程可以概括为 Coordinator → Agents → Aggregator 的三阶段模式:
-
Coordinator:接收用户 Query,根据访问图和任务需求,选择下一个要调用的 Agent,输出
{"agent": ID, "subquery": ...} -
Agents:被选中的 Agent 根据读策略获取可访问的记忆片段,结合可访问的资源生成响应,响应内容通过写策略更新记忆
-
Aggregator:当 Coordinator 判定任务完成(输出
{"stop": true})后,Aggregator 将所有 Agent 的中间输出合成为最终回答
实验
实验设置
-
LLM 基座:所有组件(Coordinator、Agents、读写模块、Aggregator)均使用 GPT-4o,向量嵌入使用
text-embedding-3-large -
三个场景:
-
全协作记忆:所有用户无限制访问共享记忆池
-
非对称协作记忆:用户具有不同权限级别,部分用户只能访问 Agent 子集
-
动态演化协作记忆:权限随时间动态授予和撤销
-
场景 1:全协作记忆(MultiHop-RAG 数据集)
-
数据集:609 篇新闻文章(6 个领域:科技、娱乐、体育、科学、商业、健康),2556 条多跳问题
-
配置:5 个用户,6 个领域专家 Agent,每个 Agent 独占一个知识库
-
结果:共享记忆相比隔离记忆,资源使用量最多降低 61%(50% 查询重叠率),准确率保持在 0.90 以上

场景 2:非对称协作记忆(合成业务数据集)
-
数据集:200 条商业项目查询(市场分析、物流规划、财务预测等)
-
配置:4 个用户角色(市场研究员、财务分析师、物流主管、策略总监),权限层级化(策略总监可访问所有 Agent)
-
结果:即使有限的跨用户可见性,也比完全隔离配置显著减少了 Agent 调用和知识库查询次数

场景 3:动态演化协作记忆(SciQAG 数据集)
-
数据集:5 个 Agent 分别对应 5 个科学类别(分析化学、能源燃料、材料科学等),100 条查询
-
动态过程:这里的动态变化只发生在用户与 Agent 之间的连接上。每 100 条查询为一个时间块,依次增加用户-Agent 边数(5→10→15→20→25),再逐渐撤销(20→15→10→5)
-
结果:准确率随权限增减同步变化,但资源查询次数持续下降——说明记忆机制有效复用了之前检索的信息,减少了对外部资源的重复访问

局限性
-
数据获取困难:真实多用户协作场景受隐私法规限制,实验依赖现有基准和合成数据
-
规模问题:中小规模实验(5 用户、5-6 Agent),尚未在大型企业级高并发环境中验证
-
LLM 幻觉:尽管有权限检查机制,LLM 的概率特性仍可能导致偶然的策略违规
-
延迟评估简化:用资源调用次数替代真实 API 延迟分析
总结
Collaborative Memory 是首个系统性地将细粒度访问控制引入 LLM Agent 多用户记忆共享的框架,个人觉得是一个很好的工作,但是可惜评估方面略为苍白,没有 baseline 看不出效果

浙公网安备 33010602011771号