标签 推荐系统 下的文章

引言

从代码生成到自动化文档,人工智能已经开始渗透到软件开发生命周期的几乎每个阶段。但除了炒作之外,实际上发生了什么变化?我们询问了一群工程师、架构师和技术领导者,AI 辅助工具的兴起如何重塑软件开发的既定节奏,以及他们在现实世界中采用 AI 后学到了什么。

 

讨论嘉宾

  • Mariia Bulycheva——Intapp 高级机器学习工程师

  • Phil Calçado——Outropy 首席执行官

  • Andreas Kollegger——Neo4j 高级开发者倡导者

  • May Walter——Hud.io 创始人、首席技术官

 

InfoQ:AI 辅助工具的兴起对你们组织的软件开发过程有何影响?它们是否改变了你们对软件架构的思考方式?

 

Mariia Bulycheva:AI 辅助工具加速了原型设计,并减少了在重复编码任务上花费的时间,使我们的团队能够更多地关注架构决策和设计复杂的在线实验,这对于大规模迭代改进复杂的推荐系统至关重要。从数字平台典型的大量多模态数据中获得初步洞察也变得更快、更顺畅、更一致,因为我们可以将初始数据分析委托给了 AI。

 

我们工作的另一个非常重要的方面是跟上我们领域科学发展的快速步伐。每年,在顶级会议上都会发表数千篇新的研究论文,过去阅读它们并确定哪些可能与我们团队的日常 ML 任务相关是非常耗时的。今天,AI 工具提供了高质量的摘要,甚至突出显示哪些方法可能适用于我们的用例。这已经导致了几个新建模想法的快速实现,否则我们可能需要花费数周甚至数月的时间来发现和测试。

 

Phil Calçado:绝对有。我们运行的是一个消费者参与平台,其功能之多,任何正常人都无法全部记住。例如,最近,我们需要改变我们处理时区的调度方式。代码变更本身可能只有 10 行,但真正的工作是深入数百个涉及调度的地方,弄清楚每个地方的假设,并添加单元测试以断言调用站点不会中断,而是行为的变化。我们原以为这将是一个为期六个月的项目,因为我们需要逐步研究并进行小的更改。

 

有了像 Cursor 和 Claude Code 这样的工具,我们大大缩短了这个时间。它们帮助我们找出所有受影响的位置,为每个位置生成单元测试,并将推出分成按子系统分组的小 PR。每个 PR 都带有对所属团队的上下文敏感的描述——不仅仅是“修复调度,请审查”,而是解释为什么以及在他们的世界中预期的影响。

 

因此,尽管我们像其他人一样看到了原始代码输出的增加,但在我们这样成熟的、超大规模的系统中,最大的提升在于 AI 如何帮助我们研究自己的代码库,将无聊但必不可少的安全检查整合在一起,使系统性变更变得不那么可怕。

 

Andreas Kollegger:在我们组织中,所有员工现在都可以使用 AI 辅助工具。对于表面层级的界面设计,这些工具帮助我们更快地迭代,探索新想法,并解锁新方法,如氛围编码,专注于更高层次的设计和策略。

 

但我们也确实遇到了 AI 的局限性。像许多组织一样,我们发现大语言模型(LLM)在需要深厚领域专业知识和全局架构整体视图的高度专业化代码上挣扎。我们的代码库本身就超过了任何 LLM 上下文窗口的容量,而这些模型本身也没有在其中的独特复杂性上进行训练。简而言之,AI 不能发明它不理解的东西。因此,我们有意采取了一种以人为中心的方法:虽然 AI 帮助我们加速和增强,但推动软件架构突破的是我们工程师的专业知识。

 

May Walter:AI 辅助工具极大地缩短了从想法到工作代码的路径。一旦意图明确,迭代周期就会显著缩短。开发人员正在从代码的唯一作者转变为更像是管理者的角色——指导代理,验证输出,并确保需求得到真正满足。

 

AI 之前,架构是关于团队之间的所有权和可扩展接口。这引入了一个新的维度:上下文架构——设计代理生成生产就绪代码所需的输入、脚手架和护栏。上下文工程正在成为系统的核心部分,它简化了在复杂环境中快速构建的能力,如分布式和基于事件的系统。

 

但速度带来了一个新的瓶颈:为生产准备 AI 生成的变更。即使审查有了 AI 辅助,挑战也不再是关于发现语法错误,而是在大型、大规模的系统中验证意想不到的后果。

 

InfoQ:人工智能的采用如何影响团队内部的入职流程?你们团队或组织中的初级开发人员是否受到软件开发过程中采用人工智能的影响?

 

Mariia Bulycheva:人工智能工具可以通过提供即时的代码示例、文档摘要和测试建议,显著加快学习过程,这些都支持了初级开发人员。在处理个性化和推荐系统等复杂领域的团队中,这一点尤其有用,因为现在初级人员可以更快地探索新的代码库,而不必总是依赖高级工程师。同时,我们将他们与更有经验的同事配对,以确保他们学习潜在的基本建模和系统设计原则,而不仅仅是捷径。

 

Phil calado:我们刚刚让暑期实习生展示了他们的项目,几乎每个人都把人工智能称为救星。进入一个有 10 年历史的 Rails 代码库,其中包含数千个可移动的部分,这是令人生畏的。但是能够对 Cursor 或 Claude Code 说,“我是一名懂 Python 和 C++的大三学生,请用我熟悉的方式解释这个 Rails 代码”,这意味着他们可以在几周内提高效率,而不是仅仅把时间花在弄清楚基础知识上。

 

而且,不仅仅是实习生。在这个庞大的系统中,即使是高级工程师也需要比在小公司更多的准备时间。AI 并没有消除对系统的实际理解,但它确实减轻了“我们在哪里处理认证?”或“我们是否已经有了观察者模式的实现?”这类问题的压力。

 

当然,这里有一个问题。生成式 AI 擅长复制模式,这通常意味着我们不希望再看到的遗留风格和架构。因此,我们不得不适应。我们正在使我们的工作流程和架构更加适应 AI,并且我们已经开始将当前的指导方针直接嵌入到 Claude Code 和 Cursor 的智能体中。这样,当 AI 提供帮助时,它会引导人们走向现在,而不是过去。

 

Andreas Kollegger:人工智能的采用增强了我们的入职流程,特别是对于新接触图数据库的初级开发人员。虽然人工智能不能取代经验丰富的导师的指导,但它通过帮助新员工更快地上手,补充了我们现有的入职资源。

 

入职培训不仅仅是教授编码技能。它是关于建立领域专业知识的。编码能力很重要,但更重要的是理解要编写什么代码以及为什么。这就是为什么我们的入职开发人员,他们对代码库及其架构有深入的了解,在向初级团队成员传授专业知识和上下文方面发挥着关键作用。

 

May Walter:人工智能降低了贡献的障碍。现在,一个新开发人员可以在他们的第一天就写出可用的代码——这与早期工作仅限于样板或错误修复的日子相比,是一个戏剧性的转变。但真正的机会不在于速度;而是在于能力和范围的深度。

 

我最常听到的担忧是,人工智能有使入职变得肤浅的风险——初级人员可以在不理解代码为何以某种方式行为的情况下生成代码。我的经验恰恰相反。当代码生成与运行时反馈配对时,初级开发人员从一开始就接触到系统思维:架构在负载下的行为如何,依赖项如何相互作用,以及变化如何波及到业务结果。工程师成为智能体代码生成过程中的业务大使。

 

他们不再需要花几个月的时间来处理低价值的工作,而是能够处理团队的更多任务。如果做得好,这不会跳过步骤——它会加速步骤。有了正确的文化和期望设定,初级工程师可以更快地发展成为全面发展的工程师,因为他们不仅学习如何编写代码,还学习了为什么它在系统环境中很重要。

 

InfoQ:在你们团队或组织中,你们是否测量过 AI 辅助开发对生产力或质量的影响?你们学到了什么?

 

Mariia Bulycheva:我们在样板代码和单元测试生成方面看到了明显的生产力提升,甚至在为推荐系统设置模拟实验方面也是如此。然而,当处理影响大规模客户体验的关键系统时,真正的好处来自于将 AI 辅助与深度工程师参与结合起来。我们了解到,虽然 AI 提高了生产力,但质量仍然取决于仔细验证和清晰的指标和测试。

 

Phil Calçado::没有正式的测量。坦率地说,我不相信大多数抛出的“生产力”数字。在软件领域,你可以操纵指标,直到它们说出你想要的任何东西,而 AI 的炒作周期使这变得更糟。事实上,人们再次认真计算代码行数,只是为了增加一轮融资或提高股价,这是令人尴尬的。

 

Andreas Kollegger:在前端方面,我们看到了生产力的提升,特别是对于那些使用 Cursor 等工具的工程师。我们的许多工程师已经使用 AI 支持来更快地理解、进行表面编码和测试我们的代码库,但我们从 AI 中看到的真正影响是对开发人员体验的影响。通过使用 AI 工具来支持他们的一些活动,我们的工程师现在有更多的时间发挥创造力,并最终改进他们解决问题的方式,并为他们的工作创造新的方法。

 

May Walter:是的,我们了解到的第一件事是,大多数常见的度量标准并没有太大意义。公认的代码行数、提交次数、PR:AI 可以立即夸大这些数字,但它们只是工程生产力的虚荣指标。

 

真正的信号存在于下游。发布稳定性、事故频率、随叫随到的时间,甚至代码变更率,都能告诉我们是否真的在加快速度,或者只是在制造更多的脆弱性。AI 将速度转移到了管道的前端,但除非验证循环紧密,否则债务会在后期显现——以缺陷、回归和精疲力竭的团队的形式。

 

从第一天开始,通过持续的生产反馈,我们可以看到真相所在:功能开发变得更快,但审查周期变得更长了,部署后的错误也出现了。

 

教训是,AI 生产力需要一个学习曲线和迭代方法。一旦度量,可以逐步改进采用,以捕捉优势——同时避免因快速交付但存在稳定性问题窒息的陷阱。

 

InfoQ:为了有效地使用 AI 工具,你们的团队或组织中有哪些非技术方面的东西需要改变?

 

Mariia Bulycheva:最大的变化是在心态上。团队必须从期望 AI 建议是“正确”的,转变为将它们视为需要彻底验证、讨论和测试的起点。这种文化转变鼓励了实验和跨学科合作,将对确定性的关注转变为对探索的关注。在大规模个性化工作中,我们还需要与产品和法律团队就负责任的数据使用和可复制性达成一致。这些协议创造了护栏,使工程师能够安全地探索和部署 AI 辅助解决方案。

 

Phil calado:我认为关于生成式 AI 工具的最大事情是:这超越了编码。是的,像任何其他工具一样,你必须注意副作用。生成式 AI 可以很容易地生成内容:代码、PR 评论、技术规范、电子邮件、Slack 消息。它也使得总结大量文本并过滤掉非必要的内容变得非常容易。

 

这两个特性的结合创造了一个奇怪的激励:人们生成了大量的低信噪比内容,然后其他人再次使用 AI 将其过滤回去。这是极其无效的。我们已经开始内部讨论在制作内容时正确使用 AI 的方式。剧透:这不是让 AI 为你写作,而是使用 AI 帮助你写得更好。

 

Andreas Kollegger:我们在 AI 的早期阶段建立了一个 AI 伦理委员会,组织中的代表们更好地理解和指导 AI 如何影响我们的业务的每一个方面。所有技术都可以成为一股善的力量,但它也需要有意识的思考、行动和指导。

 

因为我们信任客户数据,我们的开发人员需要在引入 AI 作为助手的任何领域都应用更高的敏感性,从简单的计划文件和电子邮件线程到代码库本身。随着我们采用、集成和扩展 AI,我们所有的开发人员都必须确保人类判断,而不是 AI,指导和监督每一步。

 

May Walter:最大的变化不是技术上的,而是文化上的。开发人员自然会单独采用工具,但当 AI 被视为个人生产力技巧时,它的效果并不好。只有当它成为共享流程的一部分,有一致的验证步骤和清晰的责任时,它才会有效。此外,AI 工具在缺乏上下文时不会失败,而是产生不准确的回应,这可能会损害用户的信任并增加变更的摩擦。

 

在 10 名工程师的情况下,每个人都可以以自己的方式进行实验。在 100 名工程师的情况下,这种方法就会崩溃。不同的智能体独立生成代码会造成分裂和风险。我们转向了共同的设置和共享的工作流程,这样 AI 不仅仅是帮助个人更快地移动,而是使整个团队更快地移动。

 

InfoQ:你们在管理 AI 辅助编码方面设置了哪些护栏(文化、道德或技术),以及你们如何管理个人、团队和组织对 AI 输出的信任问题?

 

Mariia Bulycheva:我们将 AI 输出视为重复性或样板任务的“初稿代码”,这些代码总是经过单元测试和同行评审。在文化方面,我们强调责任:提交代码的开发人员负责,无论是否有 AI 辅助。对于机器学习工作流程,我们不信任 AI 直接生成模型,相反,在任何模型更改甚至可以考虑用于生产之前,我们依赖于针对既定基线的自动离线评估。这确保了 AI 驱动的贡献达到了与人类编写的代码相同的质量标准。

 

Phil calado:这仍然是一个非常初级的实践,所以我们一直在尝试不同的护栏和工具。在安全和合规方面,我们的立场从一开始就很明确:作为一个处理世界上一些最大品牌数据的上市公司,我们必须将相同的治理实践应用于 AI 编码工具,就像我们其他地方所做的一样。几年前,这意味着落后于曲线,但今天大多数供应商都有坚实的企业计划,所以我们可以安全地使用最先进的模型,而不会妥协安全性或可审计性。

 

文化上,我们很早就设定了期望:仅仅因为一个 AI 工具编写了变更,并不意味着它不是你的代码。你仍然拥有它,你需要把每一行都当作是你自己打出来的一样。这与使用 IntelliJ 的提取方法重构没有什么不同,在这种情况下,它可能自动化了机械操作,但你仍然需要理解并验证结果。

 

Andreas Kollegger:大型企业软件可以提供防止 AI 生成错误的保障,但更高的准确性、上下文和可追溯性是使 AI 输出可解释和可验证的关键,而不仅仅是性能。这就是为什么我们引入了一个广泛的测试计划,涵盖了从单个单元测试到详尽的生产级验证的所有内容。

 

与此同时,我们的工程师在纪律和创新之间保持平衡至关重要。我们鼓励工程师尝试各种想法,探索可能尚未准备好投入生产的项目。这种环境允许快速迭代和创造力,同时确保只有最有价值和经过充分测试的创新才能过渡到生产。其结果是一种独特的平衡:保持客户的信任和稳定,同时不断推进图驱动的创新,使 AI 更准确、透明和可解释。

 

May Walter:我们必须赢得对 AI 输出的信任,而获得信任的唯一方法便是创造上下文。每个 AI 生成的变更都经历了与人类编写的代码相同的标准——审查、测试、验证——但有一个额外的要求:它必须在运行时证明自己。

 

对我们来说,信任不是来自对模型的信念;而是来自观察代码在现实世界条件下的行为。新版本的性能和旧版本一样吗?它是否引入了新的错误或在负载下改变了性能?当运行时上下文持续可用时,AI 就不再是黑盒。它变成了一个可以信任的伙伴,因为它与工程师依赖相同的信号进行推理。

 

InfoQ:你们认为软件开发团队低估了 AI 编码工具的哪些方面?你们认为有哪些当前的 AI 增强型开发工作流程或模型被过度炒作,哪些仍然没有得到充分利用?

 

Mariia Bulycheva:许多团队低估了上下文管理的重要性,因为 AI 的效果取决于你提供的上下文(代码库、文档、架构、在线测试的实验设置)。在大型系统中,这意味着不仅要管理代码片段,还要管理模型性能数据、日志和实验历史,以有效指导 AI 工具。过度炒作:AI 据说取代了工程判断的“一键式开发”。未充分利用:AI 辅助调试、实验设置和复杂 ML 工作流的文档记录,这可以大幅降低长期维护成本。

 

Phil Calçado:现在 AI 中有很多空洞的炒作,很难挑出一个罪魁祸首。但大多数团队都低估了的这一点是:AI 编码工具不是一个单程的魔法盒子。你不能只是向它们抛出一个提示,就期望得到一致、正确的结果。

 

这是任何真正构建 AI 产品的人都知道的痛苦教训。无论你的提示工程有多聪明,有效使用 LLMs 来自于结合工作流程并确保正确的上下文在正确的时间可用。否则,你只是在掷骰子。

 

我在以前为一个流行的代码审查工具构建 AI 管道时亲眼目睹了这一点。模型可能已经记住了所有写过的 Python 书籍,但如果你问 10 个开发人员“正确的方法”去做某事,你会得到 11 个答案。如果没有你的代码库、组织标准和实际目标的上下文,LLM 就不知道哪个适用。这就是为什么你会得到完全不同的解决方案,甚至是对立的——这取决于当你提问时,概率之神想要倾向于哪一边。

 

Andreas Kollegger:许多软件开发团队低估了 AI 编码工具可以简化开发人员最不喜欢的任务,比如编写测试和文档。虽然 AI 编码演示承诺低代码和无代码,通常看起来微不足道或不可靠,但它们展示了 AI 如何将自然语言和代码之间进行转换,这对于自动化繁琐的任务和重复的设置是理想的。类似地,有一种专门用于项目初始化和代码生成的编码工具。

 

有一种工作流程被夸大了,但却没有得到充分利用,那就是让编码智能体通宵运行,并在早上检查他们的工作。我不建议在无人监督的情况下重构新产品功能或大量代码,但编码智能体非常适合一个定义良好的 GitHub 问题,它有良好的讨论,一个孤立且可重现的例子,以及一个可测试的修复。

 

May Walter:大多数团队低估的是,模型已经足够好(并且正在变得更好)——缺失的成分是组织上下文。等待“更好的模型”是一种分心。真正的挑战是设计提供生成生产级代码所需的上下文的系统:你的架构、编码标准、数据边界和业务优先事项。如果没有这些,即使是最好的模型(或工程师)也会表现不佳。

 

另一方面,今天被过度炒作的是原始代码生成和静态代码审查。这些工作流程在演示中看起来令人印象深刻,但它们并没有解决大型组织中软件工程最难的部分:调试和质量保证。智能体仍然缺乏运行时上下文,并且很少有工具来评估哪些更改在业务影响方面真正关键。

 

这个差距很重要,因为更快的代码生成意味着更多的更改流入生产环境——而且没有更强大的流程来决定要监控什么,团队冒着为了脆弱性而牺牲速度的风险。未充分利用的前沿不是更快地编写代码,而是构建验证循环和运行时感知工具,以在这些更改部署之前增加确定性。

 

结论

从这次讨论中得出的第一个,也许是最重要的结论是,尽管在软件开发过程中采用 AI 工具无疑降低了贡献的门槛,但它仍然是一个乘数,而不是灵丹妙药。只有与强大的组织环境相结合,AI 才能增强生产力。基于 AI 的工程有潜力成为软件开发的核心,就像 CI/CD 管道曾经一样。然而,架构、编码标准和实验脚手架是成功采用 AI 的支撑支柱。

 

与此同时,随着 AI 工具的发展,组织中开发人员的角色也从代码作者转变为系统编排者。新采用的策划、验证和集成 AI 输出的过程并没有取代软件工程这门手艺;相反,它增强了它。批判性思维和架构意识比以往任何时候都更重要。

 

当然,采用任何新技术都会带来陷阱,对于 AI 和基于 AI 的工具也是如此。降低贡献的进入门槛也意味着增加了浅薄理解和生产次品代码的风险,这可能对初级开发人员的职业发展和整个组织产生负面影响。指导和运行时反馈是重要的护栏,以及文化和伦理保障:AI 输出必须被视为初稿,人类必须对其负责。当涉及到 AI 时,信任不是授予的:它是一个过程,通过测试、同行评审、运行时验证和透明度赢得。

 

成功的指标也必须重新思考,因为 AI 夸大了所有传统的生产力指标。有意义的信号来得更晚:稳定性、变动、事件,以及有多少时间可以释放给创造力和架构。将 AI 扩展视为一个协作过程,而不是个人生产力的提升,这需要协调的工作流程和对周围流程的更高成熟度。

 

无论好坏,很明显,AI 带来的变化已经到来,正在重塑软件开发的工艺。仍然有未被充分利用的方面,但上下文设计和运行时感知工具已经是下一个架构前沿。从长远来看,AI 竞赛的赢家将是那些将其整合到具有问责制、信任和能够以负责任的方式共同发展的团队级流程中的人。

 

原文链接:

https://www.infoq.com/articles/ai-developers-rewriting-software-process/

当你在电商平台搜索“苹果”,系统会推荐“水果”还是“手机”?或者直接跳到某个品牌旗舰店?短短一个词,背后承载了完全不同的购买意图。而推荐是否精准,直接影响用户的搜索体验,也影响平台的转化效率。

查询推荐(Query Suggestion)是现代电商搜索系统中的关键功能,通过在用户输入过程中实时推荐相关查询,帮助用户快速明确意图,提升搜索体验与转化效率。传统方法通常采用多阶段级联架构(MCA),虽然在效率与效果之间取得了一定平衡,但由于各阶段目标不一致、长尾查询召回困难等问题,限制了系统性能的进一步突破。

基于上述问题,快手在业界首次提出端到端的生成式统一查询推荐框架——OneSug,成功将召回、粗排、精排等多个阶段统一在一个生成模型中,显著提升了推荐效果与系统效率,在快手电商场景中实现了业务指标与用户体验的双重提升。

本工作相关成果《OneSug: The Unified End-to-End Generative Framework for E-commerce Query Suggestion》已被人工智能顶级会议 AAAI 2026 接收。
图片
[🔮 论文链接]:https://arxiv.org/abs/2506.06913

一、研究背景

传统的查询推荐系统通常采用多阶段级联架构,依次进行召回、粗排和精排。虽然该架构在响应时间与转化率之间实现了一定平衡,但也带来了明显的局限性:

  • 级联式框架(召回->粗排->排序),前一链路性能决定下一链路上限;
  • 召回、排序分离技术迭代范式,全链路统一目标优化难;
  • 长尾前缀由于缺乏历史行为数据,难以召回高质量 Query。

近年来,生成式检索(Generative Retrieval)因其强大的语义理解与生成能力,在推荐与搜索领域展现出巨大潜力。然而,现有方法多聚焦于视频推荐,其本质上是一个开集到开集的任务,难以直接应用于输入输出都是开放词表的的查询推荐场景。
图片

图片

二、方法简介:OneSug 的三大核心模块

针对上述问题,我们提出了 OneSug 模型,整体架构如上图所示,主要包括 3 个部分:

  • Prefix-Query 表征增强模块(Prefix2Query Representation Enhancement)
  • 统一的 Enc-Dec 生成架构(Unified Encoder-Decoder Architecture)
  • 用户行为偏好对齐(User Preference Alignment)
    图片

    2.1 Prefix-Query 表征增强模块

    Sug 场景下,用户输入的前缀往往较短且意图模糊(如“苹果”可指水果或品牌)。为此,我们提出的解决方式分为 2 个部分。

  • 语义与业务空间对齐:我们以 BGE 作为 base 模型,同时引入用户真实的 prefix2query、query2query 数据,使用对比学习对 BGE 进行微调,使其语义空间与快手电商的业务特征空间对齐。
  • 层次化语义 ID 生成:在对齐语义空间的基础上,我们引入 RQ-VAE,为每个前缀和 Query 生成层次化的语义 ID。RQ-VAE 可将任意文本映射为离散的语义 ID;同时保证语义相近的 query 会被编码到相同的簇中;通过这种方式,对于任何一个用户输入的前缀,我们可以快速匹配到与其语义 ID 最接近的 top-K 个相关 query,作为增强上下文输入后续生成模型。

2.2 统一的 Enc-Dec 生成架构

OneSug 的生成架构基于 Enc-Dec 结构,并直接通过自回归(Autoregressive)方式生成用户最有可能点击的 Query。该模型的输入包含四个关键部分:用户当前输入前缀(如 “智能手机”)由 PRE 模块增强的相关查询序列(如 “智能手机性价比 2025”)用户历史行为序列(如过去搜索的 “蓝牙耳机”、“手机壳”等)用户画像信息。输出即为模型生成的 Query 列表(如 “智能手机推荐 2025”、“智能手机性价比排行”)。

2.3 用户行为偏好对齐(RWR)

2.3.1 用户偏好量化

我们首先对用户在搜索场景下的真实行为进行了精细化的分级,将其划分为六个明确的层次,并为每个层级赋予一个基础奖励权重λ:
图片
为了进一步细致的调节样本权重,额外引入了调节因子r(xu​,q)=λ⋅ctr,其中表示当前前缀下 query 的 ctr。

2.3.2 混合排序框架

奖励加权偏好优化传统的 DPO 使用<正样本, 负样本>对进行训练,但默认两者同等重要。这在业务场景中是不合理的,因为区分“点击”和“曝光”的难度远小于区分“点击”和“随机负样本”。RWR 的核心思想是:根据正负样本之间的奖励差距,为不同的样本对赋予不同的学习权重。
我们构建了九种类型的样本对(如 <Order, Show>, <Click, Rand>)。对于每一对样本,计算其奖励差异权重rwΔ​:
图片

  • rwΔ​值小:说明正负样本奖励差距大(如<Click, Rand>),是“容易样本”,模型正常学习即可。
  • rwΔ​值大:说明正负样本奖励差距小(如<Click, Show>),是“困难样本”,RWR 会赋予更大的权重,迫使模型更加努力地学习其间微妙的偏好差异。

2.3.3 混合排序框架

为了克服传统 Pairwise 范式的 DPO 在全局排序能力上的局限性,我们引入了一种混合排序框架。该框架将 listwise 范式的排序损失和 point-wise 范式的 sft loss 进行混合,使得模型既能获得高效的排序能力,同时避免 reward hacking 造成的生成能力下降。Pairwise 范式对齐模型,在包含多个负样本的候选中无法学习到“哪个是最好的”。

受 Plackett-Luce 模型启发,我们设计了 Listwise 排序损失,对于正样本,让模型同时拉大它与所有负样本的奖励差距,迫使模型不仅要知道正样本比负样本好,还要学会在负样本越多、越强的情况下,依然将正样本排在前面,从而直接优化列表的整体排序质量。论文中分别提出了基于 Pairwise 和 ListWise 范式的混合排序框架,同时在理论上证明了 Pairwise 范式的对齐模型是 ListWise 的特殊情况。
图片

三、实验结果

3.1 离线效果

在快手电商场景的大规模数据集上,OneSug 在 HR@16 和 MRR@16 指标上均显著优于传统多阶段系统与生成式基线模型。论文中同时提到,OneSug 不仅适用于 Enc-Dec 结构的生成式模型,Decode-only 架构的模型同样适用,且具有更高的离线指标,因为现阶段的推理耗时约束暂时没有进行在线实验。
图片

3.2 在线 A/BOneSug

模型目前在快手电商搜索场景下全量推全,AB 实验大幅度提高了 Ctr、订单和 GMV 等指标,同时人工测评 GSB 指标也有很大幅度的提升。
图片

图片

3.3 在线推理

线上流程完全取代了召回-粗排-精排,使平均耗时降低了 43.2%,为后续优化提供了充足的空间。
图片

四、总结与展望

OneSug 是业界首个在电商场景中实现全流量部署的端到端生成式 Query 推荐系统,其统一建模方式显著提升了语义理解与个性化推荐的能力,为生成式模型在搜广推的落地提供了新的范式。

未来,我们将进一步探索大语言模型在排序阶段的强化学习优化、实时更新等方向,持续推动端到端生成式系统在推荐、广告等多业务场景中的广泛应用。

一、导语

得物社区推荐的实践中,我们发现用户兴趣容易收敛到少数几个主兴趣上,难以做到有效的兴趣拓展,通过将大模型与推荐结合的方式,在得物社区的用户兴趣拓展方向上切实取得了突破,拿到了显著的业务收益并推全上线。因此我们将相关工作中采用的核心算法与模型策略总结整理,投稿了AAAI-PerFM,入选了长论文《Enhancing Serendipity Recommendation System by Constructing Dynamic User Knowledge Graphs with Large Language Models》。AAAI Conference on Artificial Intelligence)由人工智能促进会(AAAI)主办,是人工智能领域历史最悠久的国际学术会议之一。以下内容为正文的详细介绍。

二、背景介绍

得物社区作为得物的首tab,满足得物用户分享生活、发现好物的内容生产消费需求。跟其他内容平台一样,得物的社区推荐系统也存在“推荐 → 用户反馈 → 再推荐”的反馈闭环问题,系统会越来越倾向于推送相似内容,导致推荐结果收敛、同质化,进而形成信息茧房,降低用户的新鲜感与满意度。

同时随着大语言模型(LLM)的发展,世界知识提取的效率逐渐得到提升,为打破信息茧房,提高用户内容消费的新鲜感带来了新的机遇。我们提出用大语言模型(LLM)来动态构建用户知识图谱(User Knowledge Graph),并在知识图谱上进行更可控的推理来挖掘用户“潜在兴趣”,再把这些潜在兴趣以工程可落地的方式接入工业推荐链路,在得物社区业务场景取得了显著的消费指标收益。

得物App的社区页示例:

三、问题与挑战

1.为了打破信息茧房并提升用户体验,新颖性推荐应该给用户推荐意料之外的物品,并且吸引用户点击,即同时具备意外性和相关性。但受限于意外发现数据的稀缺性,近些年的研究往往只能采用较小的模型,或者在有偏差的推荐数据的基础上进行数据扩充,这可能反而会强化反馈循环,增大打破信息茧房和识别新颖性物品的难度。

2.虽然大语言模型拥有丰富的世界知识,并展现出卓越的理解和推理能力。但在将大模型推理落地到推荐系统的实践中,依然发现大模型难以通过单跳推理正确生成复杂问题的答案。

3.工业推荐系统对实时性有要求,通常响应时间在100ms内。基于大模型的新颖性推荐有较高的延迟,计算成本高昂。

4.当推理生成出用户潜在兴趣后,在推荐系统中如何高效地召回相关候选item,既要保证item与用户潜在兴趣的相关性,又要兼具高消费效率的特性(比如拥有更好的点击率,保护用户消费体验),是能否在工业场景取得收益的关键。

四、优化方案

整体框架如上图所示:

1.采用大语言模型替代传统小模型,从用户行为中提取潜在兴趣,从而缓解显式兴趣发现数据稀缺的问题。

2.通过两跳推理与多智能体多轮辩论机制,提升大模型在兴趣推理中的准确性与稳定性,保障输出质量。

3.采用近线召回架构进行工程部署,缓解大模型推理时延较高的挑战,实现推荐系统的实时响应。

4.引入对比学习,将大模型提取的兴趣与推荐系统内现有用户兴趣表征进行对齐,确保召回内容既符合用户潜在偏好,又具备高相关性与高消费转化效率的特点。

基于LLM大模型兴趣提取过程:


两跳推理

用户的静态画像(年龄、性别)以及用户的历史行为(过去30天的搜索词)作为初始输入节点,大模型作为用户动态图谱构建工具:

将大模型作为知识图谱构建器,动态构建节点和关系 G=(V,E),其中 V 是实体集合,E 是关系集合。给定两个实体 v1 和 v3,目标是通过两跳推理判断它们之间是否存在潜在兴趣关系。

  • 第一步: 从 用户静态画像和搜索词v1 出发,找到满足上位关系的节点v2。
  • 即找到所有满足 (v1,v2)∈E 的 v2。
  • v2是v1的核心述求和动机。
  • 第二步: 从 v2 出发,找到所有满足用户核心诉求的同位或者下位的节点 v3。
  • 即找到所有满足 (v2,v3)∈E 的 v3。
  • 为了避免不相关的输出并减少幻觉v3限制在商品、商品类目、话题范围。

多智能体多回合辩论

通过提示工程根据用户静态画像和用户行为构建用户动态画像及完成两跳推理,会出现推理路径错误及潜在兴趣不相关问题。在本文中,我们采用了一种互补方法来改进推理过程和输出响应,其中多个语言模型实例在多个回合中提出和辩论其各自的响应和推理过程,以得出共同的最终答案。 我们发现,这种方法显著增强了任务的两跳推理能力。同时这种方法还提高了生成内容的事实有效性,减少了当代模型容易出现的谬误答案和幻觉。

具体来说,我们首先提示每个代理独立解决给定的问题或任务。 在每个代理生成回复后,我们向每个代理提供一个共识提示,如图 所示,其中每个代理被指示根据其他代理的回复更新其回复。 然后可以使用每个代理的更新回复反复给出此生成的共识提示。

SFT

为了降低部署成本,我们先使用参数量较大的推理模型deepseek-r1构建户动态图谱(思考过程)和生成潜在兴趣作,然后蒸馏到参数量更小的模型qwq-32b。将思考过程和潜在兴趣转换为文本化的SFT数据集D,其中每个条目是一个元组(x,y)。 这里,y 指的是输出,代表思考过程和潜在兴趣,而x 代表输入提示,输入和输出如图接下来,遵循如下公式,对qwq-32b进行监督微调得到interestGPT,以提高其生成期望回答的概率。

大模型兴趣在推荐系统中的应用

为了兼顾i2i召回和u2i召回的优点,我们设计了一种兼具i2i召回能力的u2i召回模型。具体而言,双塔召回模型是多任务目标,在传统双塔u2i的BCE-Loss基础上,在user塔中引入了基于兴趣对齐的对比学习损失,通过最大化相同兴趣下用户嵌入与物品嵌入之间的相似性,同时最小化不同兴趣下用户嵌入与物品嵌入之间的相似性,从而在预估阶段能够基于用户新兴趣生成与之高相关度的user-embedding。这样得到的embedding用于向量检索召回,召回得到的item集合不仅与新兴趣保持了高度的相关性,同时保持了u2i召回的消费效率高的优点。


模型输入

用户塔的输入特征包括:用户静态画像如:年龄、性别等,用户历史交互物品序列特征如类目、品牌、标签等,这些特征通过id-emddding的方式表征为fᵘ;用户兴趣,用户兴趣通过文本编码器获得

embedding

。在训练阶段,用户兴趣正样本是用户点击过的物品,用户兴趣负样本是batch内采样的其他物品,在推理阶段,用户兴趣是通过两跳推理生成的潜在新兴趣。文本编码器可以选择 CLIP、BERT、USE、BGE 等模型, 在我们的实验中,我们选择了 CLIP 作为编码器。值得注意的是,大模型推理出来的新兴趣只在推理的时候使用,而不参与到训练过程中。

双塔模型

物品塔的输入包含:物品的静态特征,如:类目体系、品牌、标签等,这些特征用id-embdedding进行表征

用户塔:将用户特征fᵘ

和历史兴趣

拼接,通过两层全连接层得到

物料塔:将物品特征fᵘ

和历史兴趣

拼接,通过两层全连接层得到

训练阶段

通过双塔模型来训练用户点击样本同时,我们希望对于同一用户,不同的z输入user塔后得到的兴趣表征具有较大的区分度:

兴趣下的用户兴趣表征

要与同为

兴趣

的物品表征更加相关,他们之间的关联度要大于其他


兴趣下的用户兴趣表征

兴趣的物品表征。这样就能尽可能做到,输入用户的潜在兴趣给到user towel的时候,就能获取到用户新颖性兴趣的表征而不至于与已有的兴趣混淆。

因此,我们引入了对比学习

综合以上考虑,我们采用多目标联合训练的方法,采用multi-task loss,由对比学习损失和二分类交叉熵损失构成:


其中,

是模型的参数集合,


 和

 是超参数。

另外交叉熵损失用于建模用户对历史物品的点击偏好,其公式为:

其中,

 是对物品 

 的点击概率的预测值。

预估阶段

在预估阶段,首先将用户的某个潜在新兴趣

(1<=k<=n,n为用户u潜在新兴趣总数)连同用户特征一起输入user塔,获得用户新兴趣表征向量

。利用

进行ann检索得到物品集合,作为潜在兴趣

的召回结果。将用户所有的潜在新兴趣的召回结果归并在一起,与其他召回通道内容一同给到后续的推荐链路中。

五、实验效果

我们在得物App(Dewu)上进行实验,得物App是一个拥有数千万用户的潮流电子商务平台。我们随机选取了得物社区10%的流量来进行A/B实验,目标是基于用户历史搜索词和静态画像,生成用户潜在兴趣,并为其推荐意外物品。我们选择得物原有的社区推荐召回系统作为基线,使用CLIP模型作为兴趣文本encoder,在此基础上为新颖性推荐新增了一个召回渠道。

我们使用8个指标来衡量在线性能:人均时长(AVDU),UVCTR,人均阅读量(ACR),UV互动渗透(ER),人均一级类目点击数(ACC-1),人均三级类目点击数(ACC-3),一级类目新颖性曝光占比(ENR)和一级类目新颖性点击占比(CNR)。其中人均一级类目点击数,人均三级类目点击数是用于评估多样性的指标。我们将一级类目新颖性定义为:当某物品的一级类目不在用户最近200次点击记录的一级类目集合内时,该物品的曝光或点击即具有一级类目新颖性。通过计算一级类目新颖性曝光占所有曝光的比例,以及一级类目新颖性点击占所有点击的比例,评估推荐系统的新颖性表现。

我们用deepseek-r1生成的3万条数据做标注样本,对qwq-32b模型经过sft后得到模型interestGPT,使用离线评估标准对interestGPT在1万条测试集上评估,抽样1000个用户评估结果如下: 0分占比:1%,1分占比:3%,2分占比:96%。

为了评估我们方法的在线效果,我们随机选取了大盘10%的流量进行A/B测试。我们在基线的基础上,为新颖性推荐新增了一个召回渠道。在新颖性召回渠道中,我们基于用户最近30天的用户搜索行为进行潜在兴趣拓展,每个用户最多选择16个潜在兴趣,每个兴趣召回40个对应的item。然后将这一路召回与其他渠道融合得到最终的召回结果。

最终的线上实验效果如下:

和baseline相比,我们的方法显著提升了推荐结果的多样性和新颖性。我们的方法在AVDU上相对提升0.15%。 UVCTR、ACR和ER分别提升了0.07%,0.15%,0.3%。在多样性方面,ACC-1 和ACC-3分别取得了0.21% 和0.23%的提升。对于新颖性,ENR和CNR分别取得了4.62%和4.85%的显著提升。

新颖性召回渠道对于推荐内容多样性和新颖性的改善是持续的。对照组的曝光新颖率为14.24%,实验组中新颖性召回通道的召回新颖率为26.53%,其他通道的召回新颖率为16.17%。这说明,当新颖性召回引入了新的信号,用户进行了新的交互,产生了和新兴趣有关的训练数据之后,其他召回通道也能够迅速捕捉到用户的新兴趣信号,从而打破反馈循环现象,冲破推荐茧房。

六、结论

这项工作通过提出利用大模型构建用户动态知识图谱并通过两跳推理来解决推荐系统中的信息茧房问题。 它包括两个阶段:两跳推理,通过大语言模型将用户静态画像和历史行为动态构建用户知识图谱,在构建的图谱上进行两跳推理;近线自适应,用于高效的工业部署。 同时设计了一种兼具i2i召回能力的u2i模型,召回得到的item集合不仅与新兴趣保持了高度的相关性,同时保持了u2i召回的item消费效率高的优点。

并部署了训练推理解耦的召回模型,利用大模型产出的新兴趣,生成对应的多兴趣user-embedding,将用户潜在兴趣召回结果集成到推荐系统中。无论是离线还是在线实验都取得了显著收益,完全可以在大规模工业系统上部署并拿到收益。

七、总结与展望

目前,我们主要基于得物App中的用户搜索行为构建兴趣挖掘模型。由于搜索行为本身具有较高的稀疏性,未来将引入点击、浏览、收藏等更丰富的交互行为,以探究在多行为数据融合下大语言模型对用户潜在兴趣的刻画能力,并验证兴趣建模是否存在与数据规模相关的扩展规律。在系统应用层面,除了在召回环节引入用户新兴兴趣外,还可进一步将兴趣表征融合至粗排、精排及重排等排序阶段,从而提升新兴趣场景下的物品评分准确性。此外,也可结合推荐场景中的实时用户反馈数据,对模型输出的多元兴趣进行动态校准,避免兴趣过度发散,确保其与用户真实需求的相关性。在大模型生成式架构基础上,我们同步探索并构建了生成式召回模型,目前已取得初步成果,并在得物推荐场景中全面上线应用。未来,我们将持续加大该方向的研发投入。

每一次技术迭代,其最终目标始终是服务于用户体验的提升。正如得物始终秉持的初心——我们希望通过智能推荐技术的持续进化,助力每一位用户更精准、更愉悦地「得到美好事物」。

往期回顾

1.Galaxy比数平台功能介绍及实现原理|得物技术

2.得物App智能巡检技术的探索与实践 

3.深度实践:得物算法域全景可观测性从 0 到 1 的演进之路

4.前端平台大仓应用稳定性治理之路|得物技术

5.RocketMQ高性能揭秘:承载万亿级流量的架构奥秘|得物技术

文 /流煜曦

关注得物技术,每周更新技术干货

要是觉得文章对你有帮助的话,欢迎评论转发点赞~

未经得物技术许可严禁转载,否则依法追究法律责任。

时隔近三年,马斯克再次开源 X 推荐算法

 

刚刚,X 工程团队在 X 上发帖宣布,正式开源 X 推荐算法,据介绍,这个开源库包含为 X 上的“为你推荐”信息流提供支持的核心推荐系统,它将网络内内容(来自用户关注的帐户)与网络外内容(通过基于机器学习的检索发现)相结合,并使用基于 Grok 的 Transformer 模型对所有内容进行排名,也就是说,该算法采用了与 Grok 相同的 Transformer 架构。

 

开源地址:https://x.com/XEng/status/2013471689087086804

 

X 的推荐算法负责生成用户在主界面看到的“为你推荐”(For You Feed)内容。它从两个主要来源获取候选帖子:

 

  1. 你关注的账号(In-Network / Thunder)

  2. 平台上发现的其他帖子(Out-of-Network / Phoenix)

 

这些候选内容随后被统一处理、过滤然后按相关性排序。

 

那么,算法核心架构与运行逻辑是怎样的?

 

算法先从两类来源抓取候选内容:

 

  • 关注内的内容:来自你主动关注的账号发布的帖子。

  • 非关注内容:由系统在整个内容库中检索出的、可能你感兴趣的帖子。

 

这一阶段的目标是“把可能相关的帖子找出来。

 

系统自动去除低质量、重复、违规或不合适的内容。例如:

  • 已屏蔽账号的内容

  • 与用户明确不感兴趣的主题

  • 非法、过时或无效帖子

 

这样确保最终排序时只处理有价值的候选内容。

 

此次开源的算法的核心是系统使用一个 Grok-based Transformer 模型(类似大型语言模型/深度学习网络)对每条候选帖子进行评分。Transformer 模型根据用户的历史行为(点赞、回复、转发、点击等)预测每种行为的概率。最后,将这些行为概率加权组合成一个综合得分,得分越高的帖子越有可能被推荐给用户

 

这一设计把传统手工提取特征的做法基本废除,改用端到端的学习方式预测用户兴趣。

 

 

这不是马斯克第一次开源 X 推荐算法。

 

早在 2023 年 3 月 31 日,正如马斯克收购 Twitter 时承诺的那样,他已将 Twitter 部分源代码正式开源,其中包括在用户时间线中推荐推文的算法。开源当天,该项目在 GitHub 已收获 10k+ 颗 Star。

 

当时,马斯克在 Twitter 上表示此次发布的是“大部分推荐算法”,其余的算法也将陆续开放。他还提到,希望“独立的第三方能够以合理的准确性确定 Twitter 可能向用户展示的内容”。

 

在关于算法发布的 Space 讨论中,他说此次开源计划是想让 Twitter 成为“互联网上最透明的系统”,并让它像最知名也最成功的开源项目 Linux 一样健壮。“总体目标,就是让继续支持 Twitter 的用户们最大程度享受这里。”

如今距离马斯克初次开源 X 算法,过去了近三年的时间。而作为技术圈的超级 KOL,马斯克早已为此次开源做足了的宣传。

 

1 月 11 日,马斯克在 X 上发帖称,将于 7 天内将新的 X 算法(包括用于确定向用户推荐哪些自然搜索内容和广告内容的所有代码)开源。

 

此流程将每 4 周重复一次,并附有详细的开发者说明,以帮助用户了解发生了哪些变化。

 

今天,他的承诺再次兑现了。

马斯克为什么要开源?

 

当埃隆·马斯克再次提到“开源”时,外界的第一反应并非技术理想主义,而是现实压力。

 

过去一年里,X 因其内容分发机制屡次陷入争议。该平台被广泛批评在算法层面偏袒和助长右翼观点,这种倾向并非零星个案,而被认为具有系统性特征。去年发布的一份研究报告就指出,X 的推荐系统在政治内容传播上出现了明显的新偏见。

 

与此同时,一些极端案例进一步放大了外界的质疑。去年,一段涉及美国右翼活动人士查理·柯克遇刺的未经审查视频在 X 平台迅速传播,引发舆论震动。批评者认为,这不仅暴露了平台审核机制的失效,也再次凸显了算法在“放大什么、不放大什么”上的隐性权力

 

在这样的背景下,马斯克突然强调算法透明性,很难被简单解读为一次纯粹的技术决策。

 

 

网友怎么看?

 

X 推荐算法开源后,在 X 平台,有用户对推荐算法机制做了以下 5 点总结:

 

1. 回复你的评论。算法对“回复+作者回应”的权重是点赞的 75 倍。不回复评论会严重影响曝光率。

2. 链接会降低曝光率。应该把链接放在个人简介或置顶帖里,千万不要放在帖子正文中。

3. 观看时长至关重要。如果他们滑动屏幕略过,你就不会吸引他们。视频/帖子之所以能获得高关注,是因为它们能让用户停下来。

4. 坚守你的领域。“模拟集群”是真实存在的。如果你偏离了你的细分领域(加密货币、科技等),你将无法获得任何分销渠道。

5. 屏蔽/默不作声会大幅降低你的分数。要有争议性,但不要令人讨厌。

 

简而言之:与你的受众沟通,建立关系,让用户留在应用内。其实很简单。

 

也有网友发现,虽然架构是开源的,但还有些内容仍未开源。该网友表示,此次发布本质上是一个框架,没有引擎。具体少了啥?

 

  • 缺少权重参数 - 代码确认“积极行为加分”和“消极行为扣分”,但与 2023 年版本不同的是,具体的数值被删除了。

  • 隐藏模型权重 - 不包含模型本身的内部参数和计算。

  • 未公开的训练数据 - 对于训练模型的数据、用户行为的采样方式,以及如何构建“好”样本与“坏”样本,我们一无所知。

 

对于普通 X 用户而言,X 的算法开源并不会造成太大影响。但更高的透明度可以解释为什么有些帖子能获得曝光而另一些则无人问津,并使研究人员能够研究平台如何对内容进行排名。 

为什么推荐系统是必争之地?

 

在大多数技术讨论中,推荐系统往往被视为后台工程的一部分,低调、复杂,却很少站在聚光灯下。但如果真正拆解互联网巨头的商业运转方式,会发现推荐系统并不是边缘模块,而是支撑整个商业模式的“基础设施级存在”。正因如此,它可以被称为互联网行业的“沉默巨兽”。

 

公开数据已经反复印证了这一点。亚马逊曾披露,其平台约 35% 的购买行为直接来自推荐系统;Netflix 更为激进,约 80% 的观看时长由推荐算法驱动;YouTube 的情况同样类似,大约 70% 的观看来自推荐系统,尤其是信息流(feed)。至于 Meta,虽然从未给出明确比例,但其技术团队曾提到,公司内部计算集群中约 80% 的算力周期都用于服务推荐相关任务。

 

这些数字意味着什么?如果将推荐系统从这些产品中移除,几乎等同于抽掉地基。就拿 Meta 来说,广告投放、用户停留时长、商业转化,几乎都建立在推荐系统之上。推荐系统不仅决定用户“看什么”,更直接决定平台“如何赚钱”。

 

然而,正是这样一个决定生死的系统,长期面临着工程复杂度极高的问题。

 

在传统推荐系统架构中,很难用一个统一模型覆盖所有场景。现实中的生产系统往往高度碎片化。以 Meta、LinkedIn、Netflix 这类公司为例,一个完整的推荐链路背后,通常同时运行着 30 个甚至更多专用模型:召回模型、粗排模型、精排模型、重排模型,各自针对不同目标函数和业务指标进行优化。每个模型背后,往往对应一个甚至多个团队,负责特征工程、训练、调参、上线与持续迭代。

 

这种模式的代价是显而易见的:工程复杂、维护成本高、跨任务协同困难。一旦有人提出“是否可以用一个模型解决多个推荐问题”,对整个系统而言,意味着复杂度的数量级下降。这正是行业长期渴望却难以实现的目标。

 

大型语言模型的出现,给推荐系统提供了一条新的可能路径。

 

LLM 已经在实践中证明,它可以成为极其强大的通用模型:在不同任务之间迁移能力强,随着数据规模和算力的扩展,性能还能持续提升。相比之下,传统推荐模型往往是“任务定制型”的,很难在多个场景之间共享能力。

 

更重要的是,单一大模型带来的不仅是工程简化,还包括“交叉学习”的潜力。当同一个模型同时处理多个推荐任务时,不同任务之间的信号可以相互补充,随着数据规模增长,模型更容易整体进化。这正是推荐系统长期渴望、却很难通过传统方式实现的特性。

 

LLM 改变了什么?其实是改变了从特征工程到理解能力。

 

从方法论层面看,LLM 对推荐系统最大的改变,发生在“特征工程”这一核心环节。

 

在传统推荐系统中,工程师需要先人为构造大量信号:用户点击历史、停留时长、相似用户偏好、内容标签等,然后明确告诉模型“请基于这些特征做判断”。模型本身并不理解这些信号的语义,只是在数值空间中学习映射关系。

 

而引入语言模型后,这一流程被高度抽象。你不再需要逐条指定“看这个信号、忽略那个信号”,而是可以直接向模型描述问题本身:这是一个用户,这是一个内容;这个用户过去喜欢过类似内容,其他用户也对这个内容有正反馈——现在请判断,这条内容是否应该推荐给这个用户。

 

语言模型本身已经具备理解能力,它可以自行判断哪些信息是重要信号,如何综合这些信号做出决策。在某种意义上,它不只是执行推荐规则,而是在“理解推荐这件事”。

 

这种能力的来源,在于 LLM 在训练阶段接触过海量、多样化的数据,使其更容易捕捉细微但重要的模式。相比之下,传统推荐系统必须依赖工程师显式枚举这些模式,一旦遗漏,模型就无法感知。

 

从后端视角看,这种变化并不陌生。就像你向 GPT 提问,它会基于上下文信息生成回答;同样地,当你问它“我是否会对这条内容感兴趣”,它也可以基于已有信息做出判断。某种程度上,语言模型本身已经天然具备“推荐”的能力。

专家解读:工业界可参考,对学术价值不大

 

如果 X 的方向真是“让 Grok 成为算法本身”,那么这次开源事件的意义就不止是透明度提升,更像是把一场大模型化推荐的系统级改造公开摆到台前,接受开发者与行业的持续检视与解读。

 

借此机会,我们邀请到了搜推广资深算法专家,生成式推荐模型 OnePiece 作者,《业务驱动的推荐系统:方法与实践》作者傅聪,为大家解读这次开源事件。

 

InfoQ:从代码层面看,X 这套推荐系统中,大模型是否是已经进入核心决策环节?这与传统“LLM + 规则 / 特征管道”的推荐系统相比,最大的结构性变化是什么?是否只是替换了部分模块?

 

傅聪:从系统整体设计层面看,开源的代码依然遵从 recall -> rank 这样的多阶段漏斗筛选架构。新的 post 推送会从数亿 候选集合中 以传统的 双塔 向量召回,合并排序、去重等等环节,最后送给用户。grok 没有参与中间过程,只是给 post 做排序的模型采用了类似 grok 的模型架构,但远小于 grok 的参数量。

 

最大的结构变化在于他们用了一种纯 transformer(类 grok)的模型结构去做排序,其它差异不大。

 

InfoQ:从能力边界看,该如何看待“每日处理上亿条内容、并进行实时多模态理解”这一目标所带来的系统挑战?

 

傅聪:需要极其充足的 GPU 算力以及高并发的处理引擎,尤其是视频内容,其 token 消耗量巨大,因此计算量巨大。此外,模型还需要一个可以高速访问的大型文件系统,保证大量视频可以暂存、传递给 Grok 模型。而实际上 x 并没有真的让 grok 来做这个事情,应该是处于成本考虑。

 

InfoQ:传统推荐系统采用轻量级启发式算法,成本效益高,而 Grok 方法需要大量计算资源,那么您怎么看待成本和用户体验提升之间的收益比?在算力、成本和基础设施约束下,这种方式是否注定只属于极少数平台?

 

傅聪:Grok 消耗的算力是数千倍于传统的推荐系统的,这部分成本往往不能被平台的收益覆盖。尤其是 X 这样的平台,其收入核心来源是广告。只有做到延迟、体验都能对标原有系统,其广告收入才可以持平。但因为投入成本过高,这个 ROI 过低,目前来看只 X 自己也没有真的以这种规模使用 grok。

 

InfoQ:如果 Grok 真要“把帖子都读一遍、把视频都看一遍”再来做匹配,这是不是相当于把推荐系统推到了更强的“内容级监控”?平台不只是记你点过什么,还能在语义层面猜到你可能会被什么吸引,是否会带来新的以前没有的问题?

 

傅聪:Grok 读过并不一定会记忆。很多数据并不一定会被 Grok 用来训练

 

InfoQ:另外,传统推荐系统的信息茧房问题,语义理解方式是否能解决?是否更“中立”?(此前的争议有一部分在于认为 X 平台偏向马斯克个人账号和一些党派言论)。从系统机制上看,它最可能在哪些环节反而更容易固化偏好、放大偏差?

 

傅聪:大语言模型有它自己的 bias,以大语言模型为核心的推荐系统会根据它的语言偏好构建新的信息茧房。

 

InfoQ:从开源意义看,在推荐系统这种高度复杂、长期被视为“黑箱”的领域,这种“持续、周期性开源”代码的方式,实现起来的难度在哪里?

 

傅聪:难度在于只开源代码,不开源所有配套的系统和训练数据,就无法复现它的效果。这种开源,对学术研究价值不大,对工业交流有一定参考意义。但目前其架构来看,可参考的新东西不多。

 

InfoQ:您如何看待这次开源的影响?如果 Grok 这套思路跑通,这次开源是否会迫使其他内容平台跟进,从而引发推荐系统的一轮“范式迁移”?在这种趋势下,行业会不会弱化对行为数据(包括历史数据)的依赖,甚至调整数据收集与画像方式,进而重塑整个推荐系统生态?对广告行为的影响会是什么样的?

 

傅聪:即使 Grok 跑通,其它平台也不一定会跟进。第一其他平台没有属于自己的 Grok,第二,其它大部分平台不会在这里投入这么多算力。

 

行业也不会弱化对用户行为和画像的依赖,经验证明,用户历史行为才是实现个性化的数据根基,缺少这部分信息输入的推荐系统很难千人千面,而容易做成千篇一律。从开源代码看,ranking 模型依然在使用用户行为历史进行预测,这一点也符合预期。

 

嘉宾简介:

 

傅聪,搜推广资深算法专家、生成式推荐模型 OnePiece 作者,《业务驱动的推荐系统:方法与实践》作者,《生成式推荐系统算法与实践》作者。

 

参考链接:

https://github.com/xai-org/x-algorithm

https://x.com/XEng/status/2013471689087086804

https://x.com/BlockFlow_News/status/2013510113873813781