Meta工程博客详解"Your algorithm":不同规模的LLM如何分工,把用户的一句话变成推荐结果
Meta在工程博客中公开了"Your algorithm"系统的技术细节。这套工具让用户用自然语言告诉Facebook想看什么、不想看什么,系统再通过不同阶段、不同规模的LLM将这些偏好转化为实际推荐变化。核心发现是:在过滤环节,一个只负责"返回需要删除的条目"的微调小模型,比通用模型逐条判断更快也更可靠。
美国科技公司Meta的工程团队在2026年11月10日发布了一篇技术博客,详细拆解了"Your algorithm"系统的内部架构。这套工具此前已在10月面向用户上线,允许人们在Facebook的Feed和Reels中用自然语言写下自己想看或不想看的内容。博客的重点不是功能介绍,而是解释一个工程问题:如何把用户随口说出的一句话,变成推荐系统里真正生效的排序信号。
Meta团队指出,传统推荐系统依赖隐式行为信号(点击、停留时长等),虽然能规模化运行,但适应慢、捕捉不到细微意图。"Your algorithm"试图补上这个缺口:用户直接说"我想看更多关于城市园艺的内容"或"我不想再看到AI生成的图片",系统需要立刻理解这句话、存储它、并在后续推荐中执行它。这带来三个具体难题——新兴趣要快速出现但不能淹没其他内容;排除项要在主题模糊的情况下可靠过滤;以及已经缓存的旧推荐如何被更新。
在"想看"一侧,每个用户添加的兴趣会驱动四路独立检索:两路直接匹配(通过搜索和通过主题聚类),两路扩展覆盖(通过内容图谱和物品到物品相似度)。这样做的目的是确保全新兴趣的内容不会在召回阶段就彻底缺席。通过相关性检查的候选在排序后段获得提权,随后由重排层的控制机制决定它们出现在哪里。Meta强调"平衡优先于数量":控制层会拉开同一兴趣的推荐间距,并对每个兴趣设每日上限;检索阶段每次请求只为一个兴趣拉取候选,让所有兴趣轮流获得机会。
在"不想看"一侧,过滤分布在多个阶段。排序阶段使用与相关性检查相同的嵌入比较来移除过近的候选,并用降级规则压低近似匹配。排序之后,一个LLM重排器审查最终列表。在设备端,缓存失效机制会丢弃已经排队待展示但与新排除项匹配的内容。值得注意的是,并非所有排除项都是主题性的——减少AI生成内容或性暗示内容这类质量请求,会映射到专门的降级信号而非主题匹配;如果用户点名某个创作者,该创作者的内容会被直接过滤。
LLM在这个系统中出现在三个不同位置,各自承担不同任务,也对应不同规模的模型。在用户首次访问时,一个LLM负责生成初始画像:把持续刷新的兴趣信号转成可读的主题名称,填入"想看"列表,同时写出一句"最近在看"摘要。在用户每次编辑偏好时,另一个较小的LLM负责验证——检查短语是否构成连贯主题、检测重复、映射到规范名称。Meta说明这一步使用小模型是为了在规模下高效服务。在排序完成后,一个经过微调的LLM重排器执行最后一道检查。
Meta在博客中分享了一个关键工程发现:在重排过滤环节,一个被微调为"只返回需要删除的条目"的小模型,比让通用模型逐条判断每个候选是否相关,既更快也更可靠。这个结论直接影响了模型选型——不是用更大的通用模型做更精细的逐条推理,而是用更小的专用模型做批量排除。
如何评估这些LLM调用本身也是一个问题。Meta指出,标准离线指标无法判断一句"最近在看"摘要是否准确,也无法判断重排器是否删对了内容。他们的做法是用另一个独立LLM充当裁判,对每次调用的输出按预期行为打分,从而在上线前提供可重复的对比基准。
Meta在文末承认仍有未解决的问题:对模糊输入的解读能力、让推荐更精确地响应每一条具体请求,以及从更多入口收集用户偏好。这篇博客的价值在于,它展示了一个从自然语言到排序信号的完整工程链路,以及在这个链路中,不同任务对模型规模、输出格式和评估方式的差异化要求。