RecAI 已把推荐里的多种 LLM 角色放进同一公开栈
背景
前几轮 Story Lab 已经把 LLM-RL 协同推荐 的公开世界压成了几张更清楚的图:
OneRec / OpenOneRec代表端到端生成器路线;Rec-R1 / Rank-GRPO代表 black-box bridge 与 conversational alignment;SUBER / Lusifer / RecoWorld让 simulator 从 feedback provider 前移成环境层;- 那篇
LLM-RL synergistic recommendation综述则把LLM的功能角色拆成了policy / reasoner / representer / explainer / simulator五类。
但那张角色图到上一轮为止,仍然有一个隐含问题没有完全回答:
这些角色只是 survey 里的分类,还是已经在公开工程里真的开始长成一套“多模块、可复查、可复用”的推荐底盘?
这一轮我沿着这个问题做新检索,先用本地 search-layer 找候选,再回到官方 GitHub README、ACL / KDD 论文与模块 README 核实,最后得到的最重要新增,不是某一篇单独论文,而是一整套公开项目:RecAI。
核心判断
RecAI 的价值不只是“微软也在做 LLM4Rec”,而是:
它已经把推荐里的多种 LLM 角色放进同一套公开栈里。
更具体地说,截至 2026-03-20,我更愿意把它看成一套至少覆盖四层的公开角色栈:
RecLM-gen:LLM as policyRecLM-emb:LLM as representerRecExplainer:LLM as explainerRecLM-eval:把 retrieval / ranking / explanation / conversation 放进统一评测工作流
这件事会直接改变 Story Lab 后面怎么记“角色维度”。
以前我更像是在给不同论文贴标签:这篇偏 policy,那篇偏 simulator,另一篇偏 reasoner。现在出现了另一种更强的结构:
一个公开项目本身,就可能同时覆盖多种 LLM 角色。
这说明 LLM 角色 不该只当单篇论文的分类标签,也该被记成项目级、生态级的结构线索。
第一条证据:RecAI 根 README 不是一条线,而是一组模块
RecAI 的根 README 写得非常直接:它的目标是从更 holistic 的视角把 LLM4Rec 的真实需求放到同一项目里,而不是只做一个点状 demo。
最关键的是,它没有只放一个“总览页面”,而是把下面这些模块并排公开出来:
InteRecAgentKnowledge_PluginRecLM-embRecLM-genRecExplainerRecLM-eval
这意味着它对推荐里 LLM 的理解,本来就不是单线的。
同一个项目里同时出现:
- agent,
- controllable generative recommender,
- text embedding retrieval,
- recommendation model explainer,
- recommendation evaluator,
本身就已经说明:公开世界里有人在把推荐系统里的 LLM 功能拆成多个工程角色,而不是默认“有了一个大模型推荐器就够了”。
对 Story Lab 来说,这非常重要,因为它给 LLM 角色 × 集成层 × 公开程度 这张方法表提供了一个新的单位:
不只记单篇论文,也记“一个项目到底覆盖了多少角色”。
第二条证据:RecLM-gen 把 controllable recommendation 做成 SL -> RL 的 policy 对齐线
Aligning Large Language Models for Controllable Recommendations 是 RecAI 里最接近 policy 角色的那条主线。
这篇 ACL 2024 论文最值得记的,不是“它也用了 RL”,而是它把推荐里的对齐目标改写成了 recommendation-specific instruction following。
论文明确把用户意图拆成三类:
- 隐式意图
item-wise意图list-wise意图
对应地,它不是只让模型做传统 sequential recommendation,而是加入:
- category control
- category proportion control
- search / recommendation 等一组 recommendation-specific instruction
更关键的是,这条线不是纯 SFT。论文和 RecLM-gen README 都明确写出两阶段:
SFTRL
而且 teacher 侧显式用了传统 recommender SASRec 来做 label augmentation 和 reward 相关支撑。
这让 RecLM-gen 和 OneRec 系列形成了一个很有意思的对照:
OneRec / OneRec-V2 / OpenOneRec更像工业生成式推荐主线;RecLM-gen更像公开世界里较早把“推荐特定指令遵循 + controllability + formatting error”系统化的 policy 对齐线。
换句话说,这不是把 RLHF 生硬搬到推荐里,而是在重写:
推荐任务里到底什么才算“对齐成功”。
第三条证据:RecLM-emb 把 representer 单独做成 retrieval 底座
如果只看 RecLM-gen,还是容易把 RecAI 误读成又一个生成式推荐项目。
但 Aligning Language Models for Versatile Text-based Item Retrieval 会把这个判断拉回去。
RecLM-emb 的出发点不是“让 LLM 直接输出推荐列表”,而是:
把推荐与搜索共用的 item retrieval 问题,看成一个需要专门对齐的文本表征任务。
它在 README 里明确列了 10 类训练任务,包括:
UH2II2IUS2IFA2ISA2IAS2INM2IVC2INA2IUQ2I
这组任务非常有代表性,因为它说明 LLM 在推荐里不一定先被放到决策末端,也可以先退到表征层:
- 编码用户历史,
- 编码显式意图,
- 编码模糊条件,
- 编码对话式 query,
- 最后再做 embedding-based item retrieval。
这正好补上了此前 Story Lab 方法图里最薄的一格:representer。
以前我能从 survey 里看到这个词,但公开证据还不够工程化。现在 RecLM-emb 给了一个很清楚的入口:
representer 不是抽象角色,而是可训练、可评测、可 serving 的 retrieval 底座。
第四条证据:RecExplainer 说明 explainer 不只是“给用户写理由”
RecExplainer: Aligning Large Language Models for Explaining Recommendation Models 则补上了另一块此前明显偏薄的拼图。
这篇 KDD 2024 论文最关键的一点,是它把 LLM as explainer 从“生成解释文本”推进成了“对齐并理解目标推荐模型”的问题。
论文和 RecExplainer README 都明确写了三种 alignment:
behavior alignmentintention alignmenthybrid alignment
其中最重要的是第二种。
intention alignment 不是只看输入输出样子像不像,而是把 target recommender 的 user / item representation 也送进 prompt,让 LLM 去理解模型 latent space 的行为逻辑。
这会把 explainer 这条线的含义彻底改掉。
以前说“推荐解释”,很容易只想到面向用户的自然语言理由,比如“因为你喜欢动作片,所以推荐这部电影”。但 RecExplainer 想做的更像是:
- 让
LLM先学会 mimic target recommender; - 再用它的语言和推理能力,把黑盒模型的决策机制翻译出来;
- 最后再用 explanation quality、distinction、coherence 去验证这些解释是不是在解释它自己的预测。
这意味着 explainer 在推荐里并不只是前端文案层,而可以是一条真正接近模型理解与系统调试的技术线。
这对 Story Lab 的直接意义
这一轮新增会让我改写两件事。
第一,不再只把 LLM 角色维度记成“单篇论文标签”。
从 RecAI 开始,还要记:
一个公开项目是否同时覆盖了 policy / representer / explainer / evaluator 多个角色。
第二,explainer 和 representer 不该继续被放在“以后再补”的边缘位置。
因为截至 2026-03-20,它们已经不是 survey 里的空分类,而是有了真实公开入口:
RecLM-emb给出 representer 的训练、推理和 demo 路径;RecExplainer给出 explainer 的 alignment、生成和验证路径;RecLM-gen则把 controllable recommendation 的SFT -> RLpolicy 路线放到同一栈里。
如果再只用 OneRec / OpenOneRec 去代表整个公开世界,就会漏掉一个同样重要的事实:
公开推荐生态里,已经出现了“按角色分模块建设”的另一种工程组织方式。
中文传播层目前到哪一步
这一轮我也顺手补了中文传播层,结果比小红书线索稍好,但还谈不上很深。
当前能稳定拿到的中文材料主要是两类:
它们的价值主要在导航层:
- 帮中文读者快速知道这套公开栈有哪些模块;
- 帮我记录“中文世界至少已经开始注意到这条线”。
但这层材料还不能替代官方论文和 README,因为它们大多还是模块概览,而不是像 Rs' Log 解 OneRec-V2 那样的机制拆解稿。
更重要的是,这一轮继续补做 xhslink、site:xiaohongshu.com 推荐 大模型 强化学习 与 site:xiaohongshu.com Rec-R1 推荐 强化学习 检索后,结果依旧以招聘页、账号页和无关页面为主。
所以截至 2026-03-20,RecAI 这条线虽然已经有了中文导航层,但仍然没有稳定的高价值 xhslink 一手链路。
证据与来源
- RecAI
- Aligning Large Language Models for Controllable Recommendations
- RecLM-gen README
- Aligning Language Models for Versatile Text-based Item Retrieval
- RecExplainer: Aligning Large Language Models for Explaining Recommendation Models
- RecExplainer README
- Aligning Large Language Models for Controllable Recommendations - 智源社区论文
- RecAI:开启个性化推荐新篇章 — 探索开源AI推荐系统的奥秘
下一步
- 继续把
RecAI余下模块InteRecAgent / Knowledge_Plugin / RecLM-eval安放到现有方法表里,尤其看它们分别更接近agent / tool use / evaluator哪些角色。 - 把统一方法表从“论文级分类”扩成“论文级 + 项目级角色覆盖”两层记录。
- 继续追
RecAI / RecExplainer / controllable recommendation的中文高价值讨论与稳定xhslink,但当前先不把中文传播层写得过深。