人工智能与数据
├── 数据工程侧(大数据开发/数据治理/BI 与可视化)
├── 数据洞察侧(数据分析师)
└── 模型与策略侧
├── 算法工程师
├── 机器学习工程(MLOps)
├── AI 应用与提示工程
└── 推荐与搜索算法 ← 本篇
定位一句话:推荐与搜索算法工程师负责"让用户在信息与商品的海量供给中更快找到想要的"——搜索解决意图明确的查找,推荐解决意图模糊的发现。
这个岗位的特殊性在于:评价标准不是模型指标本身,而是用户行为与业务结果的改善;而用户会"适应"算法——今天的曝光决定了明天的训练数据,模型越强越容易自我强化(内容同质化、信息茧房、冷启动受阻)。因此它更接近一场没有终点的博弈,而不是一次可以交付完成的建模任务。
一句话定义:推荐与搜索算法工程师负责设计并迭代召回、排序、重排的算法链路,完成特征工程与模型训练、策略设计与线上实验、效果评估与持续优化,交付物是线上可用、效果可验证、稳定性可控的算法服务。
职责边界(五类日常)
一、链路设计与迭代
维护推荐或搜索的多级链路(召回、粗排、精排、重排/混排),明确每一级的目标、容量与延迟预算。
- 链路优化的第一步不是换模型,而是找到"损失在哪一级":召回没拿到的东西,排序再强也救不回来。
- 搜索特有环节:查询理解(分词、纠错、改写、意图识别、类目预测)与相关性判定。搜索的效果往往先在"懂不懂用户问什么"上分出高下。
- 延迟预算:整个链路有明确的响应时间限制,各级只能分到一部分。任何一级的模型复杂度,都要在这个预算里做取舍。
二、特征工程与模型训练
构造用户、物品、上下文、交叉特征,处理特征时效性与一致性,训练与迭代排序模型。
- 离线与线上口径必须严格对齐:这是这条线上最高频、代价最大的事故来源。
- 样本正确性比模型结构更重要:样本选择偏差(只从曝光样本学,忽略未曝光)、标签延迟(转化要等几天才回传)、位置偏差(排在前面的更容易被点)都会系统性扭曲学习结果。
- 模型演进路线:从逻辑回归等传统模型到深度模型、多任务与多目标建模。多目标的核心难题是目标之间会互相压制——提升点击往往损伤体验与长期留存。
三、策略与多样性控制
设计冷启动、探索与利用、打散与去重、流量调控与生态平衡。
- 冷启动:新内容与新用户没有历史数据,需要靠内容理解、相似迁移或主动探索来破局。
- 探索与利用:只推确定喜欢的内容,收益短期最优、长期僵化;必须预留探索流量。
- 打散与去重:同一主题、同一作者、同一商品的过度集中会显著伤害体验。
- 生态平衡:避免头部垄断流量,否则供给侧会萎缩,长期反噬平台价值。
策略设计是这个岗位上"工程之外"的专业判断所在——它靠的是对用户与生态的理解,而不是模型技巧。
四、评测体系与在线实验
搭建离线评测、设计 AB 实验、建立指标体系。
- 离线评测要防自欺:用与线上一致的样本与口径,注意离线指标的"天花板效应"(模型只会模仿历史曝光,无法评估它带来的新曝光)。
- AB 实验的设计要点:分流要干净(避免同一用户跨组)、样本量要够、观察期要覆盖至少一个完整行为周期(如一周,以覆盖工作日与周末差异)。
- 指标体系分层:点击、转化、时长属于短期指标;留存、复访、生态健康(创作者活跃、内容多样性)属于长期指标。只看短期指标,几乎必然走向体验透支。
- "离线涨、线上跌"是这个岗位的日常,理解其原因是核心能力。
五、工程落地与稳定性
与工程团队协作完成服务化与性能优化,保证特征与模型的更新链路稳定,处理线上异常与模型回滚。
- 延迟、吞吐、降级策略是硬约束;大促或热点事件下,降级方案必须提前设计。
- 特征与模型的更新链路(近线更新、增量训练)出问题,往往表现为"效果慢慢变差"而非"服务报错",监控要覆盖这一层。
- 算法工程师必须能读懂自己的服务在生产上怎么跑,只交模型不管上线的做法越来越难立足。
一次线上实验的完整流程
- 提出假设——明确"改什么、预期哪个指标变化、为什么";
- 离线验证——用一致口径评估,排除明显问题(不追求离线全胜);
- 设计分流——确定实验组与对照组、分流单位与比例;
- 观察短期指标——点击、转化、时长等,同时盯着延迟与错误率;
- 看长期与生态指标——留存、复访、内容与商家的分布变化;
- 决策——全量、回滚或继续迭代;无论结果如何,把结论记录下来。
第 5 步最容易被省略,代价通常几个月后才显现。
"离线涨、线上跌"常见原因
- 样本与线上不一致:训练样本只包含曝光过的数据,线上要面对全量候选;
- 特征穿越或时效不符:训练时用了未来信息,或线上拿不到同样及时的特征;
- 链路损失:离线评估只看排序,线上效果受召回与重排共同制约;
- 用户适应与反事实:真实用户会对新策略做出反应,离线数据里没有这个反应;
- 实验本身有问题:分流不干净、观察期太短、指标被其他改动污染。
排查顺序通常是:先确认实验设计,再查特征口径,最后才怀疑模型。
搜索与推荐的协同
同一个产品里,两者常共享候选池与底层能力,但目标不同:搜索要"准确",推荐要"惊喜"。协同的关键在两点:一是流量分配——搜索无结果或结果差时,用推荐承接,避免用户空手而归;二是冷启动互借——搜索日志能反映真实需求,可为推荐补充意图信号,推荐的用户兴趣则可用于搜索的个性化排序。把两套逻辑混为一谈,通常会导致搜索结果被"猜你喜欢"稀释,用户体验反而变差。
相邻岗位辨析
| 岗位 | 与之的区别 | 重叠区 |
|---|---|---|
| 推荐与搜索算法(本篇) | 专攻信息分发与检索,强调链路、策略与在线实验 | 与算法、数据、工程、产品多方协作 |
| 机器学习工程(MLOps) | 面向模型的工程化交付与运营,不负责效果与策略 | 特征一致性、服务性能、灰度与回滚 |
| AI 应用与提示工程 | 用现成模型做生成与交互应用,本岗用数据与模型做排序与分发 | 语义召回与向量检索正在融合两者 |
| NLP/CV 算法工程师 | 专注单一模态的理解与生成,本岗把相关技术作为工具 | 语义匹配、文本表征 |
| 数据开发工程师 | 负责数据管道与仓库建设,本岗负责模型与策略 | 特征管道、样本生成、数据质量 |
| 后端开发工程师 | 保障服务与架构稳定,本岗保障效果与策略 | 服务化、缓存、降级与限流 |
| 策略产品经理 | 定义目标与体验规则,本岗把规则翻译成机制并验证 | 目标指标、生态规则、AB 实验 |
三组最容易混的场景:
- 推荐算法 vs 机器学习工程师:都是"训模型"。分界是任务形态——通用 ML 多做预测、风控、定价,通常有明确标签与离线上线一致的评估;推荐与搜索面对的是链路+策略+在线实验,且评估依赖真实用户行为。最本质的差别是"能不能靠离线指标定论"。
- 推荐算法 vs 大模型应用工程师:都在做"相关性"。分界是用预训练模型还是不训模型——本岗要自己训排序模型、做特征与实验;大模型应用侧主要靠检索与提示。两者在向量召回上正在融合,很多人会在同一支队伍里协作。
- 算法 vs 策略产品经理:都要定"推什么"。分界是谁定义目标、谁实现机制——产品定体验规则与生态底线,算法把规则变成可运行的机制并给出效果证据。争执通常发生在"指标好看但体验变差"时,此时需要一套共同认可的长期指标来裁决。
判断口诀:找得到/找得准 → 搜索;猜得中 → 推荐;改模型与特征 → 本岗;改业务目标与规则 → 产品;离线涨线上没涨 → 先查样本与特征口径,再查实验设计。
不同业务场景下的重心差异
- 内容社区与短视频:时长与留存、多样性与创作者生态是主指标,探索机制最关键。
- 电商:转化、客单与复购为主,商品与价格特征工程量大,冷启动与新品扶持是重点。
- 本地生活与出行:供给受地域与实时状态约束,重心在时空特征与供需平衡。
- 社交与信息流:关系链与时效性并重,社交信号与内容信号的融合是难点。
- 企业搜索与内部检索:以准确性与权限控制为先,容忍度低,与知识管理场景衔接紧密。
入行与转出(公开口径)
- 背景:计算机、人工智能、统计学、数学、自动化等专业最主流;硕士比例较高,但算法竞赛、开源项目与实习经历对入门影响很大;也有从后端、数据开发转算法岗的路径。
- 前置知识:机器学习与深度学习基础;推荐与检索的基本范式(协同过滤、向量召回、排序模型、相关性评估);编程能力(Python 为主,需具备工程实现能力);大数据处理工具的基本使用;概率统计与实验设计;分布式与性能优化常识。
- 面试通常怎么考察:常见形式是"给定一个场景(如新平台冷启动、搜索无结果率高)说出你的方案"——考察的是链路与策略思路,而非单一模型;也会深挖 AB 实验设计、指标定义与线上问题定位。有真实实验经验的人优势明显。
- 常见入口:① 校招进互联网内容、电商、社交、视频平台的算法团队;② 从数据开发、后端工程转算法,凭工程能力补齐模型与实验能力;③ 从数据分析转算法策略方向;④ 从搜索或推荐的中小团队进入大平台,作品与实验经验是关键。
- 适配画像:愿意既写模型代码又盯线上数据的人;对"为什么这个指标会这样变化"有强烈好奇心的人;能接受效果的不确定性、习惯用实验代替争论的人;工程严谨度高、对数据口径错误有洁癖的人。
- 两个常见认知误区:① 以为算法强就等于效果好——链路、策略与实验设计往往贡献更大;② 以为指标涨了就是好——不看长期与生态指标,容易做出伤害产品的"短期优化"。
- 职业特点:技术价值明确、薪酬竞争力强,是数据驱动型产品的中枢岗位;但压力集中在指标结果,实验失败率高,需要较好的心态;行业需求随内容与电商增长而波动,向算法负责人、数据科学、AI 产品等方向均可延伸。
- 转出方向:转算法负责人与技术管理、转数据科学方向、转 AI 产品经理、转智能化解决方案与行业应用。