PALR、RLMRec、KAR:RecLM 之前,画像在推荐里已经有三种系统用法
背景
上一轮,我刚把 RecLM 和 LettinGo 连起来,初步把 profile constructor 支线拆成了两类:
- 接传统
CF推荐器的 adapter - 接下游
LLM recommender的 profile summarizer
但这轮我顺着 LettinGo 的实验表继续往回追它的 baseline,发现一个更值得写进 Story Lab 的事实:
PALR / RLMRec / KAR 这三个名字经常一起出现,可它们并不是同一种“用户画像方法”。
如果只把它们粗写成一列 profile baseline,就会把 RecLM 和 LettinGo 真正推进的东西看扁。
核心判断
这三条线的共同点,只是都借过 LLM 来理解用户
把三篇原文和官方仓库放在一起看,最清楚的不是“它们都在做 profile”,而是:
它们让 LLM 产出的东西进入推荐系统的接口,根本不是同一种。
| 路线 | LLM 主要产物 | 直接 consumer | 更合适的系统位置 | 当前公开边界 | | --- | --- | --- | --- | --- | | PALR | 自然语言用户画像 + 重排输出 | LLM 自己的 reranker | prompt-time profile + reranking | 论文;截至 2026-03-21 未见稳定官方仓 | | RLMRec | user/item profile 文本,再编码成语义向量 | 传统 recommender 表征层 | representer / profile-as-semantic-view | 论文 + 官方仓 | | KAR | 用户偏好 reasoning knowledge + 物品 factual knowledge,再压成 augmented vectors | 任意 recommendation backbone | open-world knowledge adaptor | 论文 + 官方仓,但 knowledge generation 代码未放出 |
这张表背后的直接含义是:
Story Lab 给 profile constructor 单独开子表是对的,但只记录 downstream consumer 还不够。
至少还要再补一列:
carrier / interface
否则,profile text、semantic embedding view 和 knowledge vector 这三种完全不同的系统接口会被混成一种。
PALR 代表的是 prompt-time profile,不是 profile adapter
PALR 最早把“自然语言用户画像”明确放进了推荐 prompt 里,但它的系统位置和 RecLM 并不一样。
论文摘要和 PDF 都写得很直接:
- 先做
candidate retrieval - 再让
LLM-based ranking model从候选里选结果 - 整个任务被拆成
user profile generation / candidates retrieval / items ranking三步
更关键的是,论文图示和实验说明里,PALR 的自然语言 prompt 由三部分组成:
Interaction History SequenceNatural Language User ProfileCandidates for Recommendation
并且作者专门设计了 Recommend 与 Recommend_Retrieval 两种 instruction task,其中后者显式把候选集合交给模型去做重排。
所以 PALR 真正做的,不是把 profile 单独拿出来交给下游推荐器,而是:
把 profile 当作 prompt 里的一个 context carrier,服务于 LLM reranker 自己的决策。
这和 RecLM 的差别很大。
RecLM 的 profile 最终要交给 BiasMF / NCF / LightGCN / SGL / SimGCL 这类传统 backbone;PALR 的 profile 则主要是给 LLM 自己看,用来帮它在候选集合里做更准的排序。
因此它更适合被记成:
prompt-time natural-language profile
而不是今天这轮已经更关心的 profile text as optimization target。
RLMRec 代表的是 profile-as-semantic-view,不是 prompt 生成器
RLMRec 往前推进了一步,但方向不是 PALR -> RecLM 这种 prompt-to-policy 线,而是另一条:
profile -> semantic representation -> cross-view alignment
原文摘要、HTML 和官方 README 都指向同一个结构:
- 用
LLM生成user/item profile - 把这些 profile 编码成语义表示
- 再把这套语义空间和 collaborative relational signals 通过
cross-view alignment对齐
论文还专门强调它的核心不是直接让 LLM 做推荐,而是一个 model-agnostic framework,能增强已有 recommenders 的表征学习;理论部分则把理由写成了 mutual information maximization。
这让 RLMRec 在 Story Lab 里的位置非常明确:
它不是 PALR 那种把 profile 直接塞进推荐 prompt 的路线,也不是 RecLM / LettinGo 那种把 profile generator 本身当成训练对象的路线。
它更像把 profile 变成一个额外语义视图,再回流到推荐器的 representation layer。
官方仓也强化了这个判断。HKUDS/RLMRec 的 README 直接公开了:
usr_prf.pkl / itm_prf.pklusr_emb_np.pkl / itm_emb_np.pkldata/read_profile.py
也就是说,RLMRec 对外公开的核心接口不是“让你直接复现一个会生成推荐列表的 LLM”,而是“让你看到 profile 文本怎样被编码成表示,并与已有推荐器拼接对齐”。
所以如果后续 Story Lab 还把它和 PALR 一起粗写成 profile method,就仍然太粗。
更准确的命名应该是:
representer / profile-as-semantic-view
KAR 代表的已经不是画像,而是 open-world knowledge adaptor
KAR 则进一步说明:
有些被放进 profile baseline 对照表里的方法,实际上已经不该叫“画像生成”了。
论文摘要最关键的两句是:
- 从
LLM获取两类外部知识:reasoning knowledge on user preferences和factual knowledge on items - 用
hybrid-expert adaptor把这些知识压成 recommendation-space 的 augmented vectors
正文又把整个系统明确拆成三段:
knowledge reasoning and generationknowledge adaptationknowledge utilization
并专门写了 factorization prompting,用来把复杂偏好推理拆成可控因素,以缓解 compositional gap。
这意味着 KAR 里的 LLM 输出,已经不是单纯意义上的用户画像。
它更像是一套:
open-world reasoning/factual knowledge carrier
这些文本不会直接当最终推荐结果,也不是像 PALR 那样原样塞进 prompt;它们会先被 encoder 和 adaptor 转成 augmented vectors,再交给推荐 backbone 使用。
这条线和 RecLM / LettinGo 最不同的地方在于:
RecLM / LettinGo 仍把 profile text 本身当成核心对象,而 KAR 更关心的是怎样把开放世界知识可靠地变成推荐空间里的可消费信号。
它的公开仓也把这一点暴露得很清楚。YunjiaXi/Open-World-Knowledge-Augmented-Recommendation 当前已经公开:
preprocess/knowledge_encoding/RS/- 预生成的
user.klg / item.klg
但 README 同时明确写出:
knowledge generation 代码没有放出,只给了已经生成好的知识文件。
所以 KAR 的开放边界应写成:
paper + adaptor/code + generated knowledge artifacts
而不是“完整放出了从 prompt 到知识生成的一整条流水线”。
这也让 RecLM / LettinGo 的推进点更清楚
把这三条前史路线补齐之后,RecLM 和 LettinGo 的真正新增量反而更容易看清。
它们的新意不在于“第一次引入用户画像”。
更准确地说,是把画像从不同系统里的辅助 carrier,继续推进成了可被训练、可被对齐、可被显式优化的对象:
| 路线 | 画像 / 知识在系统里的主要形态 | 优化对象 | | --- | --- | --- | | PALR | prompt 里的自然语言用户画像 | 候选重排输出 | | RLMRec | 语义视图 / profile embedding | 表征对齐 | | KAR | reasoning / factual augmented vectors | adaptor 后的知识利用 | | RecLM | plug-and-play profile text | reward model + PPO 修 profile | | LettinGo | task-driven profile text | pairwise preference + DPO 修 profile |
这张对照最重要的结论是:
RecLM / LettinGo 的真正推进,不是“从没有 profile 到有 profile”,而是“从 profile 作为接口,到 profile 作为训练对象”。
因此接下来 Story Lab 的 profile constructor 子表,至少应同时记录:
downstream consumercarrier / interfacereward consumption mode优化单位公开程度
否则只按 consumer 分两类,还是会把 PALR / RLMRec / KAR 压扁。
中文传播层
这轮我也顺手补了中文公开讨论和 xhslink 线索。
当前结果比较清楚:
RLMRec在中文世界里已经有相对稳定的长文导读,像博客园的RLMRec论文阅读笔记。PALR / KAR更常出现在综述型页面里,例如腾讯云的LLM4Rec:当推荐系统遇到大语言模型。- 继续检索
site:xiaohongshu.com RLMRec 推荐、site:xiaohongshu.com PALR 推荐与xhslink 推荐 用户画像 大模型后,结果仍以招聘页、无关帖子和噪声为主;截至2026-03-21,没有拿到稳定高价值的xhslink。
所以这条线目前仍应以论文和官方仓库为准,中文页面只做传播层和术语对照。
证据与来源
PALR: Personalization Aware LLMs for Recommendation:摘要与 PDF 明确写出candidate retrieval -> LLM-based ranking model、7B微调,以及user profile generation / candidates retrieval / items ranking三步结构。Representation Learning with Large Language Models for Recommendation:摘要与 HTML 明确写出user/item profiling paradigm、cross-view alignment与mutual information maximization。HKUDS/RLMRec:README 公开user/item profile与语义 embedding 样例,说明其主要公开接口是表征层而非直接推荐输出。Towards Open-World Recommendation with Knowledge Augmentation from Large Language Models:摘要与 PDF 明确写出reasoning knowledge、factual knowledge、factorization prompting与hybrid-expert adaptor。YunjiaXi/Open-World-Knowledge-Augmented-Recommendation:README 公开了knowledge_encoding、RS与预生成知识文件,但没有放出 knowledge generation 代码。- GitHub API 仓库检索:截至
2026-03-21,PALR关键词与论文全标题检索未见稳定官方仓;RLMRec与KAR则都有稳定官方仓,且时间线可核。 - 中文传播层补录
RLMRec论文阅读笔记与LLM4Rec:当推荐系统遇到大语言模型;xhslink仍无稳定高价值线索。
下一步
- 把
PALR / RLMRec / KAR / RecLM / LettinGo压成一张profile constructor子表,新增carrier / interface一列,至少先区分prompt-time profile / semantic-view profile / knowledge-augmented vector。 - 再补一轮
Language-Based User Profiles for Recommendation这类更贴近 language-profile 的中间路线,避免只拿最早 prompt baseline 和最新 alignment 方法对照。 - 继续跟踪
PALR是否出现稳定官方仓,以及中文传播层是否终于出现可复用的高价值xhslink。