面灵AI→

阿里云 AI Infra 一面面经:Agentic RL 训练岗

轮次
一面
时间
2026-09
来源
牛客网

《面试题目》

一面

  1. 根据简历中的项目定制三道题,限时 40 分钟,三选二。
  2. 自我介绍,实习 / 项目 / 自我优势等。
  3. 讲解一下上述三题的思路。
  4. 第一段实习为何时间这么短?
  5. 为什么不转正,而是去其它地方?
  6. 选择 OPD 的动机以及数据筛选时的策略?为什么不使用学生错误的轨迹?
  7. 过程奖励和结果奖励的本质区别是什么?过程奖励的奖励信号从哪来?如何解决过程奖励信号的偏差?
  8. 多轮对话 RL 中怎么设置的双层奖励?怎么构造的用户模拟器?如何避免模拟器数据的过拟合问题?
  9. 多轮对话中评测如何进行、转人工率如何评测?怎么进行的 A/B 测试?
  10. 如何解决多轮对话的冷启动和业务约束遵循问题?
  11. verl 中的 AgentLoop 有什么特点?

反问环节

  1. 团队业务方向:Agentic RL 训练,2B 方向。

《参考解析》

  1. 面试表现类问题的口径:实习时间短、为什么不转正这类问题考的是履约意识和稳定性,不是让你解释人生。回答给四件事——起止与原定周期、提前或按期结束的真实原因、离开前的交付与交接、为什么当前岗位不会重复同样的问题;别用”没学到东西""团队不行”这类情绪评价,也别编学校或家庭原因。有转正机会但主动放弃就讲清比较维度(方向、职责、地域、长期目标),没有名额就如实说是 HC 与组织原因,不要把被动包装成主动。
  2. OPD 与数据筛选:On-Policy Distillation 的关键是让学生先自己生成轨迹,教师在同一段学生前缀上给 token 级分布监督,从而缓解训练前缀来自教师、推理前缀来自学生造成的 train-serving mismatch。数据筛选要查任务是否合法、结果能否被 verifier 验证、工具是否真的执行成功、是否越权或依赖污染信息,以及训练集与评测集有没有按任务模板和用户去重。至于”为什么不使用学生错误轨迹”,标准 OPD 并不必然全删错误——学生错误前缀本就是 on-policy 分布的一部分;只保留成功轨迹会带来幸存者偏差,更稳妥的做法是按可恢复性分层:保留错误发生前的有效前缀、保留经 verifier 确认的纠错轨迹、对分布严重偏离或系统故障的轨迹剔除。
  3. 过程奖励 vs 结果奖励:本质区别是信用分配粒度,不是”一个客观一个主观”。结果奖励贴近真实目标但长轨迹下稀疏、方差大,难以判断是哪一步造成成败;过程奖励稠密、收敛快,却容易把人为偏好的”标准步骤”当成唯一正解,引发 reward hacking 或抑制新策略。信号可以来自规则状态机、代码测试与工具返回、人工逐步标注、过程奖励模型、偏好对,以及势函数差分(potential-based shaping 在满足条件时不改变最优策略)。控偏差的常规手段是:优先用可执行 verifier 与业务真实状态、对 LLM Judge 做顺序随机化和盲评、用 held-out 轨迹验证过程分能否预测最终成功、限制过程奖励权重保留终局奖励主导,并持续用新策略轨迹重训奖励模型。
  4. 双层奖励与用户模拟器:turn-level 过程奖励负责单轮的意图识别、信息增益、工具选择、事实性与合规,dialogue-level 终局奖励负责任务是否完成、用户目标是否满足、是否正确转人工和总成本;权重靠离线相关性、策略消融和线上 guardrail 校准,硬合规约束不能只用一个可被收益抵消的惩罚项表达。模拟器要显式建模隐藏目标与状态:采样用户画像、任务目标、已知信息、耐心、语言风格、风险等级,只暴露真实用户能看到的信息,并随 Agent 回复更新内部状态,决定下一轮说话、纠正、终止还是转人工。防过拟合的关键是切分方式而不是同义改写——按用户、组织、任务模板和时间切训练/验证/测试,混合多模型、规则模拟器与真实日志,保留真实用户盲测集,并让模拟器与被训 Agent 做模型家族隔离,避免共享偏好形成共谋。
  5. 转人工率与 A/B:多轮评测必须以完整会话为单位,单轮的相似度或 Judge 分代表不了任务完成,核心看端到端成功率、约束遵循率、平均轮数、重复询问率、恢复率、P95 延迟与安全违规率。转人工率要先定义 eligible conversation 和 transfer event,再拆成”必要转人工”和”可避免转人工”——高风险、用户主动要求、系统能力边界内的转人工是好行为,Agent 误判、循环、工具失败造成的才是损失;同时要盯应转未转率、误转率、转人工前轮数与上下文完整率。A/B 按用户或会话稳定随机避免同人跨组污染,提前定主指标、guardrail、最小可检测效应与样本量,先日志回放、影子流量、小比例灰度再放量,并设置自动回滚阈值。只报”转人工率下降”是危险的:如果下降来自 Agent 拒绝转人工或错误自信,业务反而更差。
  6. verl AgentLoop 的定位:它不是 LangGraph 那类线上编排框架,而是面向多轮 rollout 的轨迹生成抽象,核心接口是 AgentLoopBase.run(...),返回 AgentLoopOutput;prompt_ids / response_ids / response_mask 里模型自己生成的 token 标 1、工具 Observation 与 padding 标 0,使策略损失只作用于策略生成部分。工程上它做异步并发 rollout、抽象 vLLM/SGLang 这类推理后端、做请求级负载均衡与粘性会话(首轮选低负载实例、后续轮次留在同一实例以复用缓存),并在 rollout 前后同步权重、唤醒推理服务、释放 KV Cache。最容易被忽略的一点是它保留原始 token 轨迹:多轮 RL 里若把最终 messages 重新套 chat template,工具解析和 decode-encode 会改变 token,造成关键 off-policy 误差。局限也要认——reward 归因、工具错误、超长上下文和并发尾延迟不会因为用了 AgentLoop 就自动解决,生产项目要锁版本。