agents_scaling_up/Exploring Recommender System Evaluation_A Multi-Modal User 精读笔记.md

一句话总结:A/B Agent 用多模态推荐 UI 沙盒、细粒度用户偏好、文本/视觉记忆、动作模块和疲劳系统,把离线推荐评估从“静态排序指标”推进到“模拟用户在页面中浏览、点击、翻页、观看、评分和退出”的 A/B 测试代理框架。

TL;DR 速览

tags: [recommender-system, user-agent, ab-testing, multimodal, simulation, evaluation, llm-agent] related: [[AgentX_Towards Agent-Driven Self-Iteration of Industrial Recommender Systems 精读笔记]], [[AgentSociety2 精读笔记]], [[Agentic-Design-Patterns 精读笔记]]


摘要

[!PDF|] Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.1

To address these challenges, we introduce a multi-modal user agent for A/B testing (A/B Agent).

A/B Agent 的目标不是取代推荐模型,而是替代或前置一部分线上 A/B 评估成本。它让用户代理看到推荐 UI、海报、标题、评分、类型和详情页,再根据 profile、memory 和 fatigue 做出点击、翻页、评分、退出等行为。

Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.2

Figure 1 的重点是“alignment”: 1. Direct Feedback:直接问用户喜不喜欢 item,和真实 A/B 交互路径不一致。 2. Simplified UI:有页面但文本化、简化化,缺少视觉和多层信息。 3. Recommendation Sandbox UI:让 agent 在更接近真实平台的 UI 中逐步探索,作者认为更接近真实反馈。


1 动机:为什么传统离线评估不够?

真实 A/B 测试有三个痛点: 1. High resource consumption:需要服务资源、数据分析和流量成本。 2. User experience degradation:频繁实验可能打扰用户。 3. Evaluation latency:要等足够样本达到统计显著性。

而现有 user simulator 的缺口是: 1. 只给文本 item 信息,没有多模态 perception。 2. 只模拟直接反馈,不模拟多页面浏览路径。 3. 没有用户疲劳、短期 session 记忆和长期历史记忆。

[!tip] 为什么“模拟 A/B”比“预测点击率”更难? A/B 测试不是单点打分。真实用户会先扫列表,看海报和标题,点进详情页,读简介,结合历史偏好,可能因为疲劳退出。A/B Agent 试图模拟的是这个行为轨迹,而不是直接预测某个 user-item pair 的点击概率。


2 数据集:MM-ML-1M

Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.3

作者扩展 MovieLens-1M,补充电影侧多模态信息:

Feature Type Count / Range
Title Text 3,822
Overview Text 3,814
Genres Text 3,789
Rating Numerical [0, 10]
Vote Count Numerical [0, 30,002]
Release Date Date 1911-05-05 到 2024-06-07
Directors Text 3,810
Actors Text 3,785
Poster Image 3,814
User Count - 6,040
Movie Count - 3,952
Sparsity - 0.0419

关键价值:这个数据集让推荐评估能同时看到 item 的文本、图像、元数据和用户属性,适合模拟真实 UI 上的多模态感知。


3 Recommendation Sandbox Environment

Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.4

Figure 3 展示推荐沙盒由两部分组成: 1. Recommendation algorithms:Random、Pop、FM、AFN、DeepFM 等模型生成 top-20 recommendation list。 2. User interface:每页展示 5 个 item,agent 可以在 home page 翻页或点击详情页,在 detail page 观看、评分、返回或退出。

行为数据包括: - CTR:是否点击 item。 - CVR:是否进一步观看/评分等转化行为。 - AR:average rating。

[!tip] 为什么要有 home page 和 detail page 两层? 首页只提供海报、标题、评分、类型,类似用户快速扫列表;详情页提供简介、投票数、导演、演员、发行日期等细粒度信息。多层 UI 让 agent 的决策过程更接近真实推荐平台:先低成本筛选,再深入了解,再决定是否转化。


4 A/B Agent 架构

[!PDF|] Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.4

It comprises several key components, including the agent profile module, memory module, action module, and fatigue system.

Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.5

模块 输入 输出/作用 设计动机
Profile Module demographics + interaction history user profile + fine-grained preferences 让 agent 不只是“泛化用户”,而是有稳定偏好
Long-term Memory 历史交互记录、文本/视觉 embedding 检索相似历史经验 保持跨 session 偏好一致
Short-term Memory 当前 session 行为 in-session context 避免重复点击、支持连续浏览
Action Module 当前页面、profile、memory、fatigue click / next / previous / view / rate / back / exit 定义可执行行为集合
Fatigue System action cost、当前疲劳值 控制探索长度和退出行为 避免 agent 无限浏览,贴近真实用户耐心

4.1 Profile Module

用户 profile 包括性别、职业、年龄、地理位置;user preferences 由 LLM 基于交互历史总结,例如偏好某类题材、年代、演员、视觉风格。

4.2 Memory Module

作者把 memory 分成两类: 1. Long-term memory:历史 interaction records,用 text-embedding-3-small 做文本检索,用 CLIP 做视觉检索。 2. Short-term memory:当前 session 内的点击、浏览、评分和退出线索。

[!tip] 为什么 A/B Agent 需要视觉记忆? 电影推荐里海报是强信号。只用 title/genre/overview 会漏掉用户对视觉风格、色彩、人物、类型氛围的偏好。视觉记忆让 agent 在看到新海报时能联想到历史上相似的电影体验,这也是表 5 中 vision-aware simulated data 更有效的原因。

4.3 Fatigue System

疲劳机制让 agent 不会无限探索。每个动作消耗一定 fatigue;当疲劳接近阈值,agent 更倾向退出。case study 中 exit 行为往往同时由偏好不匹配和高 fatigue 触发。

[!tip] fatigue 的方法论意义 真实用户不是理性地看完所有推荐再选择最优 item,而是受注意力、耐心、页面位置和疲劳影响。推荐系统评估如果忽略 fatigue,会高估深层 item 被看到的机会,也会低估 UI 和排序位置对行为的影响。


5 实验:推荐模型评估

[!PDF|] Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.6

A/B Agent maintains consistent model ranking across CTR, CVR, and average rating.

5.1 模型排序结果

Table 2 比较 Random、Pop、FM、AFN、DeepFM。关键行如下:

Dataset Model GPT-4o-mini CTR GPT-4o-mini CVR GPT-4o-mini AR Real Recall Real NDCG
ML Random 0.0872 0.0461 4.01 0.0066 0.0222
ML Pop 0.1886 0.1181 4.20 0.0216 0.0881
ML FM 0.2642 0.1984 4.52 0.0353 0.0987
ML AFN 0.2845 0.1995 4.52 0.0422 0.1238
ML DeepFM 0.2891 0.2094 4.52 0.0429 0.1130
Fashion Random 0.0031 0.0008 4.12 0.0079 0.0028
Fashion DeepFM 0.0414 0.0089 4.51 0.0787 0.0281

表格解读: 1. A/B Agent 的模拟指标能大体保持模型排序:Random < Pop < FM < AFN/DeepFM。 2. GPT-4o、GPT-4o-mini、Gemini-2.5-flash 都能保持类似 ordering,说明框架不完全依赖单一 backbone。 3. AR 的区分度小于 CTR/CVR,因为评分容易集中在 4.x 区间,点击/转化更敏感。

5.2 数据规模和特征重要性

DeepFM 训练数据比例:

Training Data CTR CVR AR Recall NDCG
50% 0.2205 0.1803 4.51 0.0275 0.0738
75% 0.2745 0.1999 4.51 0.0330 0.0918
100% 0.2891 0.2094 4.52 0.0429 0.1130

特征消融:

Feature CTR CVR AR Recall NDCG
User ID Only 0.2754 0.1982 4.47 0.0359 0.0981
Movie ID Only 0.2850 0.2097 4.51 0.0372 0.0966
All 0.2891 0.2094 4.52 0.0429 0.1130

解读: 1. 数据越多,真实 Recall/NDCG 和模拟 CTR/CVR 都上升。 2. All features 的真实 Recall/NDCG 最好,说明用户和 item 辅助特征仍有价值。 3. 模拟 CTR/CVR 能检测 feature ablation 的细微差异,但个别指标如 Movie ID Only CVR 略高于 All,说明模拟指标仍有噪声。


6 Agent Alignment:用户偏好和活跃度是否对齐?

6.1 User taste alignment

作者构造不同 positive:negative ratio 的推荐列表:1:9、1:4、1:1。如果 agent 真的理解用户偏好,正样本比例越高,CTR/CVR/AR 应该越高。Figure 5 结果符合这一预期。

6.2 Activity trait alignment

[!PDF|] Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.7

All groups roughly follow a Gaussian distribution, but the mean number of clicks shifts from 3.2 (low) to 4.0 (medium) and 5.8 (high).

这说明 fatigue-aware design 能把“低/中/高活跃用户”落实为行为分布差异,而不是只在 profile 文本里声明。

Trait Mean Click Count 解释
Low 3.2 更快退出,探索少
Medium 4.0 中等浏览深度
High 5.8 更愿意点击和继续浏览

关键发现:activity trait 不只是 persona 标签,而是通过 fatigue 和 action module 影响实际点击分布。


7 数据增强:模拟数据能不能反哺推荐模型?

[!PDF|] Exploring Recommender System Evaluation_A Multi-Modal User.pdf, p.8

even a small amount of high-quality simulation data can lead to measurable improvements in model performance

作者用 DeepFM 推荐结果驱动 agent 行为,收集: - 2,518 homepage clicks - 1,884 detail-page viewing records

这些 simulated samples 约 4K,相比原始训练集 700K 很小,但加入训练后对多个 CTR 模型有帮助。

Model Original +Sim. View Data (w/ vision) Gain
NFM 0.7438 0.7475 +0.0037
xDeepFM 0.7478 0.7517 +0.0039
Wide&Deep 0.7469 0.7521 +0.0052
DCN 0.7517 0.7537 +0.0020
DeepFM 0.7520 0.7542 +0.0022
AFN 0.7512 0.7556 +0.0044
AutoInt 0.7510 0.7543 +0.0033
PNN 0.7474 0.7520 +0.0046

表格解读: 1. 推荐 CTR 场景里 AUC +0.001 就可能有意义,表中提升不算小。 2. vision-aware view data 整体最强,说明“看过详情页”比“首页点击”提供更深行为信号。 3. w/o vision 仍可能有提升,但明显弱于 w/ vision,支持多模态 UI 对仿真质量的贡献。


8 Case Study:四类行为的解释性

Table 6 讨论了 click、next page、watch & rate、exit 四类行为:

Action 触发原因 对应机制
Click 喜欢 comedy/family/animation 且海报吸引 profile + visual perception
Next Page 对 drama 兴趣低,历史类似电影评分低 long-term memory + rejection cue
Watch & Rate 5.0 与 drama/romance 高分历史一致 preference + memory reinforcement
Exit 年代不匹配且 fatigue 25.4/30 -> 30.0/30 preference mismatch + fatigue

这部分最大的价值是解释性:agent 不只输出点击,还能给出 profile、memory、fatigue 和解释。


9 相关工作对比

Simulator Simulation Multi-modal Evaluation
RecoGym Direct-Response Case Study
RecSim Direct-Response Case Study
VirtualTaobao Simplified UI Online
KuaiSim Simplified UI Offline
Agent4Rec Simplified UI Offline & Case Study
LLM-SimuRec Direct-Response Offline & Case Study
A/B Agent Sandbox UI Offline & Case Study

[!tip] A/B Agent 相比 Agent4Rec / LLM-SimuRec 的关键差异 Agent4Rec 已经有 page-by-page 交互,但仍偏简化 UI 和文本信息;LLM-SimuRec 更接近直接响应。A/B Agent 把视觉海报、详情页、多动作轨迹和 fatigue 放进框架,因此更接近真实推荐平台上的“人如何逐步形成反馈”。


10 和 AgentX / AgentSociety2 的关系

论文 目标 评估信号 A/B Agent 可扮演的角色
[[AgentX_Towards Agent-Driven Self-Iteration of Industrial Recommender Systems 精读笔记]] 自动生成、实现、上线推荐实验 真实线上 A/B 在真实 A/B 前提供低成本 proxy
[[AgentSociety2 精读笔记]] 可执行社会科学研究环境 仿真-真实数据对齐、机制解释 推荐场景的 silicon participant / environment 特例
[[Agentic-Design-Patterns 精读笔记]] agent 工程模式语言 无统一 benchmark Tool Use、Memory、Planning、Evaluation 的应用样例

最需要警惕的一点:A/B Agent 的模拟 CTR/CVR/AR 不是线上 reward,只是 proxy。和 AgentX 相比,它更像 candidate filtering 或 data augmentation,而不是最终 launch decision。


个人思考

与其他论文的关联

在我的工作中能怎么用

  1. 推荐实验上线前,可以用 A/B Agent 风格的沙盒做候选模型粗筛,尤其对 UI、多模态内容和用户疲劳敏感的场景。
  2. 可以把 simulated click/view/rating 数据作为小规模增广信号,但需要和真实日志严格区分权重,避免 synthetic bias 污染模型。
  3. 做用户代理时,不要只写 persona;应把 persona 落成 profile、memory、action space、fatigue 和可解释日志。

开放问题/疑问

  1. 模拟 CTR/CVR 和真实线上 CTR/CVR 的相关性如何?论文主要和 Recall/NDCG 排序对齐,距离真实线上 A/B 仍有一层 gap。
  2. A/B Agent 是否会过度依赖 LLM 的电影常识,导致热门电影或特定文化偏好被放大?
  3. fatigue values 和 action costs 如何校准?不同产品的浏览疲劳差异很大。
  4. 模拟数据加入训练后,长期会不会造成 feedback loop,让推荐模型更迎合 LLM user simulator 而不是人类用户?

局限性

  1. 仍是封闭沙盒,没有社交影响、外部搜索、真实设备环境、时间压力等因素。
  2. LLM hallucination 和重复行为会影响仿真稳定性,论文自己也在 discussion 中承认这一点。
  3. 实验集中在 MovieLens 和 Fashion,迁移到短视频、直播、电商、广告等更复杂场景需要重新设计 UI、action space 和 fatigue。