多模态 LLM 用户智能体做推荐系统离线 A/B 测试
多模态 LLM 用户智能体做推荐系统离线 A/B 测试
来源 CityU Data Science Student Seminar,2026-10-02 11:00–11:40。 讲者 Wenlin Zhang(四年级博士生,导师 Xiangyu Zhao),与华为合作,工作发表于 KDD 2026。 本笔记由会场录屏 + 系统音频转写后整理(见文末「记录说明」),有一段 6.4 分钟的方法细节没录到。
TL;DR
在线 A/B 测试是评估推荐系统的唯一可信手段,但贵、慢、还可能伤害真实用户体验。离线用户模拟器是替代方案,而这篇工作认为现有模拟器不够真实:要么跳过浏览过程直接预测点击,要么把界面压缩成文本列表。作者把「用户」建模成一个能在多页多模态界面上真实浏览的 LLM 智能体(记忆 + 动作 + 疲劳),并用它产生的模拟交互去评估和增强推荐模型。
三个结论值得记住:
- 模拟反馈能区分模型质量,并且对训练数据量、特征、算法都有正确响应;
- 但模型水平接近后排序不再稳定 —— 所以评测粒度要从「模型级」下沉到「用户级」;
- 模拟数据能当真数据用:加入 70 万真实交互后,8 个推荐模型的 AUC 全面提升。
为什么需要离线模拟
在线 A/B 测试把不同用户群分配到不同推荐模型上,用真实行为回测模型改动的影响。它可信,但代价是结构性的:
| 代价 | 具体表现 |
|---|---|
| 资源消耗高 | 要真实流量、真实用户、真实时间窗口 |
| 评估延迟长 | 拿到显著性结论往往需要数周 |
| 可能损伤体验 | 对照组用户要吃下劣质推荐 —— 这是最根本的伦理/业务问题 |
后一条才是核心动机:你不可能把所有想试的模型都上线试一遍。所以需要「可靠的离线仿真」——用一个可信的用户模拟器,在没有真实流量的情况下预估线上表现。
前人做法的两条路线,各自的缺口
讲者把现有 user simulator 归成两类,并指出各自的短板:
① Direct feedback(直接反馈法) 输入一个 (user, item) 对,直接预测点击或转化。
缺陷:跳过了浏览过程。模型学到的是「这个用户会不会点这个物品」,而不是「用户在这个界面上会怎么探索」。
② Simplified UI(简化界面法) 把物品以文本列表形式呈现,允许基本的浏览/选择。
缺陷:多页 UI 交互受限 + 没有视觉感知。真实推荐界面是图文并茂、可翻页、可点进详情页的,文本列表丢掉了这些信息通道。
于是剩下的三个挑战被明确列出:
真实 UI 交互 (realistic UI interaction)
视觉感知 (visual perception)
疲劳感知 (fatigue awareness)
两个必须先回答的设计问题
作者把上面三个挑战收敛成两个对「环境」和「智能体」的要求:
环境侧 必须提供多个粒度的多模态信息,并支持跨页面探索。 (只看得到一屏列表的环境,模拟不出真实浏览。)
智能体侧 必须
- 维持一致的偏好(不能这一步喜欢科幻、下一步就忘了);
- 基于当前可获取的信息做决策(而不是全知全能);
- 通过疲劳来调节探索深度(真实用户会累、会走)。
第二条尤其关键:信息受限是真实的浏览体验的一部分。一个全知的用户模拟器会高估模型表现。
方法:三件套
整个框架由三个组件构成(注意:这一节的细节落在录音缺口里,只有大纲级信息)。
① 多模态 MovieLens-1M
在经典 MovieLens-1M 上扩展,补入电影海报、剧情简介、更丰富的电影属性,同时保留原有用户交互历史。
为什么要这么做:真实推荐界面是图文混合的,纯 ID/类别特征训不出「视觉感知」这条能力,也就无法验证视觉信息对推荐的价值。
② IMDb 风格的推荐沙盒
搭了一个带首页 + 电影详情页的两级界面,用户可以跨页面浏览、探索信息。
- 首页 → 列表流,做初筛和比较
- 详情页 → 看海报、读剧情,做「要不要点进去看」的深挖
这个两级结构是多页交互的载体,也是后文「浏览数据比点击数据更有用」这一发现的物质基础。
③ ABAgent
智能体本身由三部分组成:
| 模块 | 作用 |
|---|---|
| Profile memory(画像记忆) | 维持跨步骤一致的用户偏好 |
| 动作模块 | 在沙盒里选择具体动作(浏览 / 翻页 / 点详情 / 放弃) |
| Fatigue system(疲劳系统) | 调节探索深度,最终触发退出 |
交互产生的反馈被回收,用来评估推荐模型——这就是「用模拟器替代 A/B 测试」的闭环。
⚠️ 录音在
11:05:35–11:12:00断了 6.4 分钟,正好覆盖沙盒的具体构造和 ABAgent 各模块的实现细节(记忆怎么存、动作空间怎么定义、疲劳怎么建模)。这一层信息本笔记无法提供,需要查原文。
实验与发现
1. 模型级:模拟反馈能否区分推荐质量
对照组:random、popularity、FM(非深度)、AFN、DeepFM(深度)。
在 2 个数据集 × 3 个 LLM backbone 上,模拟反馈在留存的真实交互上能复现偏好差异 —— 也就是说,智能体对「推荐质量的变化」有响应,不是随机噪声。
2. 敏感性:智能体在响应什么
- 训练数据量:给 DeepFM 加训练数据 → 模拟表现随之上升;
- 特征完整性:用完整特征比去掉 user-side 或 item-side 特征在多数指标上更好。
结论:智能体对算法、数据、特征三者都有响应。这是模拟器「有分辨力」的强证据 —— 否则你无法把它用于模型选择。
3. 但模型级排序不可靠 → 下沉到用户级
一个重要的诚实结论:
当推荐模型质量接近时,它们的相对排序会随数据集和指标翻转,不存在一个通用的模型排序可以当作「模拟精度」的基准。
所以作者放弃模型级排序,转而检验智能体能否对单个用户的偏好做出一致响应。
4. 用户级一致性(两个实验)
偏好对齐实验 给每个用户构造 20 项列表,从 ground truth 中采样正/负样本,扰动正负比:1:9 → 1:4 → 1:1。
结果:CTR、CVR、平均评分全部单调上升 —— 智能体的行为随偏好浓度变化,符合「真实用户应该有的模式」。
活跃度控制实验 分配低/中/高活跃度:主点击数 3.2 → 4.0 → 5.8。
结果:activity-aware 的设计能按分配的性格调节投入程度。这验证了「疲劳/活跃度」不是装饰,而是可控变量。
5. 模拟数据能不能真的提升模型(最有说服力的一节)
做法:采集模拟的点击数据和浏览(view)数据,分别加入约 70 万条真实训练交互中。
评测 8 个推荐模型,覆盖三类架构:
factorization-based 分解类
feature-crossing 特征交叉类
attention-based 注意力类
结果:
- 两类模拟反馈都让全部 8 个模型的 AUC 提升;
- 浏览数据在 8 个中的 7 个上增益更大 —— 「先点进详情页再决定」产生的监督信号比单纯点击更有用;
- 消融:从模拟中去掉海报(破坏视觉通道)后,vision-aware 的浏览数据的收益反而在全部 8 个模型上更好 —— 说明视觉感知确实在贡献有效信息,不是无关噪声。
6. 四个案例研究
| 案例 | 展示的机制 |
|---|---|
| 通用偏好 + 海报外观共同支撑选择 | 视觉与偏好的联合作用 |
| 历史反馈让智能体跳过一个公共评分很高的物品 | 个性化记忆能推翻群体统计 |
| 浏览/阅读决策与 profile、memory 保持一致 | 记忆的一致性约束 |
| 属性不匹配 + 疲劳累积 → 退出 | 疲劳感知的终止机制 |
合起来:偏好由 profile/memory 控制,动作在界面层面具体选择,终止由疲劳感知决定。
值得记住的几点
-
“用户模拟器”的评测标准不是「预测得像」,而是「在信息受限下的决策序列像」。 直接预测点击的方法之所以被批评,本质是它绕开了决策过程 —— 而决策过程恰恰是在线 A/B 测试要衡量的东西。
-
模拟模型级排序不可靠,是一个应该被写进论文的负结果。 作者没有藏起来,反而据此改变了实验设计(转向用户级一致性)。这种「发现指标不可用 → 换评测粒度」的处理方式很有参考价值。
-
「浏览 > 点击」作为监督信号 这个结论可以迁移:任何有层级界面的场景(搜索、电商、内容平台),深处页面的行为都携带比浅层点击更细的偏好信息,而视觉通道是这条信号的一部分(海报消融实验直接支持)。
-
疲劳/活跃度作为可控变量 让模拟器可被「调参」,这对做 A/B 测试模拟很实用 —— 你可以问「如果用户更没耐心,结论会变吗」。
-
与我这边的知识库连起来看:这篇和 GraphRAG/agent memory 那类工作共享同一个结构性问题 —— 怎么在没有真实标注的情况下构造可信的评估信号。推荐系统的解法是造一个受约束的智能体去生成交互;RAG 的解法通常是造 query 或造 relevance judge。两条路的共同风险都是模拟器自身的偏差会被当成真值。
Enjoy Reading This Article?
Here are some more articles you might like to read next:
- Google Gemini updates: Flash 1.5, Gemma 2 and Project Astra
- Displaying External Posts on Your al-folio Blog
- Agent 评测体系与评测集构建——美团《评测漫谈》+《评测白皮书 01》笔记
- 自我改进 Agent 统一拆解:θ / Σ 双路线
- CS146S 学习笔记(Week 4-8):从智能体管理者到多栈 AI 构建
- CS146S 学习笔记:从 Prompt 技术全景到 AI IDE 设计文档规范
- 二分查找双模板 + searchInsert 逐行拆解:从模板到边界
- Agent Memory 全景:30 个记忆技术的模块化拆解
- LightRAG 深度解析:简单快速的图增强 RAG
- 双指针算法复盘总结:从元素思维到边界思维