RecHarness:解耦搜索与代码生成,大模型自动迭代推荐系统增收0.53%
RecHarness: A Bandit-Routed Agentic Harness for Self-Evolving Recommender Systems
在工业界推荐系统的日常演进中,算法工程师的大部分精力往往消耗在无休止的“炼丹”循环里:调整模型骨干网络、尝试新的特征交互方式、重构损失函数,或是微调序列截断与池化策略。这一过程本质上是高维程序与工程配置空间里的有向试错。
ArXiv URL:https://arxiv.org/abs/2607.29241
近年来,以大语言模型为核心的机器学习工程 Agent(MLE Agent)展现出了端到端写代码、跑实验、根据控制台报错自我 Debug 的潜力。然而,直接将通用 Agent 扔进推荐系统的优化流程中,工程团队往往会遭遇严重的“预算黑洞”。大模型虽然通晓海量机器学习概念,但缺乏对工程实验成本的后验感知。如果把“决定下一步往哪改”与“具体怎么改代码”全部交给 LLM 在无约束的上下文中自由发挥,Agent 极易陷入天马行空的发散状态:要么频繁尝试激进但收益甚微的架构大改,要么在细枝末节的超参数上打转,在有限的 GPU 试错预算耗尽前都未能收敛出实质收益。
为了破解这一难题,研究团队提出了 RecHarness。这项工作并未试图训练一个无所不能的端到端超大模型,而是退后一步,为大模型 Agent 建立了一套结合统计决策与程序生成的双层分流驾驭架构(Harness)。其核心洞察在于:在有限试错预算下,决定“往哪个方向探索”应该交给基于标量验证反馈的多臂老虎机(Multi-Armed Bandit),而“在选定方向内提出假说并编写代码”才交由大语言模型发挥专长。 在大规模短视频广告排序平台的 7 天真实线上 A/B 测试中,由 RecHarness 自主迭代产出的候选模型,使广告播放量(ADVV)提升 2.084%、平台收入提升 0.534%、曝光量提升 0.559%,展现出极具说服力的工业落地价值。
为什么通用的 MLE Agent 搞不好推荐系统?
推荐系统模型的代码迭代与常规的 Kaggle 建模或学术基准刷榜存在本质差异。传统的自动机器学习(AutoML)无论是超参数调优(HPO)还是神经架构搜索(NAS),通常都局限在预先定义好的固定网格或符号模板内,无法跳出预设空间去重新实现一个带温度系数的对比学习 Loss,也无法在序列建模中动态插入新的门控机制。
基于大模型的代码搜索打破了这种固定模板的限制,但引出了新的系统性瓶颈。推荐系统每次实验都需要经历完整的代码变更、分布式环境部署、训练收敛与验证集评测,每一次试错都意味着实打实的 GPU 算力和时间成本。更关键的是,推荐模型的工程演进是一个强上下文相关的连续过程:一次尝试哪怕最终验证指标没有上涨,其收敛曲线的震荡、显存占用的暴增、或是训练早期的梯度爆炸,都包含了宝贵的工程信号。
如果仅像早期 Agent 那样把验证指标压缩为纯标量数字来做剪枝搜索,会白白丢失大量训练动力学信息;但若完全信任大模型的“直觉”,让其根据这些信息去发散决定下一步动作,LLM 又很容易在多轮对话中遗忘统计学意义上的探索与利用平衡(Exploration-Exploitation Trade-off)。近期决策领域的多项研究也证实,通用的 LLM 并不擅长在长程决策中进行纯粹的内部置信度推演,大模型更适合作为“执行与归纳器”,而探索的统计分流必须依赖专门的外置算法支撑。
双层控制:标量归统计,代码归模型
RecHarness 的核心设计思想,是在人类工程先验、统计决策模型与生成式大模型之间建立清晰的三层控制架构。

如上图所示,系统的运转被解耦为三个紧密协作的层级:
第一层由人类算法专家建立基本上下文约束。人类负责定义待优化的业务目标、验证集评价指标,并划定候选的编辑臂集合(Edit Arms)。这些编辑臂本质上是对推荐系统常见工程修改维度的模块化抽象,例如特征交叉改造、损失函数重塑、序列注意力机制替换、采样策略优化等。
第二层是 Bandit 路由器(Bandit Router),负责根据历史验证结果进行试验预算分配。系统将每次迭代视为一次以当前最佳模型(Incumbent)为条件的黑盒决策。对于每一个可选的编辑臂 $a$,系统维护一个 Beta 后验分布:
\[\theta_a \sim \mathrm{Beta}(\alpha_a, \beta_a)\]在每个搜索轮次开始时,路由器通过汤普森采样(Thompson Sampling)从后验分布中抽取各臂的倾向值,进而选出一组最有希望的候选方向 $\mathcal{G}_t$。每一次训练验证实验结束后,系统根据候选模型相对当前最优模型的相对增益来判定该次尝试是否成功,并更新对应臂的成功计数 $\alpha_a$ 与失败计数 $\beta_a$。这一机制保证了有限的 GPU 预算能自然向“近期且历史上表现出色”的方向倾斜,同时在数学上为探索度不足的潜在方向保留了固定的尝试概率,杜绝了大模型在无约束搜索中的偏执倾向。
第三层则进入大模型的绝对优势区间:实验假说提出与可执行代码生成。被 Bandit 路由器选中的编辑臂会作为强约束 Prompt 注入给 LLM。此时,大模型不再需要费力思考“全场几十种方向我该挑哪一个”,而是专注于“在当前选定的特征交互臂下,结合上一次报错的日志、训练损失下降曲线,提出一个切实可行的修改假说”。
为了防止多轮演进中的信息遗忘与幻觉,RecHarness 引入了动态的实验技能池(Experiment Skill)。它将多轮探索中被验证有效的代码模式、失败的原因归因(如某个特征交叉结构会导致反向传播梯度弥散)进行提炼,以紧凑的文本知识形式伴随当前的最优代码仓库一同提供给 LLM。标量指标驱动 Bandit 路由,文本日志与经验池驱动 LLM 推理,两条信息链路各司其职。
局部微调与结构跳跃:走出局部最优陷阱
在工程实践中,任何围绕基准模型的微调搜索都会不可避免地面临边际收益递减:模型可能在某个网络结构下的特定超参数局部极小值(Local Basin)中徘徊不前。如果始终只执行增量微调,系统很快就会失去进化动力。
为了应对这一问题,RecHarness 将编辑臂严格划分为两组:一类是专注于当前盆地精细打磨的局部臂($\mathcal{A}{\mathrm{local}}$),另一类是改动较大的结构跳跃臂($\mathcal{A}{\mathrm{jump}}$),例如彻底替换序列编码的核心机制或引入全新的多目标解耦范式。
系统通过实时监测最优性能的改善速率 $\widehat{v}_t$ 来感知当前的搜索停滞状态:
\[\widehat{v}_t = \frac{s_t^{\star} - s_{t-W}^{\star}}{W}\]当滑动窗口 $W$ 内的性能改善速率低于预设阈值 $\tau$ 时,系统会判定局部探索已经陷入瓶颈,触发盆地跳跃判定 $J_t=1$。此时,结构跳跃臂被动态激活并加入到 Bandit 路由器的候选池中。
结构级修改在实际工程中极易被过早扼杀:一个潜力巨大的新网络结构,在刚被引入时往往因为超参数未对齐、学习率过大或正则化不匹配,导致初始验证指标甚至劣于打磨成熟的旧架构。如果直接依据单次指标进行评估,新的结构尝试几乎 100% 会被判定为失败并被 Bandit 淘汰。
RecHarness 为此设计了延迟评估的重调窗口(Retuning Window)。当结构跳跃臂被触发后,系统不会以第一轮训练的即时分数作为奖惩依据,而是赋予其 $R$ 轮的局部适配缓冲期。只有在这段重调窗口内,经由局部微调后达到的最高指标仍无法显著超越原最优模型时,该跳跃才会被正式否决。这种延迟准入准则,在保证搜索安全性的同时,为真正具备范式突破的架构改变提供了生存土壤。
离线实测:全场景多模型的性能跃迁
为了全面验证 RecHarness 的泛化能力与试错效率,研究团队在两大类完全不同的推荐场景上部署了评测。
第一类是基于 Amazon Reviews(包含 Movies、Scientific、Electronics、CDs 四个数据集)的经典序列推荐任务。基准模型覆盖了近年来具有代表性的五类序列建模架构:基于循环神经网络的 GRU4Rec、基于双向掩蔽自注意力的 BERT4Rec、基于因果膨胀卷积的 NextItNet、基于单向自注意力的工业标杆 SASRec,以及 Meta 近期提出的大规模生成式推荐基础架构 HSTU。
评估采用推荐系统标准留一法(Leave-One-Out)下的 Hit Ratio@10(HR@10)。实验结果展现出了极其普遍的性能增益:在起点较低、容量受限的 GRU4Rec 上,RecHarness 驱动其在四个数据集上的平均 HR@10 提升了 85.85%;而即使在本身表现极其强劲、参数量庞大的前沿基准 HSTU 上,RecHarness 依然取得了 12.58% 的额外性能跃升。这证明该框架并非仅仅在帮老旧模型“修补明显漏洞”,而是能够针对成熟骨干挖掘出人类工程师极易忽略的深层协同优势。
第二类测试基于快手开源的高密度交互数据集 KuaiRec,该数据集包含真实用户针对短视频的观看时长、完播率以及多重排序反馈。测试基准涵盖了 D2Q、TPM 以及 GR 三大主流反馈建模模型。RecHarness 在预测观看时长等连续值指标以及排序分类指标上,均显著击败了论文发表的原生基线,进一步证实了其在回归与多任务混合场景中的适应度。
消融与机制洞察:为什么不让 LLM 自己决定方向?
为了探究系统各个模块的真实贡献,作者团队在 Amazon 数据集上以 SASRec 为基准进行了严格的受控消融实验。所有对比变体均使用相同的验证驱动更新规则、四路并行实验吞吐量以及完全一致的 GPU 耗时预算。
对比的核心基线包括:去掉了 Bandit 路由、仅靠大模型通过 Prompt 自主反思决定下一步的变体(TR w/ LLM);将 Bandit 替换为纯随机选择方向的变体(TR w/ Random);以及彻底不划分编辑臂、让 LLM 在无限代码空间中纯自由发挥的无约束搜索(w/o Bandit)。
结果显示,RecHarness 在每一个验证检查节点以及最终测试指标上均保持领先。其中,TR w/ LLM 虽然优于纯随机路由,证明了反思日志的价值,但与 RecHarness 相比仍有明显差距。更深入的试错质量统计揭示了这一差距的深层原因:
在整个迭代过程中,RecHarness 派生的非 Baseline 实验中,有 47.92% 的尝试成功刷新了当轮的最优验证指标;相比之下,纯随机替换的成功率仅为 22.45%,而让 LLM 自行决策方向的 TR w/ LLM 成功率只有 21.74%。这一统计极为直接地反映出:在没有外置统计后验约束的情况下,大模型自己挑选的探索方向实际上并不比硬币投掷高明多少,甚至可能由于思维定势陷入反复试错的死胡同。
与此同时,完全无约束的自由搜索(w/o Bandit)虽然凭借大模型的灵光一现能够达成 41.67% 的尝试改进率,但其平均增益与上限增益均显著低于 RecHarness。尤其在单次迭代的最大增益指标上,RecHarness 达到了 24.00%,而无约束搜索仅有 10.16%。这说明结构化的编辑臂划分与汤普森采样,不仅没有禁锢探索空间,反而起到了“聚焦高价值赛道”的作用,使系统有更大概率击中具有显著收益的架构深水区。
真实生产检验:短视频广告平台的线上 A/B 测试
学术离线数据集上的 HR@10 指标提升,并不能完全等同于工业界商业化系统的最终回报。推荐系统在实际落地时,必须经受复杂的延迟反馈、多目标博弈以及海量高并发请求的真实考验。
为此,研究团队将 RecHarness 接入了一家大型短视频平台的广告排序生产流水线中。该线上场景的 Base 模型是一个历经多年深度人工打磨的成熟排序网络,底层采用经典的共享多层感知机(Shared-Bottom DNN),输入端融合了用户侧、物料侧、交互交叉侧的大规模稀疏与稠密特征,并实时挂接了六组工业级用户行为序列(User Behavior Sequences)。
在保持特征输入、数据流及推断环境完全一致的严苛前提下,RecHarness 针对该模型结构进行了自动化演化。最终挑选出的自进化候选模型上线开启了为期 7 天的生产环境分流 A/B 测试。
灰度实验监控显示,自进化模型在长达一周的测试期内各项指标稳定领先,最终取得了以下商业核心数据的全面增长:
-
广告播放量(ADVV)提升 2.084%;
-
平台广告总收入(Revenue)提升 0.534%;
-
整体曝光量(Exposure)提升 0.559%。
在成熟的工业级短视频变现体系中,千分之五量级的全局商业收入提升已是极具商业价值的突破。这也为“自进化推荐系统”从概念设想走向严苛的工业级落地提供了扎实的实证依据。
总结与启示
RecHarness 的价值不仅在于刷新了若干推荐模型的离线跑分与线上大盘指标,更在于它清晰划定了大模型在复杂工程搜索中的能力边界。
大模型本身擅长的是微观层面的归纳理解与代码实现——它精通如何把一个数学公式转化为 PyTorch 算子,也擅长根据 Traceback 日志修正张量形状不匹配的错误。但在宏观的搜索控制流上,面对昂贵、噪声大、长周期的真实工程评测,缺乏统计记忆的端到端生成往往会退化为盲目的算力浪费。
通过引入基于多臂老虎机(Bandit)的外置状态路由,RecHarness 将宏观的“探索-利用权衡”重新收拢进经典的统计学习框架内,用最纯粹的标量收益反馈维护方向概率;同时将微观的“语义空间变异”完全释放给具备推理能力的大模型。这种“外层严格概率路由,内层大模型柔性生成”的混合控制范式,很可能正是后续 MLE Agent 迈向真实复杂工程系统自动化演进的标准基石。