腾讯大模型算法岗一二面面经
- 轮次
- 一面二面
- 时间
- 2026-10
- 来源
- 牛客网
《面试题目》
一面
- 缩放点积注意力的底层原理是什么?
- QKV 分头投影之后,transpose(1,2) 操作起到什么作用?
- 多头注意力拼接结果,为什么一般要调用 contiguous()?
- ReAct 框架的原理与运行流程是什么?
- 多轮工具调用场景下,如何设计 RL 损失函数?
- 多轮 rollout 的 loss,是每一步调用工具后即时计算,还是完整 rollout 结束后统一计算?
- Agent 模型评估和普通大模型评估有哪些差异?
- Agent 强化学习对比单轮 LLM 强化学习有什么区别?
- 从损失函数角度分析,GRPO 方法存在哪些缺陷?
- GSPO 相比 GRPO 做了哪些核心改进?
- Qwen3.5-9B 原生是否具备 Agent 能力?
- 解释 OPD 方法使用什么损失函数,为什么选用 reverse KL 而非 forward KL?
- 手撕:手写多头注意力(Multi-Head Attention)。
二面
- 多工具 Agent 在 SFT 阶段一般会开展哪些工作?
- 完整一次 rollout 流程,最终的奖励值是如何计算得到的?
- 使用 LLM Judge 做打分评估时,是否需要传入工具返回的观测信息 Observation?
- 工具调用或者参数输出出错时,怎么评估模型输出的答案与执行过程?
- Agent 强化学习训练时,针对工具返回等待与批数据组织做过哪些优化?
- 多工具 Agent 的训练环境 Harness 是否需要自研?如何在该环境中开展训练?
- 已有成熟的开源 Agent 框架,为什么还要自研 Agent 循环与 Harness 组件?
- 多 Agent 系统里,主 Agent 和子 Agent 如何分工,子 Agent 的职责怎么划定?
- 如何量化分析模型、知识库、工具、路由模块分别对最终效果的贡献?
- 版本上线后效果变差,怎么定位问题发生的环节?
- 如何区分端到端延迟来自工具调用、数据库查询,还是模型推理?是否需要埋点统计耗时?
- 单 Agent 场景下,可以从哪些方向优化端到端时延?
《参考解析》
-
缩放点积注意力:为什么要除以 sqrt(d_k):Query 与 Key 的点积衡量相似度,分数经 softmax 归一化后对 Value 加权求和。缩放因子不是可选项——若各维独立同分布、方差为 1,点积方差随维度线性增长,d_k 一大分数就落进 softmax 饱和区、梯度接近 0。追问常落在 mask:padding mask 与 causal mask 要合成一个加性 mask 再进 softmax,实现时先减最大值保证数值稳定。
-
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 或融合算子绕开就不必付;面试官问这个多半是在确认你清楚「形状对了不代表布局对了」。
-
ReAct:思考与行动交替的循环:模型先输出一段推理,再决定调用哪个工具、传什么参数,工具返回的 Observation 拼回上下文后继续下一轮,直到给出最终答案或触达步数上限。工程上要管好工具 schema 的表达、循环终止条件(主动结束、步数、时间、成本上限)、工具报错与超时如何回灌给模型,以及上下文变长后的裁剪。它相对纯 CoT 的价值是把模型不知道的事外包给工具,代价是延迟与不确定性随轮数上升。
-
多轮工具调用的 RL 损失:即时算还是整段算:主流是整段 rollout 结束后统一计算,因为任务级奖励(答案对不对、任务完没完成)往往只有跑完整条轨迹才拿得到。代价是信用分配变难——一条轨迹上几十次调用共享同一个奖励,方差大、收敛慢。折中做法是稀疏过程奖励加奖励塑形:对格式合法、参数正确、必要的调用给小的过程分,对最终结果给大分。step-level 即时打分要求有能判断单步好坏的 verifier,噪声通常更大。要答的是信号密度与偏差的 trade-off,而不是哪个更好。
-
GRPO 的缺陷与 GSPO 的改进:GRPO 用同一 prompt 下一组采样的相对优势,省掉了价值模型,但有两个结构性毛病:重要性比率与 clip 都在 token 级做,序列越长累积偏差越大,形成长度偏置;组内标准差归一化会放大近乎全错或全对的组,后期容易在没信号的方向上白烧算力。GSPO 把重要性比率从 token 级提升到序列级,用整条序列的似然比做加权与裁剪,缓解长度偏置与噪声累积,代价是比率方差更依赖采样规模。答到「比率在哪个粒度算、clip 在哪个粒度生效」就抓到了核心。
-
Agent 评估与普通大模型评估的差异:普通评估是「给定输入看输出」,单轮、可比。Agent 评的是轨迹:同一任务允许多条工具调用路径,环境有状态且可能非确定(接口返回、超时、数据变化),所以既要评结果也要评过程(工具选得对不对、参数有没有编、有没有多余调用)。工程上要保证可复现——固定环境快照与随机种子、记录完整轨迹、把模型能力与环境抖动分开统计;指标除成功率外还要看平均步数、工具调用成功率、失败类型分布与单位任务成本。
-
rollout 奖励怎么算,LLM Judge 要不要看 Observation:奖励一般由几部分合成——结果奖励(与标准答案、单测或规则校验的一致性)、过程奖励(格式、调用合法性、参数正确性)、惩罚项(步数超出、重复调用、无效工具)。若要评判执行过程而不只是最终答案,Observation 必须喂给 judge,否则它只能看到模型自称做了什么,无法判断有没有真的读到工具返回、有没有据此走下一步。工具报错场景同理:把错误信息一并作为评分依据,才能区分「工具失败但模型正确恢复」和「模型忽略报错硬编答案」。judge 自身要防位置偏置与长度偏置,用成对比较并对标准答案抽检校准。
-
端到端时延:先归因,再优化:归因只能靠埋点——在请求入口、每次模型调用、每次工具调用与数据库查询、最终拼装处打时间戳并按 trace 串起来,才能说清 p95 里模型推理占多少、工具与网络占多少、排队占多少。优化按性价比排:能并行的工具调用并发发出;把串行多轮压成更少轮次(合并工具、一次返回更多信息);模型侧换更小的模型、限制思考与输出长度、缓存 system prompt 前缀;结果侧做缓存与流式返回把首字延迟降下来。没有埋点就动手优化,基本是在猜。