晨光里的AI

固定版本 · 查看当前页面

从「黑盒向量」到「用户『话』像」:解开用户画像之谜

晨旭 · 内容日期 2026-02-10。此页保留当时的文本、性质和段落,不用于判断现在是否仍然有效。

版本 e9e03a1911772e602b50f78ee9c4899d45c9880fa6b465b696afc50d7dc141e3 · 读取 JSON

p1

在接触 LLM 之前,我其实并没有深究过传统的推荐算法中,用户画像到底是如何存储的。直到大模型出现,我习惯了直接在 prompt 里用自然语言描述用户画像作为长期记忆。

p2

这时听到别人说「传统的用户画像是用向量存储的」,我一度非常困惑:用向量存储,不也是从文本转化过去的吗?那直接找到向量化之前的文本不就好了吗?

p3

带着这个问题,我查阅了相关资料,并梳理了近期的三篇相关论文。这篇文章先从传统推荐的局限性出发,再依次根据三篇论文,梳理从「黑盒向量」到「用户话像」的演进。

p4

一、传统推荐算法的黑盒:三道围墙

p5

第一阶段:标签化时代——人是一张「属性表」

p6

这是最早期、最直观的方法。系统通过用户填写的资料或简单的统计规则,给用户打上显性的标签,画像形式是结构化的数据库字段:

p7

User_123 = { 性别: 男, 年龄: 25-30, 地域: 北京, 兴趣标签: [科技, 电影] }

p8

构建方式有两种:显性收集(注册时让用户选感兴趣的领域)和规则统计(如果用户过去 7 天看了 5 次电影解说视频,后台跑个脚本给他打上「电影迷」)。

p9

局限性也很明显:颗粒度太粗——用户喜欢电影,是喜欢恐怖片、国内电影还是国外电影?标签无法区分;静态僵化——标签一旦打上很难实时更新,用户可能只是因为这两天有一部高票房电影才看的,过了这周就不看了,但标签还在。

p10

第二阶段:协同过滤时代——人是「和你相似的人的集合」

p11

这是推荐系统爆发的起点。系统不再关心你是谁,只关心你买了什么,以及和你买一样东西的人还买了什么。

p12

画像形式是稀疏矩阵中的一行(One-hot 向量):把所有商品排成一排,买过就是 1,没买过就是 0,画像就是一个超级长的 [0,0,1,0,1,...]。

p13

核心算法是矩阵分解:系统试图将这个巨大的稀疏矩阵,分解为用户矩阵和物品矩阵两个小矩阵。在这个阶段,用户被压缩成了一个低维的隐向量。

p14

局限性:完全黑盒——这个隐向量里的数字(比如 0.85)代表什么,没人知道;冷启动必死——新用户没买过东西,矩阵里全是 0,系统只能推热门榜单。

p15

第三阶段:深度学习与 Embedding 时代——人是「高维空间中的一个坐标点」

p16

这是 LLM 爆发前夜的主流技术,画像形式是稠密向量,通常是 64 维、128 维或 256 维的实数数组。

p17

构建方式包括:ID Embedding(给每个用户分配专属 ID,通过神经网络训练让这个 ID 对应的向量能预测他会点击什么)、序列建模(利用 RNN、GRU 或 Transformer 把用户的点击历史序列输入模型)、多塔融合(把用户的 ID、点击历史、人口属性全部变成向量拼接在一起)。

p18

局限性:精准但不可解释——这种方法在点击率预测上极其精准,系统知道向量 A 和向量 B 算出的分数很高,但无法用人类语言解释为什么;ID 依赖——如果用户换了新账号,或者去了新平台,之前的向量通常就废了;信息有损压缩——把用户丰富多彩的行为压缩成几个数字,大量语义信息丢失了。

p19

小结:LLM 介入前的三个痛点

p20

在 LLM 介入之前,用户画像系统大概是这样的:系统把用户看作一串 ID 序列,通过深度神经网络将这些 ID 映射为高维空间中的一个坐标点,然后寻找离这个坐标点最近的物品坐标点进行推荐。

p21

这导致了三个长期无法解决的问题:

p22

- 不可解释性:「为什么给用户推这个?」工程师只能说:「因为模型算出来的分高。」 - 交互被动性:模型只能等着用户点击、猜用户的意图,而不会开口问「你是想看科幻片还是动画片?」 - 平台割裂性:用户在 A 应用的画像是向量 a,在 B 应用是向量 b,两者无法互通。

p23

现在的演进方向,是把 [0.12, -0.56, ...] 这样的向量,还原成一句有温度的话:「这是一个喜欢在深夜看科幻电影,且对画质要求极高的用户。」

p24

这不仅是格式的转换,更是思维的跃迁。

p25

二、范式重构:当大模型接管「人设」

p26

面对传统画像留下的黑盒、被动、孤岛三大问题,研究者们发现:LLM 不仅是一个聊天工具,它天然就是人类偏好最佳的解压缩器。

p27

1、解释层:让推荐系统「说人话」

p28

当传统模型还在计算向量距离时,新的研究开始尝试一种「双重叙事」策略。这一阶段的模型架构非常巧妙——它并没有抛弃传统推荐系统,而是给它装上了一个翻译官。

p29

(1)短期记忆 vs 长期记忆

p30

系统开始像人类一样,用两种不同的焦距审视用户:

p31

- 短期记忆(显微镜视角):用户这周密集点击了雨伞、防水鞋,传统模型只会打上「雨具爱好者」的标签,但 LLM 能基于常识推断——这是基于近期雷雨天气的情境需求,而非用户爱上了收藏雨伞。 - 长期记忆(望远镜视角):从用户长达三年的观影记录中,LLM 能够透过现象看本质——用户偏爱探讨人性阴暗面的黑色电影,而非仅仅是喜欢「惊悚」这个浅层标签。

p32

(2)技术拆解:双重文本画像生成

p33

这种架构采用了「LLM 生成文本 + BERT 编码向量」的混合模式,既利用了 LLM 的理解力,又保留了向量计算的高效性。

p34

第一步是双路 Prompting:系统将用户的交互历史输入给 LLM,用两套截然不同的 prompt 来套话。Prompt A 侧重近期行为,生成「用户最近几天沉迷于快节奏的动作爽片」;Prompt B 侧重全局历史,生成「用户长期以来对复杂的道德剧和黑色幽默情有独钟」。

p35

第二步是动态注意力融合:生成的两段文本先通过预训练的 BERT 转化为高维向量,最精妙的设计在于随后的注意力网络——模型会动态计算两个权重。对于口味多变的电影用户,可能给短期偏好更高的权重;对于忠诚的游戏玩家,长期偏好的权重可能更高。

p36

于是就有了这样的解释:推荐《赎罪》,70% 是因为用户昨晚刚看了类似的爱情悲剧(短期权重),30% 是因为它符合用户一贯对高质量英伦片的审美(长期权重)。

p37

这种双塔注意力机制的引入,让推荐系统第一次拥有了逻辑。

p38

(3)局限性:旧瓶装新酒

p39

它虽然引入了 LLM 做翻译,但最终的决策依然回到了 Embedding。用户的画像本质上依然被锁死在特定的向量空间里,无法跨模型迁移。

p40

2、交互层:拒绝冷启动,Agent 学会「主动搭讪」

p41

解决了解释问题后,下一步是解决冷启动。如果用户什么都没做,LLM 怎么猜?答案是:像人一样去问,并且只在必要时才开口。

p42

PersonalAgent 架构将用户画像从静态的数据库升级为了动态的马尔可夫决策过程。在这个阶段,画像不再是静态文件,而是一个拥有元认知能力的后台大脑。

p43

(1)将画像视为流式决策

p44

不同于上一阶段粗糙的文本摘要,PersonalAgent 维护了一个结构严谨的层级化画像体系。它参考百万级真实对话数据,定义了 11 个大类(基本信息、兴趣偏好、消费观等)和 300 多个子类,作为可维护的结构化记忆。

p45

写入时不是随便写一段「用户喜欢 xxx」,而是往这些记忆槽位里填写更明确的属性;冷启动时,把「该问什么」变成了「优先补齐哪些槽位」,从而更系统地生成个性化追问。

p46

流程是:用户提出请求(如「推荐个餐厅」)时,Agent 先在画像里检索,然后问自己一个关键问题——如果我不问这一句,还能完美回答用户吗?画像里有「喜辣、人均 200」就直接生成答案,保持静默绝不打扰;画像缺失且这个缺失会严重影响推荐质量(比如不知道是否过敏),才触发提问机制。

p47

这就像一个优秀的服务员:只有在必须确认牛排几分熟时才打断你,而不是每上一道菜都问你「好吃吗」。

p48

(2)训练的艺术:GRPO 与严厉的裁判

p49

有了规则还不够,还得让模型学会「问什么」。研究者没有简单地使用 SFT,而是引入了 GRPO 强化学习。

p50

教材选择:为了让模型不讲废话,专门构造了一套名为 ALOE-Unseen 的数据,全是仅凭现有画像无法回答的刁钻场景。模型被迫在这个环境里反复练习:面对这个请求,我到底缺哪个关键的用户画像槽位?

p51

严厉的裁判:设计了一个基于 LLM 的裁判,从四个维度给 Agent 的每一次发言打分——完整性(关键偏好是否捕捉全了)、无幻觉(绝不凭空给用户贴标签)、信息量(问就要问出关键信息)、一致性(别前后矛盾,反复问同一类问题)。

p52

总结一下:先用已有画像把能答的都答了;只有当缺的这个信息会显著影响结果时,才用最少的问题补齐;并且严格避免臆测用户。

p53

从这一阶段开始,用户画像活了。它不再是数据库里的一行代码,而是一个随着对话不断生长、自我修正、且懂得适度打扰的智慧伴侣。

p54

3、通用层:文本即通用接口

p55

演进的终局,是彻底打破平台与模型之间的壁垒。在 AlignXplore+ 等前沿工作中,研究者提出了一个观点:抛弃所有向量,文本即是唯一的通用接口。

p56

这里有一个小问题:上一节的 Agent 不是还在用结构化的 Schema(11 大类、300 子类)来管理记忆吗?这岂不是又造了一个新的私有格式?

p57

其实可以这样理解:AlignXplore+ 证明的是「文本摘要可以作为跨模型、跨任务的通用偏好接口」。工程实现上,完全可以在内部使用结构化 schema 做偏好治理(缺口检测、去重与冲突消解),再将其导出为可迁移的文本摘要供不同模型消费。

p58

(1)跨越边界:从适配到直连

p59

论文实验表明,将在源任务中生成的文本画像,直接作为 context 喂给目标任务,无需特定微调或对齐层,即可获得显著的效果提升。

p60

这意味着,用户的偏好不再被锁死在某个应用的数据库里,而是具备了流动的可能。基于此可以畅想一个未来:用小参数模型维护的画像文本,可以被超大模型直接读取,画像将从平台的附属品,变成用户可携带、可检查、甚至可修改的独立数字资产。

p61

(2)技术拆解:两阶段训练

p62

那么如何保证这段文本足够精准,且能被下游模型理解?论文使用了「SFT + 课程强化学习」双重技术栈,核心逻辑是——以未来预测现在的准确性。

p63

SFT 阶段的逆向推理数据合成:直接让 LLM 总结历史往往会得到「正确的废话」。作者设计了一条严苛的流水线:先用用户未来的真实交互作为靶子,反问模型「用户为什么会做这个选择」,从而倒推偏好文本;然后做行为验证,生成的文本摘要必须能准确预测用户的下一次行为,预测不对直接扔掉;最后把验证通过的碎片化偏好整合成完整的用户侧写。

p64

RL 阶段的课程学习:太简单的样本(一眼看穿)不要,太难的(纯噪音)不要,只训练那些需要推理才能懂的高价值样本;奖励那些不仅当前预测对了、且对流式场景下的长期交互有帮助的画像描述。

p65

(3)降维打击的效果

p66

复杂兴趣的解耦:传统向量模型在处理复杂用户时容易取平均值,而文本接口能保留这种复杂性。比如用户可能「独处时偏好深度科幻,饭点时偏好轻松综艺」,大模型能读懂这种基于场景的双重需求,而不会像向量那样把两者混合成一团模糊的噪声。

p67

上下文的统一:推荐系统(通常基于向量和 ID)和对话系统(通常基于文本)之间长期存在一种类似生殖隔离的壁垒。现在,通过将推荐系统中的交互信号蒸馏为通用的文本画像,推荐数据终于可以被对话模型无缝消费。文本,成为了连接不同 AI 模型的通用货币。

p68

最后

p69

至此,我们完成了从「冷冰冰的坐标点」到「有血有肉的人物小传」的技术跨越。

p70

传统推荐系统是在高维空间里做几何题,而 LLM 是在阅读理解你的人生。

该版本的判断

传统用户画像并不存在「向量化之前的那句文本」。它不是先写一句话再压成向量,而是直接从行为 ID 序列学出来的坐标点,所以那些数字天生就不可读。

fact · 2026-02-10 · 信心 high

LLM 介入之前,用户画像有三道围墙:不可解释(工程师只能说模型算出来分高)、交互被动(只能等用户点击去猜,不会开口问)、平台割裂(A 应用的向量到 B 应用就废了)。

judgment · 2026-02-10 · 信心 high

LLM 不只是一个聊天工具,它天然就是人类偏好最好的解压缩器——能把「喜欢惊悚片」这样的浅层标签还原成「偏爱探讨人性阴暗面的黑色电影」这种真正的动机。

judgment · 2026-02-10

好的主动提问机制不是逢问必问,而是先用已有画像把能答的都答了,只有当缺失的信息会显著影响结果时才用最少的问题补齐。像优秀的服务员只在确认牛排几分熟时才打断你。

judgment · 2026-02-10 · 信心 high

文本摘要可以作为跨模型、跨任务的通用偏好接口——源任务生成的文本画像直接喂给目标任务,无需微调或对齐层就能获得显著提升。用户画像因此有可能从平台的附属品变成用户可携带的数字资产。

judgment · 2026-02-10 · 信心 medium

2026-10 复核:已证实。前半句被后来的判断反复印证——文本归档优于向量库(local-archive-over-vector-db)、主动检索文本优于被动向量召回(grep-beats-passive-rag)、知识库属于本人且换 Agent 不丢(knowledge-base-is-upstream-of-memory);本站的 profile.json 与 export:self 就是一份交给任意 Agent 的文本画像。后半句目前只在个人层面实现,行业层面是否转向尚未判断。