百度大模型算法岗一二面面经(对齐、Agent 与多模态)
- 轮次
- 一面+二面
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
一面
- 在强化学习对齐方案中,你为什么优先选用 GSPO 算法?相较于传统的 PPO、当下主流的 GRPO,GSPO 具备哪些独特优势?
- 简述视觉语言大模型的图文问答实现逻辑,图像信息如何与文本特征融合并支撑问答推理?
- 相较于单一智能体架构,多智能体(Multi-Agent)协作框架在复杂任务场景下的核心优势体现在哪些维度?
- 在多智能体系统中,是否会单独设置专属拆分智能体,专门负责整体任务的拆解与分发工作?
- 多智能体协作体系内,各个子智能体之间的信息交互、通信协作机制是如何设计实现的?
- 大模型智能体的长期记忆模块采用何种存储架构与方案,如何实现记忆的留存与调用?
- 详细梳理通义千问多模态模型的迭代脉络,从初代 VL 版本到后续迭代版本,在能力与结构上做了哪些关键优化升级?
- 解释 MRoPE 位置编码的核心原理,同时说明 Qwen 系列后续版本针对 MRoPE 存在的问题做出了哪些针对性改进?
- 在医疗、金融等高风险落地场景中,如何通过技术方案保障 Agent 输出内容的准确性、稳定性与可靠性?
- 讲解检索增强生成 RAG 的整体技术架构,完整梳理从检索到生成的全流程工作逻辑。
- 算法手撕:实现最长公共子序列(LCS)。
二面
- 阐述 ReAct 范式的核心思想,说明其如何通过「推理 + 行动」的方式优化智能体任务执行能力?
- 介绍大模型双层记忆机制的设计逻辑,在多智能体共享上下文、共用任务场景下,如何保障全局数据的一致性与唯一性?
- 大模型微调流程中,SFT 监督微调数据与 RLHF 强化学习对齐数据,在数据筛选标准、数据用途上有什么核心区别?
- RLHF 训练过程中的奖励值由什么模块计算生成?整套流程是否依赖人工标注参与,如何降低标注成本?
- 讲解项目中使用的检索体系,分别说明向量数据库、BM25 检索算法、Embedding 表征模型的具体作用与选型依据?
- 知识库检索支持的语料类型包含哪些,是否覆盖多模态数据?图像输入场景下,如何接入并适配整体检索流程?
- 线上业务中如何量化评估大模型生成回答的质量?介绍使用的相似度阈值标准与向量表征模型选型。
- 深度讲解自注意力机制的底层本质,同时说明模型训练过程中 Q、K、V 三个权重矩阵的初始化与获取方式。
- 算法手撕:实现最长回文子串。
《参考解析》
对齐算法:PPO → GRPO → GSPO 的演进该怎么讲:这三者是同一条线上的迭代,面试官问「为什么选 GSPO」其实是在考你能否说清每一代解决什么问题。PPO 建立了「策略梯度 + 重要性比 clip + 价值网络做基线」的范式,稳定但需要额外训练 critic,显存与工程复杂度高,而且 critic 的价值估计会引入偏差。GRPO 的贡献是把 critic 去掉:对同一个 prompt 采样一组回答,用组内奖励的均值与标准差归一化出优势值当作基线,既省显存又能配合规则型可验证奖励(数学答案对错、代码通过测试),因此成为开源对齐的主流;代价是它的重要性比仍然是 token 级的,每个 token 独立计算并 clip。GSPO 把优化信号的粒度从 token 提升到整条序列:用长度归一化后的序列似然比作为重要性比,clip 也在序列级进行。这一改动主要解决两个现实问题——一是 MoE 架构下专家路由会让单 token 概率在训练与推理间抖动,token 级比值噪声大、训练易崩,序列级比值相当于做了平滑;二是长序列里个别 token 的比值异常会主导梯度,序列级约束更稳。附带收益是对训练框架与推理引擎之间的数值精度差异更宽容,可以减少 routing replay 一类的补偿技巧。所以完整的回答结构是:「GRPO 去 critic 降本 → 但 token 级比值不稳 → GSPO 改序列级比值 → 换来 MoE/长序列稳定性与工程简化」。
多智能体的拆分、通信与记忆:多智能体的价值只在两个前提下成立——上下文需要隔离、子任务可以并行;否则单 Agent 加好工具更省。角色上通常是「规划者 + 执行者 + 评审者」:规划者负责把复杂目标拆成带依赖关系与验收标准的子任务清单;执行者按领域专精(检索、代码、数据分析各一个)只装自己的上下文;评审者独立校验结果,防止错误沿链路传播。是否单独设置拆分智能体要看任务复杂度:简单任务让主管兼任拆解即可;任务类型差异大时单独设一个规划 Agent 收益更明显,代价是多一次调用与「拆错」的风险,因此规划产物必须是结构化计划而不是一段自然语言。通信机制的设计原则是状态外置、消息结构化:Agent 之间只传「结论 + 证据 + 置信度」这类带 schema 的短消息,完整中间产物写进共享工作区(文件、KV、消息队列)并传引用,避免上下文被长文塞满;同时给每个子 Agent 明确边界与终止条件,汇总层做去重、冲突检测与遗漏检查。记忆分两层:短期是当前会话上下文(靠摘要与裁剪控制在预算内),长期落在「向量库做语义召回 + 结构化库存事实与偏好 + 文件工作区存原始产物」,写入时抽取成事实并去重(同一事实以最新时间戳覆盖),读取时按相关性召回并带上来源。多 Agent 共享记忆的核心风险是并发写冲突与版本不一致,解法是「单一写入者(只有主管写全局记忆)+ 版本号/乐观锁 + 幂等键 + 冲突时重读合并」,并把「事实」与「模型推断」分开存储,推断必须可溯源、可被覆盖。
SFT 与 RLHF 的数据差异、奖励模型与标注成本:SFT 数据是示范数据(prompt → 理想回答),筛选标准是「正确、风格一致、覆盖目标任务分布」,追求的是高质量与多样性,通常几千到几十万条,训练目标是最大似然,作用是让模型学会「怎么答、按什么格式答」。RLHF 数据是偏好数据(同一 prompt 的多个回答及人类排序/打分),筛选标准是「回答之间有明显质量差异、标注一致性高」,因为排序信号比绝对打分更可靠也更便宜;训练分两步:先训奖励模型(在偏好对上用 Bradley-Terry 损失把排序转成标量奖励),再用它做 PPO/GRPO/GSPO 的策略优化。奖励值的来源有三类:奖励模型(学人类偏好)、规则/可验证奖励(数学结果对不对、代码能否通过测试、格式是否合法)、以及带约束的惩罚项(长度、重复、违规内容);实践中常把它们加权组合,规则奖励在可验证任务上更便宜也更可靠。降低标注成本的手段:用强模型做初筛与预标注(AI 反馈 RLAIF)、用规则自动判定可验证任务、主动学习挑「模型分歧大」的样本优先标注、用较小的高质量标注集 + 一致性校验(多人标注算 Kappa)、以及把偏好数据做成可复用的公开集 + 自己补领域样本。
检索体系的选型、多模态接入与质量评估:向量检索负责语义召回,适合「同义改写、口语提问、跨表述匹配」;BM25 负责精确匹配,擅长专有名词、错误码、函数名、型号这类低频 token,二者量纲不同不能直接加权求和,用 RRF 按排名融合(1/(k+rank),k 常取 60)最稳,有标注数据后再考虑学习式融合或加一层交叉编码器 rerank。Embedding 模型选型要看四点:语言覆盖(中英混排要实测)、领域适配(医疗/金融术语,必要时用领域数据做对比学习微调)、向量维度与索引成本(维度越高存储与检索越贵)、以及与 rerank 模型搭配后的端到端召回率——不要只看公开榜单。语料类型上,文本之外还要考虑表格(转成结构化行 + 文本摘要双写)、图片(OCR 或视觉 embedding,把图片描述与 OCR 文本一起入库)、扫描件(先 OCR 并保留 bbox 用于高亮溯源)、以及代码(按函数/类切分)。图像输入的适配有两种做法:一是图转文——OCR/图片描述后并入文本检索链路,实现简单、复用现有索引;二是多模态向量——用 CLIP 类模型把图文映射到同一空间做跨模态检索,检索质量更高但索引与算力成本大,实际常用混合方案(文本索引进候选,图片侧做重排)。生成质量的量化评估分三层:检索层看 Recall@k、MRR、答案片段是否被召回;生成层看忠实度/有据性(答案断言能否被检索片段支持,可用 NLI 模型或人工抽检)、答案相关性、以及「无答案时是否会说不知道」的正确拒答率;线上层看采纳率、追问率、点踩率与人工复核一致性。相似度阈值没有通用值,要在自己的评测集上标定:取一批正样本与负样本,画出分数分布,选让误召与漏召都能接受的切点,并随 embedding 模型更换重新标定。
ReAct 范式与自注意力机制:ReAct = Reasoning + Acting:让模型在每一步先输出一段简短推理(Thought),再选择一个动作(Action,通常是工具调用及其参数),环境返回观察(Observation)后继续下一轮,直到给出最终答案。它之所以有效,是因为把「隐式推理」变成显式的、可被外部信息纠正的循环——推理让动作有依据,观察让推理有事实约束,从而减少纯 CoT 的幻觉累积;工程上要实现循环上限、工具参数校验、失败重试与观察截断(否则上下文会被工具输出撑爆)。自注意力则是模型内部的信息交换机制:输入 X 乘三个可学习权重矩阵得到 Q = XW_Q、K = XW_K、V = XW_V,注意力为 softmax(QK^T/√d_k)V——Q 与 K 的内积决定「谁关注谁」,V 是被加权取走的信息,除以 √d_k 是控制点积方差避免 softmax 饱和。多头把维度切开,让不同头学习不同关系,最后拼接经输出投影融合。要特别强调:Q/K/V 的权重矩阵是随机初始化 + 端到端训练得到的(GPT 系常用 N(0, 0.02),也有 Xavier/Kaiming),不存在「Q 取某段输入」这种固定映射;推理时用 KV Cache 缓存历史 K/V 避免重复计算,复杂度仍是序列长度的平方,所以才有 FlashAttention、稀疏注意力、线性注意力这些优化方向。
两道手撕:① LCS(最长公共子序列):dp[i][j] 为 a 前 i 个与 b 前 j 个字符的 LCS 长度,a[i-1] == b[j-1] 时 dp[i][j] = dp[i-1][j-1] + 1,否则 max(dp[i-1][j], dp[i][j-1]);时间 O(nm),空间可优化到 O(min(n,m))(一维滚动时要先保存被覆盖的左上角值)。要区分「子序列不要求连续」与「子串必须连续」(子串转移为不等时归零)。② 最长回文子串:面试首选中心扩展——枚举 2n-1 个中心(字符中心与间隙中心),向两侧扩展更新最长,O(n²) 时间、O(1) 空间,代码短、不易写错;DP 写法 dp[i][j] = s[i]==s[j] && (j-i < 2 || dp[i+1][j-1]),按长度递增枚举;要拿高分可提 Manacher(O(n),用最右回文边界加速)。边界主动覆盖:空串、单字符、全相同字符(中心扩展退化为 O(n²))。
面试复盘:一面偏方向判断(选型、架构、迭代脉络),二面偏底层机制(一致性、奖励模型、QKV 如何得到),说明面试官在区分「读过综述」和「真做过」——凡是提到的方法(GSPO、MRoPE、RRF、rerank)都要准备好「再问一层」的解释,并绑定自己项目里的具体参数与评测数据。另外这类岗位几乎必考一道经典 DP 手撕(LCS、最长回文、编辑距离),把模板写到能默写的程度即可稳拿这部分分数。