1. 问题与动机
LLM 购物代理越来越依赖长期购买历史和多轮交互实现个性化,但直接将原始历史拼接到 prompt 中效果不佳——存在噪声过多、长度过长、与当前查询相关性不匹配等问题。实验数据显示,使用 GPT-4.1-mini 直接添加类内商品上下文仅带来 +0.11 的绝对提升;即使组合类内和跨类上下文,改善也仅有 +1.55 个百分点(从 32.47% 到 34.02%)。
现有记忆框架如 Mem0 和 MemAgent 虽然指出「检索大量原始历史可能引入噪声,不如使用紧凑、显著的记忆表示」,但缺乏专门为下游排序任务优化偏好摘要的机制。核心矛盾在于:通用的记忆提取没有任务感知性,生成的偏好摘要可能对排序毫无帮助。
更进一步,原始购买历史长度的影响呈非单调性:GPT-4.1-mini 在 40 个类内 + 10 个跨类商品时表现最佳(35.26%),而 o4-mini 在 10 个类内 + 40 个跨类时最优(37.32%)。这表明「更多历史数据并不可靠地提升性能」,不同能力的模型对历史长度的利用方式截然不同。
2. 方法详解
MemRerank 框架(两阶段流水线)
阶段一:偏好记忆提取
输入为用户购买历史,分为类内(within-category)和跨类(cross-category)两部分。记忆提取器(LLM)将原始历史蒸馏为结构化记忆,使用 XML 标签组织(<within_memory>、<cross_memory>)。关键特性是查询无关性(query-independent):记忆只需生成一次,即可跨会话复用。
Prompt 设计实验:三种 prompt 变体的对比揭示了关键设计选择:
- v1(固定方面):预定义偏好维度,过于刚性,限制了偏好发现
- v2(无约束):完全自由生成,记忆缺乏焦点
- v3(引导式+灵活):提供轻度结构引导 + 允许自由发现 + 要求证据支撑——训练后的 v3 达到 38.14%(GPT-4.1),远优于 v2 的 33.20% 和 v1 的 34.64%
阶段二:基于记忆的重排序
将提取的记忆插入 LLM 重排序 prompt,与查询和 5 个候选商品一起,LLM 在 1-in-5 分类任务中选择最相关的商品。这个 1-in-5 操作是 setwise 重排序算法的基本操作单元。
RL 训练(GRPO)
记忆提取器通过策略梯度优化:max_theta E[r(x,m)],其中 m 从 pi_theta 采样。
双组分奖励函数:
- 格式奖励:验证 XML 标签结构正确性
- 重排序奖励:若下游重排序器选中真实商品则 +1,对 5 个采样响应取平均以平滑信号
核心洞察:「记忆提取器不仅要生成流畅的摘要,更要产生对个性化重排序直接有用的记忆。」
数据集构建
- 来源:Amazon-Review-2023 + Amazon-C4(改写查询)
- Electronics 类目:905 训练 / 194 验证 / 194 测试实例
- 1-in-5 任务:1 个正样本 + 4 个硬负样本(同类目检索获取)
- 平均类内历史约 10 件商品,跨类约 30+ 件
3. 核心技术贡献
- 偏好记忆框架:将冗长购买历史显式蒸馏为结构化、紧凑的偏好信号,按类目范围分离(类内 vs 跨类),从根本上避免了原始历史注入的噪声问题。记忆的查询无关性使得预计算成本可以均摊到多次查询中。
- RL 对齐训练:以下游重排序准确率作为奖励,直接优化记忆提取的质量。无需昂贵的人工标注「黄金偏好记忆」,训练信号来自任务本身。这解决了一个关键问题——通用的文本摘要不等于有效的偏好表示。
- Prompt 设计与训练的互补性发现:实验证明 prompt 设计和 RL 训练是互补的——v3 prompt 的优势在未训练时微弱,但 RL 训练后被显著放大。更好的 prompt 提供了结构化框架,RL 对齐赋予其任务感知性。
- 端到端评测基准:首个面向个性化商品重排序的评测基准,包含购买历史、候选集和人工标注的相关性标签,使用同类目硬负样本避免平凡分类。
4. 实验结果分析
主实验结果
| 方法 | GPT-4.1-mini | o4-mini |
|---|---|---|
| 无记忆 | 32.47% | 31.86% |
| 类内+跨类商品 | 34.02% (+1.55) | 34.85% (+2.99) |
| 基础提取器记忆 | 31.96% (-0.51) | 36.29% (+4.43) |
| GPT-5.2 记忆 | 33.92% (+1.45) | 35.77% (+3.91) |
| MemRerank | 38.14% (+5.67) | 40.72% (+8.86) |
| MemRerank + think | 39.07% (+6.60) | 42.47% (+10.61) |
关键发现:(1)未训练的基础提取器在 GPT-4.1-mini 上甚至劣于无记忆基线(-0.51),说明不当的记忆提取反而有害;(2)RL 训练后效果剧增(GPT-4.1-mini 从 -0.51 跃至 +5.67);(3)think tag 在所有设置中带来 +0.93 到 +3.81 的一致提升。
消融分析
- RL 训练 vs 未训练:最关键因素,GPT-4.1-mini 上差距达 6.18 个百分点
- Prompt 设计:训练后 v3 大于 v1 大于 v2,训练放大了 prompt 结构差异
- Think tag:一致有效,推理链条帮助 LLM 更好地利用记忆信号
- 记忆长度分析:原始历史的非单调效果 vs 蒸馏记忆的稳定提升
与外部记忆系统对比
MemRerank 显著优于通用记忆框架(Mem0 等),验证了任务感知记忆提取的必要性。
5. 局限与未来方向
作者明确声明的局限:(1)类目范围:仅在 Electronics 类目评估,「向其他类目和更丰富信号的泛化尚不清楚」;(2)规模限制:仅测试离线 1-in-5 重排序,「未研究更大规模的检索设置,如对 top-100 检索结果的重排序」;(3)输入模态单一:仅使用商品元数据,未包含图像、用户评论或行为信号。
6. 工业实践意义
直接可迁移的设计模式:偏好记忆蒸馏可以应用于任何需要用户历史个性化的排序场景。在社区搜索中,可以将用户的搜索历史、点赞/收藏记录蒸馏为结构化的兴趣偏好摘要,用于搜索结果的个性化重排序。
部署考量:(1)记忆提取是一次性计算(query-independent),预计算后记忆约 1024 token,远小于原始历史——显著降低在线推理成本;(2)RL 训练仅需任务反馈,无需人工标注黄金记忆——大幅降低标注成本;(3)记忆可以按固定频率(如每日/每周)更新,无需实时计算。
RL 训练记忆提取器的工程实践:GRPO 的双组分奖励(格式+任务)设计在工业落地中值得借鉴——格式奖励确保输出可解析,任务奖励确保内容有用。5 个采样响应取平均的方式有效平滑了稀疏的二值奖励信号。
启示与警示:未训练的记忆提取可能劣于不使用记忆(-0.51%),这意味着盲目地给 LLM 增加「用户画像」prompt 可能适得其反。任务对齐是记忆提取的关键——不是「有记忆就好」,而是「有正确的记忆才好」。