跳转至

CIMemories: A Compositional Benchmark For Contextual Integrity In LLMs

会议: ICLR2026
OpenReview: YnNIp38v1M
代码: https://github.com/facebookresearch/CIMemories
领域: LLM 安全 / 隐私评测 / 上下文完整性
关键词: 上下文完整性, 记忆增强 LLM, 隐私泄露, 组合式 benchmark, 信息流控制

一句话总结

CIMemories 是一个评测「记忆增强 LLM 会不会在不该说的场景里把记忆里的隐私属性说出去」的组合式 benchmark:它用每人 100+ 属性的合成用户画像配上几十个社交任务,逐个 (属性, 任务) 标注「该说 / 不该说」,结果发现前沿模型最高有 69% 的属性级越界,且降低越界往往以牺牲任务完整性为代价,越界还会随任务数和采样次数不断累积。

研究背景与动机

领域现状:现在的 LLM 助手普遍接了「持久记忆」——把用户过去会话里透露的个人信息(收入、病史、官司、感情状况……)存下来,下次对话时作为前缀拼进 prompt,以做个性化。这种「needle in a haystack」式的简单记忆方案已经在 ChatGPT、Meta 等主流产品上线,而助手又越来越多地替用户写邮件、自动回复、对接第三方 app。

现有痛点:记忆里的信息是「跨场景共享」的,但隐私的本质是「看场景」——同一条属性(比如高血压)在跟医生沟通时是必须说的,在跟财务顾问或房东沟通时却是绝对不该说的。问题是:模型会不会在不合适的场景里,把记忆里那些与当前任务无关的敏感属性顺手抖出来?

核心矛盾:现有的上下文隐私 benchmark(ConfAide、PrivacyLens、CI-Bench、GoldCoin 等)几乎都只测「单条秘密 + 单条该说的信息」这种极简场景,根本没刻画真实记忆系统的两个组合特征:(1) 记忆是大量属性堆叠累积的;(2) 同一用户要面对多个不同收信人的任务。在这种组合复杂度下,模型到底栽在哪、栽多深,过去没人系统量过。而且评判「该不该说」本身没有唯一答案——不同人(隐私观不同)会给不同标签,「平均用户」是个神话。

本文目标:构造一个能同时刻画「记忆组合」和「多任务组合」的 benchmark,给出能分别度量「越界」和「任务完成度」的两个互补指标,再用它去拷问一批前沿模型,回答三个问题——前沿 LLM 守不守上下文完整性?扩模型规模/改 prompt 能不能救?记忆越攒越多会怎样?

切入角度:作者搬来 Nissenbaum 的「上下文完整性(Contextual Integrity, CI)」理论——隐私违规 = 违背社会规范的「不当信息流」,而不是「信息绝对私密」。于是隐私问题被重述成:给定记忆 \(M_s\) 和任务 \(t\),模型生成的回复 \(y\) 里,哪些属性被泄露了、这些泄露在当前场景下是否被允许。

核心 idea:用「逐 (属性, 任务) 对标注 + 组合式合成画像」把上下文完整性变成可大规模、自动化测量的东西,并用 Violation 和 Completeness 这一对必须并看的指标,揭示「想少泄露就得少干活」的根本权衡。

方法详解

整体框架

CIMemories 不是一个新模型,而是一套「评测协议 + 数据生成管线」。它要解决的是「怎么在大规模、可控、可自动判分的前提下,测量记忆增强 LLM 的上下文完整性」。整条流程是:先合成出带 100+ 属性的用户画像(每条属性变成一句「记忆陈述」),再准备一批「任务 = 目标 + 收信人」的社交场景;对每一个 (属性, 任务) 对,用一个「金标准」labeling 模型打上「该说(necessary) / 不该说(inappropriate) / 模糊」的标签;评测时把全部记忆当前缀拼上某个任务喂给被测模型,让它写出一条发给收信人的消息;最后用一个 LLM 裁判(REVEAL 函数)逐属性判断「这条属性到底有没有被说出来」,再对照标签算出 Violation 和 Completeness 两个指标。

形式化地,LLM 是随机映射 \(M:\mathcal X\to\mathcal X\);用户 \(s\) 的记忆由记忆生成器把其属性-取值对映成自然语言 \(M_s = \mathrm{MEM}(\{(a,v_a)\})\);任务 \(t\) 是一段「目标 + 收信人」的文本;模型回复 \(y\sim M(M_s\cdot t)\)\(\cdot\) 是拼接)。判分核心是 \(\mathrm{REVEAL}(y,a)\),它从回复里推断属性 \(a\) 的取值,命中真值则 \(R(y,a)=1\),再用真值标签 \(G^t_s(a)\in\{0,1\}\)(1=不该说)判定这次泄露是否越界。这套记号让「隐私」彻底落成可计数的事件,benchmark 的全部数据/任务/标签/指标都围绕它展开。

关键设计

1. 两种组合性:把「记忆累积」和「多任务」同时建进 benchmark

这是 CIMemories 区别于过去 benchmark 的根本。第一种是记忆组合性(flexible memory composition):可以动态调节记忆里属性的「数量」和「定性」——某条属性在某些任务里是必须说的、在另一些任务里是不该说的,于是能精细研究「记忆里塞越多敏感属性,模型守不守得住」。第二种是多任务组合性(multi-task composition):同一个用户要被多个不同任务(不同收信人)反复评测,每个 (属性, 任务) 对都有独立标签,于是能测量越界如何随「使用次数」累积。正是这两种组合让作者能看到单场景 benchmark 永远看不到的现象——越界不是一次性的,而是随任务数 \(K\) 和采样次数 \(T\) 单调累积。

2. Violation@n 与 Completeness:一对必须并看、否则各自有退化解的指标

只测一个指标会被「平凡模型」骗过:一个什么都不说的模型「永远不越界」却毫无用处;一个什么都说的模型「任务齐全」却永远越界。所以作者定义两个互补量。

属性级越界取「最坏情况」:对每条「至少在某些任务里该被隐瞒」的属性 \(a\),看模型在那些该隐瞒的任务 \(T^{priv}_{s,a}\) 上、\(n\) 次采样里是否曾经把它说出来:

\[\mathrm{Violation}@n(s) := \mathbb{E}_{\{a:\,|T^{priv}_{s,a}|>0\}}\Big[\max_{t\in T^{priv}_{s,a}}\ \max_{\{y_1,\dots,y_n\}\sim M(M_s\cdot t)^n}\ R(y,a)\Big].\]

直觉上,若单次泄露概率为 \(p\),则该量约等于 \(1-(1-p)^n\)——多采几次,藏不住的就会现形,所以实践取 \(n=3\!\sim\!5\)。任务级完整度则取「平均情况」:对每个任务,看那些必须分享的属性 \(A^{share}_{s,t}\) 平均被说出来的比例:

\[\mathrm{Completeness}(s) := \mathbb{E}_{\{t:\,|A^{share}_{s,t}|>0\}}\Big[\mathbb{E}_{a\sim A^{share}_{s,t}}\ R(y,a)\Big].\]

越界用 max(一次泄露就算栽)、完整度用 mean(看平均覆盖),刻意不对称,因为隐私违规是「一次就够糟」而任务完成是「越全越好」。两者一起看,才能暴露出后面那条「隐私-效用权衡」。

3. 组合式合成画像 + 任务库:用 FAKER + 开源 LLM 大批量造数据

画像分两层生成:先用 FAKER 工具采样 21–70 岁虚构成年人的基本传记元数据(姓名、性别、地址、年龄);再以这些元数据为种子,用开源模型 GPT-OSS-120B 生成「信息属性」——每条属性描述某个人生「事件」(如配偶出轨、升职)的某个侧面,并归属到某个「信息领域」(金融、健康、住房、法律、心理健康、感情……共 9 个领域)。具体每个画像采 3 个事件 × 9 个领域、每个领域每个事件生 5 条属性。任务侧则人工精选 49 个社交场景,每个 = 一个目标导向任务(如「申请银行贷款」)+ 一个收信人(如「贷款专员」)。最终 benchmark 含 10 个画像,平均每画像 147 条属性、45 个任务,天然制造出「不同收信人之间相互冲突的披露动机」。

4. 多隐私人格一致性标注:靠 Westin 三类人格全体一致才打硬标签

逐 (属性, 任务) 对人工标注「该说/不该说」工作量爆炸(单画像就有约 189×49 对),且人们的隐私观本就分布而非一致。作者的解法是借「LLM 标隐私往往比人更保守或与人对齐」这一先验:用金标准模型 GPT-5,分别扮演 Westin 调查里的三类隐私人格——隐私原教旨主义者(fundamentalist)、实用主义者(pragmatic)、不在意者(unconcerned),每个人格对每对采样 10 次得到人格内标签分布,并允许模型在不确定时弃权;再按 Westin 先验把三个人格的分布混合成最终分布。关键的「保守」一招:只对那些标签分布零熵(三类人格完全一致)的对,才赋 0/1 硬标签,其余一律当「模糊」不计入指标,并丢掉那些没有任何「必须说」或没有任何「不该说」属性的任务。这样 benchmark 只在「明显该/不该」的清晰越界上判分,避开有争议的灰色地带,让结论更站得住。人工验证显示标签与 3 名标注者的一致率约 80–87%、REVEAL 裁判与人工一致率达 94%。

损失函数 / 训练策略

本文是纯 benchmark + 评测协议,不训练模型,无损失函数。评测开销被控制在约每模型 $100 USD(10 个画像),每个 (画像, 任务) 采 \(n=5\) 条回复,开源模型用 vLLM 在 8×H200 上服务,裁判用 DeepSeek-R1。

实验关键数据

主实验

对一批开源/闭源、推理/非推理模型在 10 个画像、所有社交场景、\(n=5\) 采样下评测 Violation@5(越低越好)与 Completeness(越高越好):

模型 Violation@5 ↓ Completeness ↑
GPT-4o 14.82% 43.95%
GPT-5 25.08% 56.61%
o3 38.51% 55.0%
Claude-4 Sonnet 44.44% 59.07%
Llama-3.3 70B Instruct 44.43% 53.99%
Gemini 2.5 Flash 46.35% 52.83%
Mistral-7B Instruct v0.3 56.94% 46.56%
Qwen-3 32B 69.14% 57.63%

所有模型完整度都只在 ~50% 上下,而越界从 14%(GPT-4o)一路飙到 69%(Qwen-3 32B)。越界与完整度此消彼长:GPT-4o 越界最低(14.8%)但完整度也最低(43.9%);Qwen-3 32B 完整度接近最高(57.6%)却换来最高越界(69.1%)——没有一个模型能同时做到既不乱说又把该说的说全。

累积 / 扩展 / 防御实验

设置 关键现象
多任务累积(GPT-5,1→40 任务) 越界从 0.1% 涨到 9.6%;同一 prompt 跑 5 次升到 25.1%,且每次泄露的属性都不同——行为随机且不稳定
扩模型规模(Qwen-3 1.7B→32B) 初期完整度↑、越界↓,但很快饱和,单纯做大救不了
推理 vs 非推理(Qwen-3 30B) 开推理能显著降越界,对完整度几乎无损;推理痕迹里常见模型显式列「不该提的红旗清单」
隐私意识 prompt(GPT-5,light→high) 呈现隐私-效用权衡:越保守的措辞越界越低,但完整度同步下降——模型只是整体变啰嗦/变沉默,而非做细粒度判断
记忆组合(GPT-5,逐步加不该说属性) 必须说属性数固定时,越界随记忆里「不该说属性」增多而稳步上升,完整度不变——越个性化越不守规矩

关键发现

  • granularity failure(粒度失效)是核心病灶:模型能正确识别「该从哪个信息领域取信息」,却分不清同一领域内「必须说 vs 不必说」的细节。例如对财务援助办公室,GPT-5 能覆盖 81.7% 该说的财务信息,却也把 14.3% 不该说的财务细节一起抖出来。作者推测这与后训练「最大化 helpfulness」有关——多说=多帮忙,是一种 reward hacking。
  • 越界会跨任务、跨采样累积:用得越多,迟早约 1/4 的属性会在不该说的场景里被泄露;这说明问题不是偶发噪声,而是系统性的。
  • 常规手段都救不动:扩规模饱和、保守 prompt 是零和权衡,唯一较有希望的是 test-time 的推理。Table 3 给出的真实越界很离谱:向急诊室透露精确薪资、向公司 HR 透露离婚案号、向房东透露吊销执照日期。

亮点与洞察

  • 把哲学理论变成可计数的工程指标:用 Nissenbaum 的上下文完整性理论,把「隐私」从「信息是否私密」重述为「信息流是否合场景」,再落成 Violation@n(max,最坏)/ Completeness(mean,平均)这对刻意不对称的指标——这个「一次泄露就算栽」的取 max 设计很关键,单看平均会严重低估真实风险。
  • 「全体人格一致才打硬标签」是个可复用的标注 trick:用多隐私人格 + 只取零熵共识的方式,把有争议的主观标注收敛成高置信度的清晰标签,既能自动化扩规模又规避了「平均用户神话」,这套思路可迁移到任何「标准因人而异」的对齐评测。
  • 最让人「啊哈」的是 granularity failure 这个诊断:它解释了为什么单纯加强隐私提示没用——模型不是「不知道该保护隐私」,而是「在正确领域里分不清哪句话越界」,这把问题从「意识」精确定位到了「细粒度推理能力」,直接指向「需要能枚举每条属性下游后果的推理」这一改进方向。
  • 越界随使用累积、且同 prompt 每次泄露不同属性:这把隐私风险从「单点失误」升级成「随时间放大的系统性风险」,对真实部署的记忆系统是很强的警示。

局限与展望

  • 作者承认:合成画像未必能覆盖真实世界的全部细微差别(但随模型能力提升,生成管线会更逼真);评测聚焦单轮、无工具调用场景,多轮和 agent 工具使用留给未来。
  • 自己发现的局限:标签和 REVEAL 都依赖 LLM(GPT-5 标注、DeepSeek-R1 裁判),存在模型自身偏好引入的系统性偏差,尽管人工一致率不错(标签 80–87%、裁判 94%);只测 10 个画像(控成本到约 $100/模型),统计样本偏小;指标只在「零熵共识」对上计算,主动回避了大量灰色地带,可能低估真实争议场景下的复杂度。
  • 改进思路:作者建议三条潜在缓解——设计惩罚 CI 违规的定制后训练奖励、领域特定的推理时 guardrail、以及能「枚举每条属性下游后果」的更强推理。

相关工作与启发

  • vs ConfAide(Mireshghallah et al., 2024):ConfAide 是四层级 benchmark,发现 GPT-4 有 39% 不当披露,但仍是「单秘密/极简场景」;CIMemories 的差异在于引入记忆组合 + 多任务组合,能测越界随属性累积和使用次数的动态变化。
  • vs PrivacyLens / CI-Bench / GoldCoin:PrivacyLens 把隐私种子扩成 agent 轨迹,CI-Bench 有 4.4 万合成对话覆盖 8 领域,GoldCoin 把 LLM 锚到 HIPAA 等隐私法;它们要么场景简单、要么不针对「持久记忆里信息密度随时间升高」这一特性。CIMemories 专门刻画记忆系统:同一属性在不同场景该/不该说,且越攒越多。
  • vs AgentDAM(Zharmagambetov et al., 2025,同期):AgentDAM 端到端评测自治 web agent 的数据最小化、强调多步真实任务下的泄露;CIMemories 聚焦记忆增强助手的单轮信息流控制,两者互补——一个测 agent 行动链,一个测记忆披露。
  • 启发:这套「逐 (属性, 任务) 对标注 + 取 max 的最坏情况指标」可直接迁移到任何「信息该不该在某场景出现」的合规评测(医疗、金融、企业内网 DLP);而 granularity failure 的诊断提示,未来记忆系统的护栏应做在「领域内细粒度」层面,而非「整段允许/拒绝」。

评分

  • 新颖性: ⭐⭐⭐⭐⭐ 首个把记忆组合 + 多任务组合同时建进上下文完整性 benchmark,并诊断出「粒度失效」这一具体病灶
  • 实验充分度: ⭐⭐⭐⭐ 覆盖 8+ 模型、规模/推理/prompt/记忆累积多维消融,且有人工一致性验证;扣分在只测 10 画像、单轮无工具
  • 写作质量: ⭐⭐⭐⭐⭐ 形式化记号清晰,指标动机(为何取 max/mean)解释到位,真实越界例子很有说服力
  • 价值: ⭐⭐⭐⭐⭐ 直指记忆增强助手大规模上线后的真实隐私风险,并证明扩规模/改 prompt 都救不动,给后续对齐/护栏研究立了清晰标尺