面灵AI→

南方基金 AI 应用大模型方向:笔试题目与一面面经

轮次
笔试+一面
时间
2026-10
来源
牛客网

《面试题目》

笔试:

  1. Transformer 为什么用 LayerNorm 而不是 BatchNorm?
  2. ReAct 的错误传递和循环漂移是什么?
  3. 什么是 Self-Consistency?什么是推测解码?
  4. 算法:顺时针旋转矩阵。

一面:

  1. 自我介绍
  2. 你的 Agent 记忆怎么管理?
  3. Agent 的主流架构有哪些?
  4. Prompt 怎么做版本控制?
  5. 项目模型训练的参数量、数据来源、评测分别是什么?

《参考解析》

Transformer 用 LayerNorm 而不是 BatchNorm,根因是「序列长度可变 + 逐位置计算」。 BatchNorm 在 batch 维度上统计均值方差,训练时要攒一个 batch 的样本、推理时用滑动平均,这在 NLP 里会出三个问题:一是变长序列需要 padding,padding 会污染统计量;二是 batch 内样本的语义彼此独立,跨样本统计没有物理意义;三是自回归生成时 batch size 常常是 1,统计量根本估不准。LayerNorm 在单个样本的特征维度上归一化,与 batch 无关,训练和推理行为一致。至于为什么现在很多模型改用 RMSNorm,是因为去掉均值中心化后效果几乎不降、计算更省。另外还要补一句 Pre-LN 与 Post-LN:原始论文是 Post-LN,深层时训练不稳定,现代实现基本都用 Pre-LN(归一化放在子层之前)配合残差。

ReAct 的错误传递与循环漂移,本质是「错误观测进入上下文后不断自我强化」。 ReAct 的循环是 Thought → Action → Observation,一旦某一步工具报错或返回错误结果,这条 Observation 会被写进上下文,模型在后续思考里会把它当成事实基础,于是错误沿着链路传播(错误传递)。循环漂移则是模型在多次尝试失败后逐渐偏离原始目标:开始反复试相似的错误动作、或把注意力转移到次要子问题上,最终既没完成任务也烧掉步数。工程解法是:给步数与 token 设硬上限;给工具调用做结果校验(格式、状态码、关键字段),校验失败不要原样回灌错误文本而是回灌「结构化失败原因 + 建议」;对同一动作的重复调用做去重与退避;用外部状态表(待办/已完成)把目标固定下来,每轮都从状态表重新对齐目标;必要时引入独立的校验模型或 Replan 阶段中断漂移。

Self-Consistency 与推测解码是两个不同层面的「采样技巧」。 Self-Consistency 属于推理阶段的答案聚合:同一个问题用较高温度采样多条推理链,对最终答案投票取多数,用「多条路径是否收敛」代替单条链的自信心,显著提升数学与逻辑题的准确率,代价是推理成本线性增加。推测解码(speculative decoding)解决的是速度:用一个小的草稿模型(或 n-gram/检索)先并行猜出 k 个 token,再用大模型一次前向并行验证,接受前缀中一致的部分、拒绝第一个不一致处并继续——因为验证是并行的一次前向,所以在不改变输出分布的前提下把解码吞吐提升数倍。回答时要说清两者的目标不同:一个要更准,一个要更快且不损失质量。

Agent 记忆管理通常按「短期 / 长期 / 结构化」三层设计。 短期是当前会话的完整上下文,长了之后要么滑窗截断、要么摘要压缩;长期记忆落向量库或键值库,按需检索回灌;结构化状态(已确认事实、约束、待办、已完成动作)单独存成一份可读的记录,每轮都注入,避免模型从自由文本摘要里重新推理。关键设计点:写入策略(什么值得记——事实与偏好,而不是原始对话)、检索策略(按问题检索而非全量注入)、遗忘与冲突处理(同一事实的新旧版本以哪条为准)、以及压缩后的自检(数字、否定、约束是否还在)。要承认的取舍是:记忆越全成本越高、干扰越大,所以「少而准」通常比「多而全」效果更好。

Prompt 版本控制工程上就是「把 prompt 当代码管」。 把提示词从代码里搬出来放独立文件或配置中心,带版本号、变更记录和责任人;每次改动走评审并配一条离线评测用例(同一批样本跑新旧版本对比指标),避免「感觉变好了」;线上按版本分流做 A/B,保留回滚能力。运行时要记录每次请求用的 prompt 版本和模型版本,否则出了问题无法归因。至于模型训练的参数量、数据来源和评测,面试官真正想确认的是你有没有动手做过:参数量(基座规模 + 是否 LoRA/全参微调)、数据来源与清洗规则、训练与验证集如何划分、用哪些指标(准确率/召回、人工评分、A/B 业务指标)判断有效——数字必须能对得上,讲不出口径就说明只是挂名参与。笔试的旋转矩阵题则是标准的「先转置再水平翻转」(顺时针)或「先转置再垂直翻转」(逆时针),原地交换即可做到 O(1) 额外空间。