← 返回论文列表
Generative Recommendation · Reasoning · 2025

OneRec-Think:生成式推荐中的显式文本推理框架

ONEREC-THINK: In-Text Reasoning for Generative Recommendation

作者
Zhanyu Liu, Shiyao Wang et al. (快手)
时间
2025.10(arXiv 2510.11639)
机构
Kuaishou Inc.
核心命题
把 CoT 推理引入生成式推荐,达到 SOTA 并在快手 APP 上涨停留时长 +0.159%
§1 背景与动机

推荐系统的范式演进

传统推荐系统采用多阶段漏斗(召回→精排),但这种割裂的架构难以整体优化。以 TIGER、HSTU、OneRec 为代表的端到端生成式推荐框架通过 Seq2Seq 自回归方式直接生成 item 标识符,统一了检索与排序,展现出强大能力。

问题:生成式推荐缺乏显式推理

核心矛盾:现有生成式推荐模型(包括 OneRec)本质上是隐式预测器——它们能预测用户下一个会交互的 item,但无法告诉你"为什么"。这使得推荐结果缺乏可解释性,也无法像 ChatGPT 那样通过对话动态调整策略。

与此同时,LLM 领域的 Chain-of-Thought(CoT)技术(Wei et al., 2022; DeepSeek-R1; Seed-1.5)通过"先推理、再回答"大幅提升了复杂任务的准确率。一个自然的问题是:能否把 CoT 推理引入生成式推荐?

为什么这件事不简单

  • 模态鸿沟:推荐系统使用离散的 Item ID(如 <item_a_5083><item_b_2280><item_c_5301>),而 LLM 在文本 token 空间工作,两者天然不兼容
  • 噪声行为序列:真实用户的行为序列很长且嘈杂,直接让 LLM 在噪声序列上生成 CoT 往往失败
  • 多义性奖励:推荐任务存在"多有效答案"问题——用户感兴趣的视频不止一个,传统 RL 奖励(只有命中才得分)极度稀疏
  • 工业延迟:实时推理时,让模型先生成几百个 token 的思维链、再输出推荐结果,延迟会爆炸
Figure 1: OneRec-Think 统一对话、推理和推荐框架示例`" />
Figure 1(论文原图):OneRec-Think 统一了对话、推理与个性化推荐三大能力。上图展示了 item 描述(给定 itemic token 解析视频内容)、推理推荐(分析观看历史生成思维链并推荐 item)、以及对话推荐(用户表达"心情不好"后模型动态调整推荐策略)三种典型场景。

OneRec-Think 的三大贡献

Itemic Alignment
Reasoning Activation
Reasoning Enhancement
Think-Ahead 部署

分别解决了:模态对齐、CoT 激活(噪声序列问题)、RL 奖励稀疏问题和工业部署延迟问题。

§2 方法详解
Figure 2: OneRec-Think 整体框架
Figure 2(论文原图):OneRec-Think 三阶段训练框架。Stage 1 通过多任务预训练完成 item-语言对齐;Stage 2 用剪枝上下文 bootstrap 推理能力并通过 SFT 蒸馏到完整序列;Stage 3 用推荐专用奖励函数 + GRPO 强化学习精炼推理质量。

在形式化上,传统生成式推荐定义为:

$$s^{v_{n+1}} \sim P(\cdot\,|\,s^{v_1},\ldots,s^{v_n};\theta)$$
符号说明
  • $s^{v_i}$:item $v_i$ 的 itemic token 序列(如 $\langle\text{item\_a\_5083}\rangle\langle\text{item\_b\_2280}\rangle\langle\text{item\_c\_5301}\rangle$)
  • $s^{v_{n+1}}$:模型预测的下一个 item 的 itemic token
  • $\theta$:模型参数

OneRec-Think 将其改造为先推理再推荐的联合生成:

$$\tau \sim P(\cdot\,|\,\mathcal{P}(s^{v_1},\ldots,s^{v_n});\theta)$$ $$s^{v_{n+1}} \sim P(\cdot\,|\,\mathcal{P}(s^{v_1},\ldots,s^{v_n}),\tau;\theta)$$
符号说明
  • $\mathcal{P}(\cdot)$:把用户历史序列格式化为文本 prompt 的函数
  • $\tau = (r_1,\ldots,r_M)$:先生成的推理序列(思维链),$M$ 个文本 token
  • $s^{v_{n+1}}$:以思维链 $\tau$ 为条件生成的目标 item itemic token
  • 整个过程是一次自回归 pass:先输出 $\langle\text{think}\rangle\ldots\langle/\text{think}\rangle$,再输出 itemic token
💡 举例:推理 + 推荐的联合生成过程

输入(用户历史):用户 U 历史点赞:《三角洲行动》战术视频、《战地》经典场景回顾、GTA6 最新爆料、显卡对比测评……

生成过程(单次自回归):

<think> 用户对军事题材游戏和动作冒险类游戏有浓厚兴趣,且主动搜索过显卡对比,说明他对游戏性能优化有关注。由于用户喜欢高画质游戏(战地、GTA6),可能正在寻找能提升游戏体验的硬件支持。因此推荐显卡性能分析相关视频。</think>

<item_begin><item_a_4029><item_b_4601><item_c_5058><item_end>(显卡对比分析视频)

关键点:推理 $\tau$ 和 item token $s^{v_{n+1}}$ 在同一次自回归 pass 中顺序生成,思维链天然作为 item 生成的上下文。

2.1 阶段一:Itemic Alignment(物品语义对齐)

Itemic Token 是 item 的离散语义表示单元,类比 NLP 中的"词"。每个 item $v$ 被编码为一组 token 序列 $s^v = (s_1^v, \ldots, s_L^v)$(如 3 层分层语义 ID),通过 RQ-VAE 从多模态内容中生成。

问题:base LLM 的词表里没有这些 itemic token,embedding 是随机初始化的,模型完全不懂这些 token 的语义。需要先做语义对齐。

四个预训练任务:

  • 1
    Task 1: Interleaved User Persona Grounding(交错用户画像接地)

    将 itemic token 和文本 token 交错组合成训练样本。样本包含:用户静态属性(年龄、地区)、主动搜索行为(文本)、历史交互序列(itemic token)、以及 LLM 总结的用户兴趣描述(文本)。通过让模型在 itemic token 和文字上下文共现的训练样本中学习,建立"item embedding ↔ 语义概念"的连接。

  • 2
    Task 2: Sequential Preference Modeling(序列偏好建模)

    核心推荐任务:给定历史 itemic token 序列,预测下一个 item 的 itemic token。这是标准的 next-token prediction 在推荐上的应用。

  • 3
    Task 3: Itemic Dense Captioning(物品密集描述)

    给定一个 item 的 itemic token,要求模型生成该 item 的文字描述(标题、类目、内容摘要等)。这相当于让模型学会"将 item token 翻译成人类语言",强迫模型建立 item token → 语义的映射。

  • 4
    Task 4: General Language Modeling(通用语言建模)

    继续在通用文本语料上训练,防止模型在学习推荐知识的过程中灾难性遗忘语言能力。

两阶段训练策略:

Token Warm-up(Token 预热)

冻结 base LLM 所有参数,只训练 itemic token 的 embedding。仅使用 Task 1(用户画像接地),让 itemic token embedding 通过大量文本共现场景学到初始语义。

目的:先让 embedding 有意义,再开始全量训练,避免随机 embedding 污染模型。

Multi-Task Integration(多任务融合)

解冻所有参数,四个任务联合训练。LLM 在理解 itemic token 语义的同时,学会将其融入对话和推理上下文。

按设计比例混合四个任务的数据,保证各任务都有足够的训练信号。

💡 举例:Itemic Alignment 训练样本长什么样

Task 1 样本(交错画像):

文本部分:"用户 ID 12345,25岁,北京,近期搜索过'篮球教学'、'NBA 集锦'"

Itemic token 部分:点赞 <item_a_842><item_b_92><item_c_7860>,收藏 <item_a_5069><item_b_4601><item_c_3132>

总结文本:"用户主要兴趣:篮球运动和相关技术视频(60%+),兼具游戏和搞笑内容"

Task 3 样本(物品描述):

输入:<item_a_219><item_b_189><item_c_49><item_d_227>

输出(Ground Truth):Title: "Manuka Honey and Manuka Oil Skin Cream",Category: "Beauty > Skin Care > Face > Cleansers"

通过这类任务,模型学会"这组 token = 护肤品",建立了 item embedding 的语义内容。

2.2 阶段二:Reasoning Activation(推理激活)

核心挑战:即使完成了 Itemic Alignment,直接让模型在真实的嘈杂、超长行为序列上生成 CoT 往往失败——用户历史太长太杂乱,模型不知道应该关注哪些行为、推理逻辑怎么写。

解决思路(两步蒸馏):

先在"简单版本"(剪枝后的精华历史)上生成高质量 CoT,再把这个能力蒸馏到"困难版本"(完整嘈杂历史)上。

第一步:用剪枝上下文 Bootstrap 推理(Bootstrapping with Pruned Contexts)

对每个用户,选取候选 item $s^{v_{n+1}}$,用相似度函数从历史中找出最相关的 top-$k$ 条交互:

$$g((s^{v_1},\ldots,s^{v_n}), s^{v_{n+1}}) = (s^{w_1},\ldots,s^{w_k})$$
符号说明
  • $g(\cdot,\cdot)$:相似度函数,计算历史 item 与目标 item 的相关度(如 embedding 点积)
  • $(s^{w_1},\ldots,s^{w_k})$:从历史中检索出的最相关的 $k$ 条 item,是"去噪后的关键历史"
  • 这 $k$ 条历史大概率与目标 item 在主题/类目/偏好上高度相关,逻辑关系清晰

然后用这 $k$ 条精华历史 + 目标 item,让预对齐好的模型生成推理 $\tau$:

$$\tau \sim P(\cdot\,|\,\mathcal{P}_r((s^{w_1},\ldots,s^{w_k}), s^{v_{n+1}});\theta)$$
符号说明
  • $\mathcal{P}_r(a, b)$:特殊 prompt,引导模型"解释为什么交互过序列 $a$ 的用户会点击 item $b$"
  • 输入是剪枝后的 top-k 历史,信噪比高,模型容易生成逻辑清晰的推理
  • 生成的 $\tau$ 作为高质量标注,为下一步提供训练信号

第二步:在完整嘈杂序列上学推理(Learning to Reason from Noisy Sequences)

用上一步生成的 $\tau$ 作为 supervision,训练模型从完整嘈杂历史上生成推理 + item,损失函数为:

$$\mathcal{L}_{RA} = -\biggl(\sum_{i=1}^{M}\log P(r_i\,|\,\mathcal{P}(s^{v_1},\ldots,s^{v_n}), r_1,\ldots,r_{i-1};\theta)$$ $$+ \sum_{j=1}^{L}\log P(s_j^{v_{n+1}}\,|\,\mathcal{P}(s^{v_1},\ldots,s^{v_n}), \tau, s_1^{v_{n+1}},\ldots,s_{j-1}^{v_{n+1}};\theta)\biggr)$$
符号说明
  • $r_i$:第 $i$ 个推理 token,$M$ 是推理序列总长度
  • $s_j^{v_{n+1}}$:目标 item 的第 $j$ 个 itemic token,$L$ 是 itemic token 数量(如 3 层 = 3)
  • 第一个求和:最大化在完整嘈杂历史上生成正确推理的概率
  • 第二个求和:最大化给定历史 + 推理后生成正确 item token 的概率
  • 两项联合训练:推理质量和推荐准确率同步优化
💡 举例:两步 Bootstrap 如何解决噪声问题

原始嘈杂序列(长度 50+):篮球教学 → 搞笑段子 → NBA 集锦 → 宠物猫 → 美食探店 → 篮球战术分析 → 手机评测 → 游戏高光 → 篮球球员采访 → 彩妆教程 → …(50 条)

目标 item:篮球体能训练视频

第一步:top-k 检索剪枝(k=5)
检索出与目标 item 最相关的 5 条:篮球教学 → NBA 集锦 → 篮球战术分析 → 篮球球员采访 → 篮球比赛集锦

生成高质量 CoT:"用户历史中篮球相关内容占绝大多数,对技术细节(战术分析)和职业球员内容都有关注,说明用户是有一定水平的篮球爱好者,会对系统性的体能训练内容感兴趣。"

第二步:SFT 训练
输入:完整 50 条嘈杂历史(含宠物猫、美食探店等噪声),目标输出:上面那段推理 + 体能训练 itemic token
→ 模型学会从噪声中抓住"篮球主线",产生与干净序列相同质量的推理

2.3 阶段三:Reasoning Enhancement(推理增强,RL 阶段)

推荐任务的 RL 困境:奖励稀疏

对于 GRPO 这类 RL 算法,常见做法是:生成多个 rollout,完全命中 ground truth 得分,否则得 0,通过组内相对优势更新模型。但在推荐场景这会失败:

奖励稀疏问题:每个 item 用 $L$ 层 itemic token 表示(如 3 层各取自 8192 个 token 的 codebook),greedy decode 只有一次机会,要三层全对才能命中 ground truth。命中概率极低,导致几乎所有 rollout 奖励都是 0,组内优势全为 0,GRPO 梯度消失,训练无效。

解决方案:Rollout-Beam Reward(Beam 搜索候选奖励)

不用单一 rollout 的 greedy decode,而是在每个 rollout 的推理 $\tau$ 之后,用 beam search(宽度 $K$)生成 $K$ 个候选 item,对每个候选逐层比较 itemic token,取 $K$ 个候选中得分最高的作为该 rollout 的奖励:

$$R_{\text{Rollout-Beam}} = \max_{\hat{s}^{v_{n+1}} \in \mathcal{B}} \sum_{l=1}^{L} \mathbb{I}(\hat{s}_l^{v_{n+1}} = s_l^{v_{n+1}})$$
符号说明
  • $\mathcal{B} = \{(\hat{s}_1^{(j)},\ldots,\hat{s}_L^{(j)})\}_{j=1}^{K}$:Beam Search 输出的 top-$K$ 候选 item 集合
  • $\sum_{l=1}^{L} \mathbb{I}(\cdot)$:对某个候选逐层比较 SID token,数对了几层,取值范围 $\{0,1,...,L\}$,是部分分而非二元命中
  • $\max$:取 $K$ 个候选中部分分最高的那个
  • 关键效果:① beam 提供 $K$ 次机会,提高命中概率;② 部分匹配(如对了 2/3 层)也能得分,reward 分布更连续,梯度信号更丰富

基于 $R_{\text{Rollout-Beam}}$ 使用 GRPO 优化:对同一个用户历史生成多个 rollout(每个 rollout 有不同的推理 $\tau$),每个 rollout 内部 beam search 后取最优部分分,以组内相对优势更新策略。

💡 举例:Rollout-Beam Reward 如何解决稀疏性

设定:item 用 3 层 SID token 表示,ground truth 为 [a_5083, b_2280, c_5301]

传统做法(greedy decode,单次机会,二元奖励):

  • Rollout-1 greedy 输出:[a_5083, b_2280, c_9999] → 第 3 层错 → 奖励 = 0
  • Rollout-2 greedy 输出:[a_1111, b_4444, c_7777] → 全错 → 奖励 = 0
  • 结果:组内奖励全为 0,组内优势全为 0,GRPO 无法更新

Rollout-Beam Reward(K=5,逐层 SID 部分分):

同样是 Rollout-1,beam search 输出 5 个候选,逐层与 GT 比较:

  • 候选1:[a_5083, b_2280, c_9999] → 对了第1、2层 → 得分 = 2
  • 候选2:[a_5083, b_7777, c_3333] → 只对第1层 → 得分 = 1
  • 候选3:[a_1111, b_2222, c_3333] → 全错 → 得分 = 0
  • 候选4:[a_5083, b_2280, c_5301] → 3层全对 → 得分 = 3 ✅
  • 候选5:[a_5083, b_4444, c_5301] → 对了第1、3层 → 得分 = 2
  • Rollout-1 奖励 = max(2,1,0,3,2) = 3

即使 beam 里没有完全命中的候选,部分分也能提供有效梯度:

  • Rollout-2(推理质量差):beam 5 个候选最优得分 = 1 → 奖励 = 1
  • Rollout-3(推理更差):beam 5 个候选最优得分 = 0 → 奖励 = 0
  • 组内优势:Rollout-1(3) > Rollout-2(1) > Rollout-3(0),GRPO 能区分三种推理质量并产生有效梯度

核心洞察:reward 是逐层 SID 匹配的部分分,不是二元命中。beam search 既增加命中机会,又让 reward 分布更连续,从根本上解决稀疏问题。同时 beam search 本来就是推理时的解码策略,训练奖励与推理方式完全一致。

2.4 工业部署:Think-Ahead 架构

问题:在线推荐要求极低延迟(几十毫秒内响应)。OneRec-Think 需要先生成几百个推理 token 再输出 item,延迟无法接受。

Think-Ahead 设计思路:把"计算密集的推理"和"需要实时性的最终生成"解耦成两个阶段——推理可以离线预计算,最终 item 生成在线完成但只需极少步骤。
1
离线阶段(Offline,不在关键路径)

完整的 OneRec-Think 模型对每位用户生成:① 完整推理路径 $\tau$;② 前几个 itemic token(如前 2 个 level 的 token)。这些"前缀 token"代表用户的宏观意图或大类偏好(如"科技类游戏视频"),可以提前缓存。

2
在线阶段(Online,实时)

用一个轻量级的实时更新 OneRec 模型(无推理模块)作为在线 decoder。输入:用户最新上下文 + 离线生成的前缀 token(约束条件);输出:在前缀约束下快速生成完整的 item itemic token。

这样在线只需要极少步骤(仅剩余的几个 token),延迟极低;前缀约束保证最终推荐结果与离线推理的宏观意图一致。

💡 举例:Think-Ahead 如何在快手上线

用户 U 每天浏览快手 App:

离线(每天定时运行):OneRec-Think 分析 U 的历史行为,生成推理"用户近期关注了大量 Delta Force 游戏内容,今晚可能点击游戏版本更新视频",并输出前 2 个 itemic token 作为意图前缀:<item_a_1428><item_b_2625>(约束了大类:游戏/Delta Force)

在线(用户打开 App 时):轻量级 OneRec 模型接收前缀 <item_a_1428><item_b_2625> 作为约束,结合用户最新几秒的行为(实时性),快速生成最后一个 token <item_c_2470>,组成完整 item。全程仅需 1 个 token 生成步骤,延迟极低。

效果:推理的深度(离线) + 实时性(在线)两全其美

工业规模:快手使用 Qwen-8B 作为 backbone,词表扩充 24,576 个新 token(三层分层 itemic token,每层 8,192 个,加两个边界 token),日增量训练使用 80 张旗舰 GPU,每天处理约 20B token 保持模型时效性。

2.5 OneRec-Think 在推荐系统中的定位

OneRec-Think 继承了 OneRec 的系统定位:不是独立的召回模型,而是取代传统召回→粗排→精排三级漏斗的单一端到端生成模型

论文 Introduction 原文:
"These unified models replace the traditional multi-stage recommendation funnel (involving separate retrieval and ranking stages), enabling holistic optimization towards the final objective."
传统推荐系统 OneRec / OneRec-Think
召回(双塔/ANN)→ 粗排 → 精排,三个独立模型 单一 LLM,一次自回归直接输出最终推荐结果
各阶段目标不一致,优化目标割裂 端到端直接优化最终用户体验指标
无推理能力,黑盒预测 先生成可解释推理路径,再输出推荐

在快手的实际部署中,OneRec-Think 通过 Think-Ahead 架构(离线推理 + 在线轻量续写)解决了单模型替代整个漏斗时的延迟问题,以 1.29% 流量实验组对比线上模型,获得 App 停留时长 +0.159% 的收益。

2.6 输入 / 输出格式详解

模型的输入是一个结构化 Prompt,主要由三部分组成:用户行为序列(SID token)、系统生成的用户兴趣摘要(自然语言)、任务指令。输出先生成推理文本 $\tau$,再生成目标 item 的 SID token。

📥 输入示例(来自论文 Figure 1 / Figure 4 真实样例)
[任务指令]
Recommend videos based on the user's viewing history.

[用户行为序列(行为类型 + SID token,顺序排列)]
Liked and favorited video <item_a_1468><item_b_868><item_c_6436>
Liked and favorited video <item_a_1468><item_b_2768><item_c_349>
Liked video               <item_a_842><item_b_92><item_c_7860>
Favorited video           <item_a_5069><item_b_4601><item_c_3132>
......

[系统生成的用户兴趣摘要(自然语言,可选)]
Primary Interests: enjoys humorous skits, film analyses
  (over 60% of content) and lighthearted entertainment.
  Also engages with Honor of Kings content, indicating
  a casual gaming interest.
Secondary Interests: Diverse explorations include pet (cat)
  videos, traditional culture, and local food content.
......

说明:历史序列的 item 用 SID token 表示(不是文字描述),但 Prompt 里附加了系统预生成的用户兴趣摘要(自然语言),让模型兼具 ID 信号与语义理解。工业版 3 层 SID,开源实验版 4 层。

📤 输出示例(来自论文 Figure 4 真实输出)
[推理部分 τ(纯自然语言,<think>...</think> 包裹)]
<think>
用户观看历史记录的主题是游戏和科技产品对比。
用户点赞了《战地》系列经典场面回顾和《GTA6》最新爆料汇总,
表明他对军事题材游戏和动作冒险类游戏有浓厚兴趣。
同时,用户主动搜索了显卡对比视频,说明他对硬件性能的
比较感兴趣。推理逻辑:用户对游戏和科技的兴趣延伸到了
实际应用场景——通过显卡对比优化游戏体验。因此,推荐
显卡性能分析相关视频。
</think>

[推荐结果(SID token,<|item_begin|>...<|item_end|> 包裹)]
<|item_begin|><item_a_4029><item_b_4601><item_c_5058><|item_end|>

说明:推理 $\tau$ 和 item SID token 在同一次自回归 pass 中顺序生成,思维链天然作为 item 生成的条件上下文。训练时两部分都在 loss 内(Stage 2);RL 阶段(Stage 3)只对 SID token 部分计算 Rollout-Beam Reward。

§3 实验结果

3.1 公开 Benchmark(Amazon Review Datasets)

使用 Amazon Beauty、Toys、Sports 三个数据集,backbone 为 Qwen3-1.7B,词表扩充 1,024 个 itemic token(四层分层 ID,每层 256 个)。评估指标:Recall@5/10 和 NDCG@5/10,beam search 宽度 10。

数据集 方法 R@5 R@10 N@5 N@10
BeautyBERT4Rec0.02320.03960.01460.0199
HGN0.03190.05360.01960.0266
GRU4Rec0.03950.05840.02650.0326
SASRec0.04020.06070.02540.0320
TIGER0.04050.06230.02670.0337
HSTU0.04240.06520.02800.0353
ReaRec0.04500.07040.02620.0344
OneRec-Think0.05630.07910.03980.0471
SportsBERT4Rec0.01020.01750.00650.0088
HGN0.01830.03130.01090.0150
GRU4Rec0.01900.03120.01220.0161
SASRec0.01990.03010.01060.0141
TIGER0.02150.03470.01370.0179
HSTU0.02680.03430.01730.0226
ReaRec0.02140.03320.01160.0154
OneRec-Think0.02880.04120.01990.0239
ToysBERT4Rec0.02150.03320.01310.0168
HGN0.03260.05170.01920.0254
GRU4Rec0.03300.04900.02280.0279
SASRec0.04480.06260.03000.0358
TIGER0.03370.05470.02090.0276
HSTU0.03660.05660.02450.0309
ReaRec0.05230.07640.02980.0376
OneRec-Think0.05790.07970.04120.0482

OneRec-Think 在三个数据集全部 metric 上达到 SOTA,在 Beauty N@5 上的绝对提升尤其显著(+0.0136 vs ReaRec,相对提升约 52%)。

3.2 消融实验

训练配置 R@5 R@10 N@5 N@10
Base(仅 itemic token 序列微调)0.04600.06540.03140.0377
Base + IA(加 Itemic Alignment)0.05320.07350.03420.0402
Base + IA + R(完整 OneRec-Think)0.05630.07910.03980.0471

两个模块缺一不可:Itemic Alignment 建立了 item 语义,为推理提供了语言基础;Reasoning 阶段在此之上带来进一步显著提升,证明显式 CoT 确实增强了推荐准确率。

Itemic Alignment 子阶段消融(工业 benchmark,BertScore)

配置 User Understanding Short Video Understanding
Qwen3(base)0.65880.6031
Qwen3 + Token Warm-up(TW)0.64920.6443
Qwen3 + TW + Multi-Task Integration(MI)0.70530.7300
有趣发现:Token Warm-up 在 User Understanding 任务上反而轻微下降(0.6588 → 0.6492)——因为这个任务以文本为主,base LLM 本来就擅长,TW 阶段改动了部分激活导致短期退步。但 Short Video Understanding(纯 itemic token 任务)上 TW 提升显著(+0.04),说明 TW 对 item token 的 embedding 初始化非常必要。MI 阶段在两个任务上都带来大幅提升,是最关键的阶段。

3.3 工业在线 A/B 测试(快手)

在快手短视频平台(日活用户数亿)上,使用 1.29% 流量进行为期一周的 A/B 实验,对比 OneRec-Think(Think-Ahead 架构)与当前在线模型。

在线指标 相对提升
App Stay Time(主指标,总停留时长)+0.159%
Watch Time(观看时长)+0.169%
Video View(视频观看次数)+0.150%
Follow(关注)+0.431%
Forward(转发)+0.758%
Like(点赞)+0.019%
Collect(收藏)+0.098%
工业意义重大:在推荐系统领域,0.1% 的主指标提升通常被视为显著进展,而 App Stay Time +0.159% 在亿级用户平台上意味着每天数千万分钟的额外用户停留。Follow(+0.431%)和 Forward(+0.758%)的高提升说明推理能力带来了更精准的个性化,引导了更深度的用户参与行为。
§4 Case Study
Figure 3: 对话式推荐适应 — 用户说心情不好后模型调整推荐
Figure 3:对话式推荐适应。左图为用户历史兴趣(游戏预告片、青春期叛逆等硬核内容),右图为用户发出"心情不好"的需求后,模型推理部分分析了情感需求与历史偏好的矛盾,最终推荐治愈系内容(冰雪奇缘、宠物日常、自然纪录片)并排除暴力内容。
Figure 4: 细粒度兴趣推理示例
Figure 4:细粒度兴趣推理。三个用户场景(Delta Force 游戏玩家 / 校园喜剧爱好者 / Cosplay 爱好者)展示了模型从行为序列→分析具体机制偏好→推理→精准推荐的完整过程。推理路径捕获了特定游戏机制、叙事模式等细粒度偏好,而非仅靠粗粒度类目匹配。
Figure 5: 推理过程与推荐结果的一致性分析`" />
Figure 5:推理过程与推荐结果的一致性分析。在中间推理步骤插入 beam search,可以看到:推理越完整,beam search 产生的候选越精准。推理从"用户对影视作品有兴趣"→"喜欢情感冲突题材"→"具体到《宝莲灯》系列古装剧",推荐结果始终与当前推理进度语义一致,证明推理真正"引导"了生成,而非事后解释。

Itemic-Textual 交错推理

OneRec-Think 展示了一种独特的推理模式:推理链中同时出现文字 token(描述偏好/逻辑)和 itemic token(直接引用具体 item),形成"文字-item"交错的推理路径。这使推理更精准——itemic token 锚定具体内容,文字 token 进行因果逻辑推断,两者协同超越了单模态推理。

例如:推理"用户近期观看了 <s_a_3313><s_b_4487>(某款车评视频),结合搜索记录推断有购车意图,因此推荐 <s_a_1966><s_b_2581><s_c_6305>(汽车优惠活动视频)" — itemic token 直接出现在推理文本里,比纯文字描述更精确。
§5 总结与个人思考

论文核心贡献

技术创新点

  • 首次将 CoT 推理完整引入端到端生成式推荐
  • 两步 Bootstrap(剪枝→蒸馏)解决嘈杂序列上的推理激活难题
  • Rollout-Beam Reward 解决推荐场景 RL 奖励稀疏问题
  • Think-Ahead 架构解决推理延迟问题,实现工业部署

工程价值

  • 公开 benchmark 全面 SOTA
  • 快手线上 A/B:Stay Time +0.159%(亿级用户)
  • Follow/Forward 大幅提升,体现深层个性化效果
  • 基础设施:每日 20B token 增量训练,保持时效性

亮点解析

训练-推理一致性(Training-Inference Consistency):Rollout-Beam Reward 用 beam search 作为奖励计算方式,而推理时也用 beam search 解码。这种一致性是关键设计原则——训练奖励信号直接反映推理时的实际表现,避免了训练与推理脱节的问题。
多义性感知奖励(Multi-Validity Reward):用 beam search 的 K 个候选中取最优,隐式承认了"用户感兴趣的 item 不止一个"这个现实。这比传统"只有 ground truth 得分"的奖励更符合推荐任务的本质。
Itemic-Textual 交错推理:推理路径中直接引用 itemic token(如"用户看了 <item_a_xxx> 这类视频…"),而不是用文字描述 item,使推理更精准且保持了模态一致性。这是 LLM 推理在多模态场景的一次有趣探索。

局限与未来方向

  • 公开数据集偏弱:Amazon 数据集序列较短、item 空间较小,无法充分验证 Reasoning Activation 和 Enhancement 的全部能力。作者正在构建大规模 benchmark 以支持更全面评估。
  • 长序列用户建模:当前方案对超长行为历史仍有挑战,论文提到未来会探索用户长序列建模。
  • 更密集的 RL 奖励:当前 Rollout-Beam Reward 还是基于 item 命中的稀疏信号。作者提到将探索更细粒度的 dense reward,对推理过程本身打分。
  • 与 GRPO 的联系:本文 RL 阶段本质是 GRPO(Group Relative Policy Optimization)的推荐定制版——同一用户历史生成多个 rollout,用 Rollout-Beam Reward 替换了标准 GRPO 中的 pass@k 奖励。推荐领域的 RL 训练方法与 LLM 推理训练正在深度融合。

对推荐系统研究的启发

"生成式推荐 + 显式推理" 这条路线的商业验证(+0.159% Stay Time),可能标志着推荐系统从"特征工程 + CTR 预估"到"LLM 全链路"范式迁移的加速。未来推荐系统可能不再是一个"黑盒打分器",而是一个能够"理解用户、解释决策、动态对话"的智能助手。