面灵AI→

腾讯大模型算法岗一二面面经

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

《面试题目》

一面

  1. 缩放点积注意力的底层原理是什么?
  2. QKV 分头投影之后,transpose(1,2) 操作起到什么作用?
  3. 多头注意力拼接结果,为什么一般要调用 contiguous()?
  4. ReAct 框架的原理与运行流程是什么?
  5. 多轮工具调用场景下,如何设计 RL 损失函数?
  6. 多轮 rollout 的 loss,是每一步调用工具后即时计算,还是完整 rollout 结束后统一计算?
  7. Agent 模型评估和普通大模型评估有哪些差异?
  8. Agent 强化学习对比单轮 LLM 强化学习有什么区别?
  9. 从损失函数角度分析,GRPO 方法存在哪些缺陷?
  10. GSPO 相比 GRPO 做了哪些核心改进?
  11. Qwen3.5-9B 原生是否具备 Agent 能力?
  12. 解释 OPD 方法使用什么损失函数,为什么选用 reverse KL 而非 forward KL?
  13. 手撕:手写多头注意力(Multi-Head Attention)。

二面

  1. 多工具 Agent 在 SFT 阶段一般会开展哪些工作?
  2. 完整一次 rollout 流程,最终的奖励值是如何计算得到的?
  3. 使用 LLM Judge 做打分评估时,是否需要传入工具返回的观测信息 Observation?
  4. 工具调用或者参数输出出错时,怎么评估模型输出的答案与执行过程?
  5. Agent 强化学习训练时,针对工具返回等待与批数据组织做过哪些优化?
  6. 多工具 Agent 的训练环境 Harness 是否需要自研?如何在该环境中开展训练?
  7. 已有成熟的开源 Agent 框架,为什么还要自研 Agent 循环与 Harness 组件?
  8. 多 Agent 系统里,主 Agent 和子 Agent 如何分工,子 Agent 的职责怎么划定?
  9. 如何量化分析模型、知识库、工具、路由模块分别对最终效果的贡献?
  10. 版本上线后效果变差,怎么定位问题发生的环节?
  11. 如何区分端到端延迟来自工具调用、数据库查询,还是模型推理?是否需要埋点统计耗时?
  12. 单 Agent 场景下,可以从哪些方向优化端到端时延?

《参考解析》

  1. 缩放点积注意力:为什么要除以 sqrt(d_k):Query 与 Key 的点积衡量相似度,分数经 softmax 归一化后对 Value 加权求和。缩放因子不是可选项——若各维独立同分布、方差为 1,点积方差随维度线性增长,d_k 一大分数就落进 softmax 饱和区、梯度接近 0。追问常落在 mask:padding mask 与 causal mask 要合成一个加性 mask 再进 softmax,实现时先减最大值保证数值稳定。

  2. transpose(1,2) 与 contiguous():形状与内存是两件事:QKV 投影后形状是 (batch, seq, heads, head_dim),而批量矩阵乘要求 head 维在前,transpose(1,2) 换成 (batch, heads, seq, head_dim),让每个头独立算 QK^T 与 softmax。concat 回来的张量内存不连续(transpose 只改 stride 不搬数据),view/reshape 要求连续,所以要先 contiguous() 触发一次真实拷贝。取舍在于这次拷贝有显存带宽成本,能用 reshape 或融合算子绕开就不必付;面试官问这个多半是在确认你清楚「形状对了不代表布局对了」。

  3. ReAct:思考与行动交替的循环:模型先输出一段推理,再决定调用哪个工具、传什么参数,工具返回的 Observation 拼回上下文后继续下一轮,直到给出最终答案或触达步数上限。工程上要管好工具 schema 的表达、循环终止条件(主动结束、步数、时间、成本上限)、工具报错与超时如何回灌给模型,以及上下文变长后的裁剪。它相对纯 CoT 的价值是把模型不知道的事外包给工具,代价是延迟与不确定性随轮数上升。

  4. 多轮工具调用的 RL 损失:即时算还是整段算:主流是整段 rollout 结束后统一计算,因为任务级奖励(答案对不对、任务完没完成)往往只有跑完整条轨迹才拿得到。代价是信用分配变难——一条轨迹上几十次调用共享同一个奖励,方差大、收敛慢。折中做法是稀疏过程奖励加奖励塑形:对格式合法、参数正确、必要的调用给小的过程分,对最终结果给大分。step-level 即时打分要求有能判断单步好坏的 verifier,噪声通常更大。要答的是信号密度与偏差的 trade-off,而不是哪个更好。

  5. GRPO 的缺陷与 GSPO 的改进:GRPO 用同一 prompt 下一组采样的相对优势,省掉了价值模型,但有两个结构性毛病:重要性比率与 clip 都在 token 级做,序列越长累积偏差越大,形成长度偏置;组内标准差归一化会放大近乎全错或全对的组,后期容易在没信号的方向上白烧算力。GSPO 把重要性比率从 token 级提升到序列级,用整条序列的似然比做加权与裁剪,缓解长度偏置与噪声累积,代价是比率方差更依赖采样规模。答到「比率在哪个粒度算、clip 在哪个粒度生效」就抓到了核心。

  6. Agent 评估与普通大模型评估的差异:普通评估是「给定输入看输出」,单轮、可比。Agent 评的是轨迹:同一任务允许多条工具调用路径,环境有状态且可能非确定(接口返回、超时、数据变化),所以既要评结果也要评过程(工具选得对不对、参数有没有编、有没有多余调用)。工程上要保证可复现——固定环境快照与随机种子、记录完整轨迹、把模型能力与环境抖动分开统计;指标除成功率外还要看平均步数、工具调用成功率、失败类型分布与单位任务成本。

  7. rollout 奖励怎么算,LLM Judge 要不要看 Observation:奖励一般由几部分合成——结果奖励(与标准答案、单测或规则校验的一致性)、过程奖励(格式、调用合法性、参数正确性)、惩罚项(步数超出、重复调用、无效工具)。若要评判执行过程而不只是最终答案,Observation 必须喂给 judge,否则它只能看到模型自称做了什么,无法判断有没有真的读到工具返回、有没有据此走下一步。工具报错场景同理:把错误信息一并作为评分依据,才能区分「工具失败但模型正确恢复」和「模型忽略报错硬编答案」。judge 自身要防位置偏置与长度偏置,用成对比较并对标准答案抽检校准。

  8. 端到端时延:先归因,再优化:归因只能靠埋点——在请求入口、每次模型调用、每次工具调用与数据库查询、最终拼装处打时间戳并按 trace 串起来,才能说清 p95 里模型推理占多少、工具与网络占多少、排队占多少。优化按性价比排:能并行的工具调用并发发出;把串行多轮压成更少轮次(合并工具、一次返回更多信息);模型侧换更小的模型、限制思考与输出长度、缓存 system prompt 前缀;结果侧做缓存与流式返回把首字延迟降下来。没有埋点就动手优化,基本是在猜。