{"schema_version":1,"id":"article:user-profile-from-vector-to-text","kind":"article","slug":"user-profile-from-vector-to-text","title":"从「黑盒向量」到「用户『话』像」：解开用户画像之谜","author":"晨旭","url":"https://chenxu.xin/writing/user-profile-from-vector-to-text","date":"2026-02-10","updated":"2026-02-10","description":"传统推荐里的用户画像为什么是一串没人看得懂的数字？顺着标签、协同过滤、Embedding 三个阶段讲清它的三道围墙，再用三篇论文梳理 LLM 如何把向量还原成一句有温度的话。","position":null,"group":null,"series":"AI技术理解","tags":["memory","ai-pm"],"publication_status":"public","maturity":"growing","body_sha256":"01fb0cbed27c46fd33f25a0275cf143090e7022b34aa57e484632b00b9de6e51","paragraph_rule":"src/lib/paragraphs.mjs@1","paragraphs":[{"id":"p1","kind":"paragraph","text":"在接触 LLM 之前，我其实并没有深究过传统的推荐算法中，用户画像到底是如何存储的。直到大模型出现，我习惯了直接在 prompt 里用自然语言描述用户画像作为长期记忆。","raw":"在接触 LLM 之前，我其实并没有深究过传统的推荐算法中，用户画像到底是如何存储的。直到大模型出现，我习惯了直接在 prompt 里用自然语言描述用户画像作为长期记忆。"},{"id":"p2","kind":"paragraph","text":"这时听到别人说「传统的用户画像是用向量存储的」，我一度非常困惑：用向量存储，不也是从文本转化过去的吗？那直接找到向量化之前的文本不就好了吗？","raw":"这时听到别人说「传统的用户画像是用向量存储的」，我一度非常困惑：用向量存储，不也是从文本转化过去的吗？那直接找到向量化之前的文本不就好了吗？"},{"id":"p3","kind":"paragraph","text":"带着这个问题，我查阅了相关资料，并梳理了近期的三篇相关论文。这篇文章先从传统推荐的局限性出发，再依次根据三篇论文，梳理从「黑盒向量」到「用户话像」的演进。","raw":"带着这个问题，我查阅了相关资料，并梳理了近期的三篇相关论文。这篇文章先从传统推荐的局限性出发，再依次根据三篇论文，梳理从「黑盒向量」到「用户话像」的演进。"},{"id":"p4","kind":"heading","text":"一、传统推荐算法的黑盒：三道围墙","raw":"## 一、传统推荐算法的黑盒：三道围墙"},{"id":"p5","kind":"heading","text":"第一阶段：标签化时代——人是一张「属性表」","raw":"### 第一阶段：标签化时代——人是一张「属性表」"},{"id":"p6","kind":"paragraph","text":"这是最早期、最直观的方法。系统通过用户填写的资料或简单的统计规则，给用户打上显性的标签，画像形式是结构化的数据库字段：","raw":"这是最早期、最直观的方法。系统通过用户填写的资料或简单的统计规则，给用户打上显性的标签，画像形式是结构化的数据库字段："},{"id":"p7","kind":"code","text":"User_123 = { 性别: 男, 年龄: 25-30, 地域: 北京, 兴趣标签: [科技, 电影] }","raw":"```text\nUser_123 = { 性别: 男, 年龄: 25-30, 地域: 北京, 兴趣标签: [科技, 电影] }\n```"},{"id":"p8","kind":"paragraph","text":"构建方式有两种：显性收集（注册时让用户选感兴趣的领域）和规则统计（如果用户过去 7 天看了 5 次电影解说视频，后台跑个脚本给他打上「电影迷」）。","raw":"构建方式有两种：显性收集（注册时让用户选感兴趣的领域）和规则统计（如果用户过去 7 天看了 5 次电影解说视频，后台跑个脚本给他打上「电影迷」）。"},{"id":"p9","kind":"paragraph","text":"局限性也很明显：颗粒度太粗——用户喜欢电影，是喜欢恐怖片、国内电影还是国外电影？标签无法区分；静态僵化——标签一旦打上很难实时更新，用户可能只是因为这两天有一部高票房电影才看的，过了这周就不看了，但标签还在。","raw":"局限性也很明显：**颗粒度太粗**——用户喜欢电影，是喜欢恐怖片、国内电影还是国外电影？标签无法区分；**静态僵化**——标签一旦打上很难实时更新，用户可能只是因为这两天有一部高票房电影才看的，过了这周就不看了，但标签还在。"},{"id":"p10","kind":"heading","text":"第二阶段：协同过滤时代——人是「和你相似的人的集合」","raw":"### 第二阶段：协同过滤时代——人是「和你相似的人的集合」"},{"id":"p11","kind":"paragraph","text":"这是推荐系统爆发的起点。系统不再关心你是谁，只关心你买了什么，以及和你买一样东西的人还买了什么。","raw":"这是推荐系统爆发的起点。系统不再关心你是谁，只关心你买了什么，以及和你买一样东西的人还买了什么。"},{"id":"p12","kind":"paragraph","text":"画像形式是稀疏矩阵中的一行（One-hot 向量）：把所有商品排成一排，买过就是 1，没买过就是 0，画像就是一个超级长的 [0,0,1,0,1,...]。","raw":"画像形式是稀疏矩阵中的一行（One-hot 向量）：把所有商品排成一排，买过就是 1，没买过就是 0，画像就是一个超级长的 `[0,0,1,0,1,...]`。"},{"id":"p13","kind":"paragraph","text":"核心算法是矩阵分解：系统试图将这个巨大的稀疏矩阵，分解为用户矩阵和物品矩阵两个小矩阵。在这个阶段，用户被压缩成了一个低维的隐向量。","raw":"核心算法是矩阵分解：系统试图将这个巨大的稀疏矩阵，分解为用户矩阵和物品矩阵两个小矩阵。在这个阶段，用户被压缩成了一个低维的隐向量。"},{"id":"p14","kind":"paragraph","text":"局限性：完全黑盒——这个隐向量里的数字（比如 0.85）代表什么，没人知道；冷启动必死——新用户没买过东西，矩阵里全是 0，系统只能推热门榜单。","raw":"局限性：**完全黑盒**——这个隐向量里的数字（比如 0.85）代表什么，没人知道；**冷启动必死**——新用户没买过东西，矩阵里全是 0，系统只能推热门榜单。"},{"id":"p15","kind":"heading","text":"第三阶段：深度学习与 Embedding 时代——人是「高维空间中的一个坐标点」","raw":"### 第三阶段：深度学习与 Embedding 时代——人是「高维空间中的一个坐标点」"},{"id":"p16","kind":"paragraph","text":"这是 LLM 爆发前夜的主流技术，画像形式是稠密向量，通常是 64 维、128 维或 256 维的实数数组。","raw":"这是 LLM 爆发前夜的主流技术，画像形式是稠密向量，通常是 64 维、128 维或 256 维的实数数组。"},{"id":"p17","kind":"paragraph","text":"构建方式包括：ID Embedding（给每个用户分配专属 ID，通过神经网络训练让这个 ID 对应的向量能预测他会点击什么）、序列建模（利用 RNN、GRU 或 Transformer 把用户的点击历史序列输入模型）、多塔融合（把用户的 ID、点击历史、人口属性全部变成向量拼接在一起）。","raw":"构建方式包括：**ID Embedding**（给每个用户分配专属 ID，通过神经网络训练让这个 ID 对应的向量能预测他会点击什么）、**序列建模**（利用 RNN、GRU 或 Transformer 把用户的点击历史序列输入模型）、**多塔融合**（把用户的 ID、点击历史、人口属性全部变成向量拼接在一起）。"},{"id":"p18","kind":"paragraph","text":"局限性：精准但不可解释——这种方法在点击率预测上极其精准，系统知道向量 A 和向量 B 算出的分数很高，但无法用人类语言解释为什么；ID 依赖——如果用户换了新账号，或者去了新平台，之前的向量通常就废了；信息有损压缩——把用户丰富多彩的行为压缩成几个数字，大量语义信息丢失了。","raw":"局限性：**精准但不可解释**——这种方法在点击率预测上极其精准，系统知道向量 A 和向量 B 算出的分数很高，但无法用人类语言解释为什么；**ID 依赖**——如果用户换了新账号，或者去了新平台，之前的向量通常就废了；**信息有损压缩**——把用户丰富多彩的行为压缩成几个数字，大量语义信息丢失了。"},{"id":"p19","kind":"heading","text":"小结：LLM 介入前的三个痛点","raw":"### 小结：LLM 介入前的三个痛点"},{"id":"p20","kind":"paragraph","text":"在 LLM 介入之前，用户画像系统大概是这样的：系统把用户看作一串 ID 序列，通过深度神经网络将这些 ID 映射为高维空间中的一个坐标点，然后寻找离这个坐标点最近的物品坐标点进行推荐。","raw":"在 LLM 介入之前，用户画像系统大概是这样的：系统把用户看作一串 ID 序列，通过深度神经网络将这些 ID 映射为高维空间中的一个坐标点，然后寻找离这个坐标点最近的物品坐标点进行推荐。"},{"id":"p21","kind":"paragraph","text":"这导致了三个长期无法解决的问题：","raw":"这导致了三个长期无法解决的问题："},{"id":"p22","kind":"list","text":"- 不可解释性：「为什么给用户推这个？」工程师只能说：「因为模型算出来的分高。」\n- 交互被动性：模型只能等着用户点击、猜用户的意图，而不会开口问「你是想看科幻片还是动画片？」\n- 平台割裂性：用户在 A 应用的画像是向量 a，在 B 应用是向量 b，两者无法互通。","raw":"- **不可解释性**：「为什么给用户推这个？」工程师只能说：「因为模型算出来的分高。」\n- **交互被动性**：模型只能等着用户点击、猜用户的意图，而不会开口问「你是想看科幻片还是动画片？」\n- **平台割裂性**：用户在 A 应用的画像是向量 a，在 B 应用是向量 b，两者无法互通。"},{"id":"p23","kind":"paragraph","text":"现在的演进方向，是把 [0.12, -0.56, ...] 这样的向量，还原成一句有温度的话：「这是一个喜欢在深夜看科幻电影，且对画质要求极高的用户。」","raw":"现在的演进方向，是把 `[0.12, -0.56, ...]` 这样的向量，还原成一句有温度的话：「这是一个喜欢在深夜看科幻电影，且对画质要求极高的用户。」"},{"id":"p24","kind":"paragraph","text":"这不仅是格式的转换，更是思维的跃迁。","raw":"这不仅是格式的转换，更是思维的跃迁。"},{"id":"p25","kind":"heading","text":"二、范式重构：当大模型接管「人设」","raw":"## 二、范式重构：当大模型接管「人设」"},{"id":"p26","kind":"paragraph","text":"面对传统画像留下的黑盒、被动、孤岛三大问题，研究者们发现：LLM 不仅是一个聊天工具，它天然就是人类偏好最佳的解压缩器。","raw":"面对传统画像留下的黑盒、被动、孤岛三大问题，研究者们发现：LLM 不仅是一个聊天工具，它天然就是人类偏好最佳的解压缩器。"},{"id":"p27","kind":"heading","text":"1、解释层：让推荐系统「说人话」","raw":"### 1、解释层：让推荐系统「说人话」"},{"id":"p28","kind":"paragraph","text":"当传统模型还在计算向量距离时，新的研究开始尝试一种「双重叙事」策略。这一阶段的模型架构非常巧妙——它并没有抛弃传统推荐系统，而是给它装上了一个翻译官。","raw":"当传统模型还在计算向量距离时，新的研究开始尝试一种「双重叙事」策略。这一阶段的模型架构非常巧妙——它并没有抛弃传统推荐系统，而是给它装上了一个翻译官。"},{"id":"p29","kind":"paragraph","text":"（1）短期记忆 vs 长期记忆","raw":"**（1）短期记忆 vs 长期记忆**"},{"id":"p30","kind":"paragraph","text":"系统开始像人类一样，用两种不同的焦距审视用户：","raw":"系统开始像人类一样，用两种不同的焦距审视用户："},{"id":"p31","kind":"list","text":"- 短期记忆（显微镜视角）：用户这周密集点击了雨伞、防水鞋，传统模型只会打上「雨具爱好者」的标签，但 LLM 能基于常识推断——这是基于近期雷雨天气的情境需求，而非用户爱上了收藏雨伞。\n- 长期记忆（望远镜视角）：从用户长达三年的观影记录中，LLM 能够透过现象看本质——用户偏爱探讨人性阴暗面的黑色电影，而非仅仅是喜欢「惊悚」这个浅层标签。","raw":"- **短期记忆（显微镜视角）**：用户这周密集点击了雨伞、防水鞋，传统模型只会打上「雨具爱好者」的标签，但 LLM 能基于常识推断——这是基于近期雷雨天气的情境需求，而非用户爱上了收藏雨伞。\n- **长期记忆（望远镜视角）**：从用户长达三年的观影记录中，LLM 能够透过现象看本质——用户偏爱探讨人性阴暗面的黑色电影，而非仅仅是喜欢「惊悚」这个浅层标签。"},{"id":"p32","kind":"paragraph","text":"（2）技术拆解：双重文本画像生成","raw":"**（2）技术拆解：双重文本画像生成**"},{"id":"p33","kind":"paragraph","text":"这种架构采用了「LLM 生成文本 + BERT 编码向量」的混合模式，既利用了 LLM 的理解力，又保留了向量计算的高效性。","raw":"这种架构采用了「LLM 生成文本 + BERT 编码向量」的混合模式，既利用了 LLM 的理解力，又保留了向量计算的高效性。"},{"id":"p34","kind":"paragraph","text":"第一步是双路 Prompting：系统将用户的交互历史输入给 LLM，用两套截然不同的 prompt 来套话。Prompt A 侧重近期行为，生成「用户最近几天沉迷于快节奏的动作爽片」；Prompt B 侧重全局历史，生成「用户长期以来对复杂的道德剧和黑色幽默情有独钟」。","raw":"第一步是**双路 Prompting**：系统将用户的交互历史输入给 LLM，用两套截然不同的 prompt 来套话。Prompt A 侧重近期行为，生成「用户最近几天沉迷于快节奏的动作爽片」；Prompt B 侧重全局历史，生成「用户长期以来对复杂的道德剧和黑色幽默情有独钟」。"},{"id":"p35","kind":"paragraph","text":"第二步是动态注意力融合：生成的两段文本先通过预训练的 BERT 转化为高维向量，最精妙的设计在于随后的注意力网络——模型会动态计算两个权重。对于口味多变的电影用户，可能给短期偏好更高的权重；对于忠诚的游戏玩家，长期偏好的权重可能更高。","raw":"第二步是**动态注意力融合**：生成的两段文本先通过预训练的 BERT 转化为高维向量，最精妙的设计在于随后的注意力网络——模型会动态计算两个权重。对于口味多变的电影用户，可能给短期偏好更高的权重；对于忠诚的游戏玩家，长期偏好的权重可能更高。"},{"id":"p36","kind":"paragraph","text":"于是就有了这样的解释：推荐《赎罪》，70% 是因为用户昨晚刚看了类似的爱情悲剧（短期权重），30% 是因为它符合用户一贯对高质量英伦片的审美（长期权重）。","raw":"于是就有了这样的解释：推荐《赎罪》，70% 是因为用户昨晚刚看了类似的爱情悲剧（短期权重），30% 是因为它符合用户一贯对高质量英伦片的审美（长期权重）。"},{"id":"p37","kind":"paragraph","text":"这种双塔注意力机制的引入，让推荐系统第一次拥有了逻辑。","raw":"这种双塔注意力机制的引入，让推荐系统第一次拥有了逻辑。"},{"id":"p38","kind":"paragraph","text":"（3）局限性：旧瓶装新酒","raw":"**（3）局限性：旧瓶装新酒**"},{"id":"p39","kind":"paragraph","text":"它虽然引入了 LLM 做翻译，但最终的决策依然回到了 Embedding。用户的画像本质上依然被锁死在特定的向量空间里，无法跨模型迁移。","raw":"它虽然引入了 LLM 做翻译，但最终的决策依然回到了 Embedding。用户的画像本质上依然被锁死在特定的向量空间里，无法跨模型迁移。"},{"id":"p40","kind":"heading","text":"2、交互层：拒绝冷启动，Agent 学会「主动搭讪」","raw":"### 2、交互层：拒绝冷启动，Agent 学会「主动搭讪」"},{"id":"p41","kind":"paragraph","text":"解决了解释问题后，下一步是解决冷启动。如果用户什么都没做，LLM 怎么猜？答案是：像人一样去问，并且只在必要时才开口。","raw":"解决了解释问题后，下一步是解决冷启动。如果用户什么都没做，LLM 怎么猜？答案是：像人一样去问，并且只在必要时才开口。"},{"id":"p42","kind":"paragraph","text":"PersonalAgent 架构将用户画像从静态的数据库升级为了动态的马尔可夫决策过程。在这个阶段，画像不再是静态文件，而是一个拥有元认知能力的后台大脑。","raw":"PersonalAgent 架构将用户画像从静态的数据库升级为了动态的马尔可夫决策过程。在这个阶段，画像不再是静态文件，而是一个拥有元认知能力的后台大脑。"},{"id":"p43","kind":"paragraph","text":"（1）将画像视为流式决策","raw":"**（1）将画像视为流式决策**"},{"id":"p44","kind":"paragraph","text":"不同于上一阶段粗糙的文本摘要，PersonalAgent 维护了一个结构严谨的层级化画像体系。它参考百万级真实对话数据，定义了 11 个大类（基本信息、兴趣偏好、消费观等）和 300 多个子类，作为可维护的结构化记忆。","raw":"不同于上一阶段粗糙的文本摘要，PersonalAgent 维护了一个结构严谨的层级化画像体系。它参考百万级真实对话数据，定义了 11 个大类（基本信息、兴趣偏好、消费观等）和 300 多个子类，作为可维护的结构化记忆。"},{"id":"p45","kind":"paragraph","text":"写入时不是随便写一段「用户喜欢 xxx」，而是往这些记忆槽位里填写更明确的属性；冷启动时，把「该问什么」变成了「优先补齐哪些槽位」，从而更系统地生成个性化追问。","raw":"写入时不是随便写一段「用户喜欢 xxx」，而是往这些记忆槽位里填写更明确的属性；冷启动时，把「该问什么」变成了「优先补齐哪些槽位」，从而更系统地生成个性化追问。"},{"id":"p46","kind":"paragraph","text":"流程是：用户提出请求（如「推荐个餐厅」）时，Agent 先在画像里检索，然后问自己一个关键问题——如果我不问这一句，还能完美回答用户吗？画像里有「喜辣、人均 200」就直接生成答案，保持静默绝不打扰；画像缺失且这个缺失会严重影响推荐质量（比如不知道是否过敏），才触发提问机制。","raw":"流程是：用户提出请求（如「推荐个餐厅」）时，Agent 先在画像里检索，然后问自己一个关键问题——如果我不问这一句，还能完美回答用户吗？画像里有「喜辣、人均 200」就直接生成答案，保持静默绝不打扰；画像缺失且这个缺失会严重影响推荐质量（比如不知道是否过敏），才触发提问机制。"},{"id":"p47","kind":"paragraph","text":"这就像一个优秀的服务员：只有在必须确认牛排几分熟时才打断你，而不是每上一道菜都问你「好吃吗」。","raw":"这就像一个优秀的服务员：只有在必须确认牛排几分熟时才打断你，而不是每上一道菜都问你「好吃吗」。"},{"id":"p48","kind":"paragraph","text":"（2）训练的艺术：GRPO 与严厉的裁判","raw":"**（2）训练的艺术：GRPO 与严厉的裁判**"},{"id":"p49","kind":"paragraph","text":"有了规则还不够，还得让模型学会「问什么」。研究者没有简单地使用 SFT，而是引入了 GRPO 强化学习。","raw":"有了规则还不够，还得让模型学会「问什么」。研究者没有简单地使用 SFT，而是引入了 GRPO 强化学习。"},{"id":"p50","kind":"paragraph","text":"教材选择：为了让模型不讲废话，专门构造了一套名为 ALOE-Unseen 的数据，全是仅凭现有画像无法回答的刁钻场景。模型被迫在这个环境里反复练习：面对这个请求，我到底缺哪个关键的用户画像槽位？","raw":"**教材选择**：为了让模型不讲废话，专门构造了一套名为 ALOE-Unseen 的数据，全是仅凭现有画像无法回答的刁钻场景。模型被迫在这个环境里反复练习：面对这个请求，我到底缺哪个关键的用户画像槽位？"},{"id":"p51","kind":"paragraph","text":"严厉的裁判：设计了一个基于 LLM 的裁判，从四个维度给 Agent 的每一次发言打分——完整性（关键偏好是否捕捉全了）、无幻觉（绝不凭空给用户贴标签）、信息量（问就要问出关键信息）、一致性（别前后矛盾，反复问同一类问题）。","raw":"**严厉的裁判**：设计了一个基于 LLM 的裁判，从四个维度给 Agent 的每一次发言打分——完整性（关键偏好是否捕捉全了）、无幻觉（绝不凭空给用户贴标签）、信息量（问就要问出关键信息）、一致性（别前后矛盾，反复问同一类问题）。"},{"id":"p52","kind":"paragraph","text":"总结一下：先用已有画像把能答的都答了；只有当缺的这个信息会显著影响结果时，才用最少的问题补齐；并且严格避免臆测用户。","raw":"总结一下：先用已有画像把能答的都答了；只有当缺的这个信息会显著影响结果时，才用最少的问题补齐；并且严格避免臆测用户。"},{"id":"p53","kind":"paragraph","text":"从这一阶段开始，用户画像活了。它不再是数据库里的一行代码，而是一个随着对话不断生长、自我修正、且懂得适度打扰的智慧伴侣。","raw":"从这一阶段开始，用户画像活了。它不再是数据库里的一行代码，而是一个随着对话不断生长、自我修正、且懂得适度打扰的智慧伴侣。"},{"id":"p54","kind":"heading","text":"3、通用层：文本即通用接口","raw":"### 3、通用层：文本即通用接口"},{"id":"p55","kind":"paragraph","text":"演进的终局，是彻底打破平台与模型之间的壁垒。在 AlignXplore+ 等前沿工作中，研究者提出了一个观点：抛弃所有向量，文本即是唯一的通用接口。","raw":"演进的终局，是彻底打破平台与模型之间的壁垒。在 AlignXplore+ 等前沿工作中，研究者提出了一个观点：抛弃所有向量，文本即是唯一的通用接口。"},{"id":"p56","kind":"paragraph","text":"这里有一个小问题：上一节的 Agent 不是还在用结构化的 Schema（11 大类、300 子类）来管理记忆吗？这岂不是又造了一个新的私有格式？","raw":"这里有一个小问题：上一节的 Agent 不是还在用结构化的 Schema（11 大类、300 子类）来管理记忆吗？这岂不是又造了一个新的私有格式？"},{"id":"p57","kind":"paragraph","text":"其实可以这样理解：AlignXplore+ 证明的是「文本摘要可以作为跨模型、跨任务的通用偏好接口」。工程实现上，完全可以在内部使用结构化 schema 做偏好治理（缺口检测、去重与冲突消解），再将其导出为可迁移的文本摘要供不同模型消费。","raw":"其实可以这样理解：AlignXplore+ 证明的是「文本摘要可以作为跨模型、跨任务的通用偏好接口」。工程实现上，完全可以在内部使用结构化 schema 做偏好治理（缺口检测、去重与冲突消解），再将其导出为可迁移的文本摘要供不同模型消费。"},{"id":"p58","kind":"paragraph","text":"（1）跨越边界：从适配到直连","raw":"**（1）跨越边界：从适配到直连**"},{"id":"p59","kind":"paragraph","text":"论文实验表明，将在源任务中生成的文本画像，直接作为 context 喂给目标任务，无需特定微调或对齐层，即可获得显著的效果提升。","raw":"论文实验表明，将在源任务中生成的文本画像，直接作为 context 喂给目标任务，无需特定微调或对齐层，即可获得显著的效果提升。"},{"id":"p60","kind":"paragraph","text":"这意味着，用户的偏好不再被锁死在某个应用的数据库里，而是具备了流动的可能。基于此可以畅想一个未来：用小参数模型维护的画像文本，可以被超大模型直接读取，画像将从平台的附属品，变成用户可携带、可检查、甚至可修改的独立数字资产。","raw":"这意味着，用户的偏好不再被锁死在某个应用的数据库里，而是具备了流动的可能。基于此可以畅想一个未来：用小参数模型维护的画像文本，可以被超大模型直接读取，画像将从平台的附属品，变成用户可携带、可检查、甚至可修改的独立数字资产。"},{"id":"p61","kind":"paragraph","text":"（2）技术拆解：两阶段训练","raw":"**（2）技术拆解：两阶段训练**"},{"id":"p62","kind":"paragraph","text":"那么如何保证这段文本足够精准，且能被下游模型理解？论文使用了「SFT + 课程强化学习」双重技术栈，核心逻辑是——以未来预测现在的准确性。","raw":"那么如何保证这段文本足够精准，且能被下游模型理解？论文使用了「SFT + 课程强化学习」双重技术栈，核心逻辑是——以未来预测现在的准确性。"},{"id":"p63","kind":"paragraph","text":"SFT 阶段的逆向推理数据合成：直接让 LLM 总结历史往往会得到「正确的废话」。作者设计了一条严苛的流水线：先用用户未来的真实交互作为靶子，反问模型「用户为什么会做这个选择」，从而倒推偏好文本；然后做行为验证，生成的文本摘要必须能准确预测用户的下一次行为，预测不对直接扔掉；最后把验证通过的碎片化偏好整合成完整的用户侧写。","raw":"**SFT 阶段的逆向推理数据合成**：直接让 LLM 总结历史往往会得到「正确的废话」。作者设计了一条严苛的流水线：先用用户未来的真实交互作为靶子，反问模型「用户为什么会做这个选择」，从而倒推偏好文本；然后做行为验证，生成的文本摘要必须能准确预测用户的下一次行为，预测不对直接扔掉；最后把验证通过的碎片化偏好整合成完整的用户侧写。"},{"id":"p64","kind":"paragraph","text":"RL 阶段的课程学习：太简单的样本（一眼看穿）不要，太难的（纯噪音）不要，只训练那些需要推理才能懂的高价值样本；奖励那些不仅当前预测对了、且对流式场景下的长期交互有帮助的画像描述。","raw":"**RL 阶段的课程学习**：太简单的样本（一眼看穿）不要，太难的（纯噪音）不要，只训练那些需要推理才能懂的高价值样本；奖励那些不仅当前预测对了、且对流式场景下的长期交互有帮助的画像描述。"},{"id":"p65","kind":"paragraph","text":"（3）降维打击的效果","raw":"**（3）降维打击的效果**"},{"id":"p66","kind":"paragraph","text":"复杂兴趣的解耦：传统向量模型在处理复杂用户时容易取平均值，而文本接口能保留这种复杂性。比如用户可能「独处时偏好深度科幻，饭点时偏好轻松综艺」，大模型能读懂这种基于场景的双重需求，而不会像向量那样把两者混合成一团模糊的噪声。","raw":"**复杂兴趣的解耦**：传统向量模型在处理复杂用户时容易取平均值，而文本接口能保留这种复杂性。比如用户可能「独处时偏好深度科幻，饭点时偏好轻松综艺」，大模型能读懂这种基于场景的双重需求，而不会像向量那样把两者混合成一团模糊的噪声。"},{"id":"p67","kind":"paragraph","text":"上下文的统一：推荐系统（通常基于向量和 ID）和对话系统（通常基于文本）之间长期存在一种类似生殖隔离的壁垒。现在，通过将推荐系统中的交互信号蒸馏为通用的文本画像，推荐数据终于可以被对话模型无缝消费。文本，成为了连接不同 AI 模型的通用货币。","raw":"**上下文的统一**：推荐系统（通常基于向量和 ID）和对话系统（通常基于文本）之间长期存在一种类似生殖隔离的壁垒。现在，通过将推荐系统中的交互信号蒸馏为通用的文本画像，推荐数据终于可以被对话模型无缝消费。文本，成为了连接不同 AI 模型的通用货币。"},{"id":"p68","kind":"heading","text":"最后","raw":"## 最后"},{"id":"p69","kind":"paragraph","text":"至此，我们完成了从「冷冰冰的坐标点」到「有血有肉的人物小传」的技术跨越。","raw":"至此，我们完成了从「冷冰冰的坐标点」到「有血有肉的人物小传」的技术跨越。"},{"id":"p70","kind":"paragraph","text":"传统推荐系统是在高维空间里做几何题，而 LLM 是在阅读理解你的人生。","raw":"传统推荐系统是在高维空间里做几何题，而 LLM 是在阅读理解你的人生。"}],"authored_claims":[{"id":"no-text-before-the-vector","text":"传统用户画像并不存在「向量化之前的那句文本」。它不是先写一句话再压成向量，而是直接从行为 ID 序列学出来的坐标点，所以那些数字天生就不可读。","stance":"fact","confidence":"high","supersedes":null,"note":null,"formed_at":"2026-02-10"},{"id":"three-walls-of-traditional-profiling","text":"LLM 介入之前，用户画像有三道围墙：不可解释（工程师只能说模型算出来分高）、交互被动（只能等用户点击去猜，不会开口问）、平台割裂（A 应用的向量到 B 应用就废了）。","stance":"judgment","confidence":"high","supersedes":null,"note":null,"formed_at":"2026-02-10"},{"id":"llm-as-preference-decompressor","text":"LLM 不只是一个聊天工具，它天然就是人类偏好最好的解压缩器——能把「喜欢惊悚片」这样的浅层标签还原成「偏爱探讨人性阴暗面的黑色电影」这种真正的动机。","stance":"judgment","confidence":null,"supersedes":null,"note":null,"formed_at":"2026-02-10"},{"id":"ask-only-when-necessary","text":"好的主动提问机制不是逢问必问，而是先用已有画像把能答的都答了，只有当缺失的信息会显著影响结果时才用最少的问题补齐。像优秀的服务员只在确认牛排几分熟时才打断你。","stance":"judgment","confidence":"high","supersedes":null,"note":null,"formed_at":"2026-02-10"},{"id":"text-as-universal-interface","text":"文本摘要可以作为跨模型、跨任务的通用偏好接口——源任务生成的文本画像直接喂给目标任务，无需微调或对齐层就能获得显著提升。用户画像因此有可能从平台的附属品变成用户可携带的数字资产。","stance":"judgment","confidence":"medium","supersedes":null,"note":"2026-10 复核：已证实。前半句被后来的判断反复印证——文本归档优于向量库（local-archive-over-vector-db）、主动检索文本优于被动向量召回（grep-beats-passive-rag）、知识库属于本人且换 Agent 不丢（knowledge-base-is-upstream-of-memory）；本站的 profile.json 与 export:self 就是一份交给任意 Agent 的文本画像。后半句目前只在个人层面实现，行业层面是否转向尚未判断。","formed_at":"2026-02-10"}],"claim_ids":["no-text-before-the-vector","three-walls-of-traditional-profiling","llm-as-preference-decompressor","ask-only-when-necessary","text-as-universal-interface"],"revision":"e9e03a1911772e602b50f78ee9c4899d45c9880fa6b465b696afc50d7dc141e3"}