Meta 用闭环 Agent 改生产推荐配额,观看会话涨 0.16%

CORAL: An LLM-Native Harness for Production Recommender Systems

Muhammad Rafay Azhar, Yuhang Zhou, Gilbert Jiang, Yuchen Wang, Rahul Sharma, Matthew DeSousa, Jiayi Liu, Xin Guo, Lizhu Zhang, Xiangjun Fan

cs.CL

2026-09-02

CORAL 用 LLM Agent 观察生产信号、在预算内改检索配额或分群 serving,视频面会话 +0.16%、观看时长 +0.15%,另一面年化省下百万美元级容量且互动不降。

这篇在解决什么

工业推荐不是一个模型,是检索、排序、serving 上大量手调旋钮:召回配额、排序权重、缓存和预取策略、分群待遇。这些旋钮很少和模型一起端到端学,内容、行为和上游模型一变,最优点就漂。人靠线上实验去追,速度被工程师人数卡住,低信号和新用户在总盘指标里更容易被牺牲。

已有 LLM 推荐工作多半改的是排序、用户画像或离线开发流水线。很少有系统把 Agent 放进线上闭环,根据自己上次改动的实测效果再做下一次。

方法

CORAL(Constraint-Optimized Recommender via an Agentic Loop)把持续调参写成部分可观测、非平稳、带硬预算的优化:每轮选一组控制量,最大化当期目标(互动或其对偶的省钱),成本不超过预算 B。策略是通用 LLM,不更新参数,只靠上下文里的观察和记忆改进。

Harness 补上模型自己给不了的三件事。记忆分三块:原始分单元统计、模型自己的自然语言评估、已上线配置及其归因结果,默认看最近 3 轮。工具包括统计分析、记忆检索、效果归因,以及一个数值优化器:Agent 提出各单元的有界调整,优化器投影到预算可行集,超支才会改分配。循环按固定顺序跑,部署里 k=3 天一轮,配置先上线,再用 A/B 把效果写回记忆。人先盯着,逐步把监督换成可行性检查、步长上限和安全约束。

两个实例共用同一套模板。视频面的控制单元是召回源,动作是预算乘数。另一面的控制单元是用户分群,动作是从轻到重的离散 serving 菜单。

结果

视频召回配额。零样本第一轮观看时长 +0.13%,会话无显著变化。第二轮切得过猛,效果回到中性。多轮之后的上线配置,在百万用户级 A/B 上:全站视频会话 +0.16%,总观看时长 +0.15%,检索总预算没有加。再按活跃度和账号年龄分群后,新低信号用户的会话 +0.23%;配额从依赖厚历史的源,转到内容和当下上下文更稳的源。

Serving 容量。第一轮在部分用户分群上把 serving 成本压下去,年化节省达百万美元量级。第二轮把同一策略扩到更多分群,节省额再增加 44%,互动统计上不变。

LLM 费用按决策周期计,不按请求计。每轮大约 8–10 次调用,输入约 1.5k–2k token,输出约 2.5k。几个周期总计约 10^6 token,按前沿模型价大约几十美元。

为什么重要

这是把算法工程师的日常调参(在硬预算里重分资源)交给 Agent,并且用线上 A/B 证明同一套 harness 能走到互动–效率边界的两侧。决策不碰单次请求,所以费用和 QPS 脱钩,十亿用户面上仍然便宜。3 天一轮,相对「一个旋钮改几周」是数量级上的周转。0.16% 的会话涨幅在大盘上有意义,对单用户产品经理来说体感很小;它证明的是闭环能持续挪预算,不是一次改写推荐质量。

局限与存疑

循环名义上自动,仍要人盯;作者把加强护栏写成下一步,等于还没准备好完全放手。两个案例都属于「在组件之间分配有界资源」,检索逻辑和排序模型本身没被改。证据来自昂贵、场景绑定的 A/B,没有部署前的标准离线协议。第二轮相对第一轮不单调,中间会过矫正。k 和 m 是默认值,没做季节性搜索。论文不公布具体产品名和绝对 QPS/成本,外部无法复现量级。

术语

原文与代码

社区讨论

相关论文

全部论文解读