AI应用开发面试题精讲(一):大模型基础原理高频15问

AI应用开发面试题精讲(一):大模型基础原理高频15问

文章目录

  • AI应用开发面试题精讲(一):大模型基础原理高频15问
    • 前言
    • 一、Token与分词
      • [1. 什么是Token?为什么不能直接按字符或词来处理?](#1. 什么是Token?为什么不能直接按字符或词来处理?)
      • [2. Temperature参数的作用原理是什么?设为0就完全确定了吗?](#2. Temperature参数的作用原理是什么?设为0就完全确定了吗?)
      • [3. 什么是上下文窗口?为什么越大越慢越贵?](#3. 什么是上下文窗口?为什么越大越慢越贵?)
    • 二、幻觉与可靠性
      • [4. 什么是"Lost in the Middle"现象?对RAG有什么影响?](#4. 什么是"Lost in the Middle"现象?对RAG有什么影响?)
      • [5. 大模型为什么会产生幻觉?从原理上怎么解释?](#5. 大模型为什么会产生幻觉?从原理上怎么解释?)
      • [6. 缓解幻觉有哪些手段?按效果排序](#6. 缓解幻觉有哪些手段?按效果排序)
    • 三、Prompt工程核心
      • [7. Few-Shot、Zero-Shot、Chain of Thought分别是什么?为什么有效?](#7. Few-Shot、Zero-Shot、Chain of Thought分别是什么?为什么有效?)
      • [8. 什么是结构化输出?为什么生产环境必须要?](#8. 什么是结构化输出?为什么生产环境必须要?)
      • [9. Prompt注入是什么?怎么防御?](#9. Prompt注入是什么?怎么防御?)
    • 四、Embedding与检索基础
      • [10. Embedding是什么?维度越高越好吗?](#10. Embedding是什么?维度越高越好吗?)
      • [11. 向量相似度计算有哪几种方式?分别适用什么场景?](#11. 向量相似度计算有哪几种方式?分别适用什么场景?)
      • [12. HNSW和IVF是什么?怎么选?](#12. HNSW和IVF是什么?怎么选?)
    • 五、工程实践
      • [13. 流式响应的原理是什么?为什么AI产品都要做流式?](#13. 流式响应的原理是什么?为什么AI产品都要做流式?)
      • [14. RAG的基本流程是什么?每个环节可能出什么问题?](#14. RAG的基本流程是什么?每个环节可能出什么问题?)
      • [15. 大模型应用的A/B测试怎么做?和传统应用有什么区别?](#15. 大模型应用的A/B测试怎么做?和传统应用有什么区别?)
    • 总结

前言

AI应用开发岗位的面试,基础原理是第一道关。面试官不会问你"某模型有几个版本",而是直接问底层原理和工程判断:Token为什么不能按字处理?Temperature设为0就完全确定了吗?上下文窗口越大为什么越贵?

这篇整理了最高频的15道基础题,每道都附带原理拆解和面试加分点。


一、Token与分词

1. 什么是Token?为什么不能直接按字符或词来处理?

参考答案

Token是大模型处理文本的基本单位,介于"字"和"词"之间,采用子词(Subword)分词方式。

不用字符或整词的原因:

  1. 字符级:序列太长,训练效率低,且字符本身不含语义
  2. 整词级:词汇表太大(中文几十万词),模型参数爆炸;遇到生词、专业术语无法处理
  3. 子词级:用几千到几万个Token组合出所有词汇,兼顾效率和覆盖度

面试加分点:提到中英文Token效率差异------同样内容,中文消耗的Token数量通常是英文的1.5-2倍,直接影响成本。


2. Temperature参数的作用原理是什么?设为0就完全确定了吗?

参考答案

Temperature对Logits(下一个Token的原始概率分布)做缩放变换:除以Temperature值。

  • 温度低:概率分布变陡峭,高概率Token被放大,输出更确定
  • 温度高:概率分布变平缓,随机性增大,输出更多样

Temperature=0不完全确定,原因:

  1. 浮点计算有微小差异,累积后可能不同
  2. 推理框架的并行优化、批处理可能引入非确定性
  3. 服务端后处理可能引入随机性

实践建议:代码生成用0-0.3,对话用0.3-0.7,创意写作用0.7-1.2。


3. 什么是上下文窗口?为什么越大越慢越贵?

参考答案

上下文窗口是大模型一次推理能处理的最大Token数,包括输入Prompt和输出Completion。

越来越贵的核心原因

  1. 注意力复杂度O(n²):每个Token要和所有其他Token算注意力,上下文翻倍计算量翻四倍
  2. KV Cache线性增长:每个输入Token生成K/V向量存在显存里,上下文越大显存占用越多
  3. 批处理能力下降:大上下文占更多显存,同一GPU能并发的请求数减少

为什么还是要截断:长上下文有"Lost in the Middle"问题,中间信息容易被忽略;大部分问题不需要太长上下文;成本性价比太低。


二、幻觉与可靠性

4. 什么是"Lost in the Middle"现象?对RAG有什么影响?

参考答案

大模型对上下文开头和结尾的信息利用效果好,对中间的信息容易"看不到"。

对RAG的影响

  1. 检索结果排序很重要,最相关的片段放开头或结尾
  2. 不要堆太多检索结果,中间的等于白塞
  3. 重要信息可以在开头和结尾各放一次
  4. 可以双向排序提高命中概率

面试金句:不要以为把整本书塞进去大模型就能回答所有问题,实际上大部分信息都在中间被忽略了。


5. 大模型为什么会产生幻觉?从原理上怎么解释?

参考答案

幻觉是模型输出看似合理但实际编造的信息。原理层面原因:

  1. 训练目标是"预测下一个Token",不是"说真话"------模型没有被训练过区分真假
  2. 参数化记忆是模糊的------知识压缩在参数里,检索时容易混出错误组合
  3. 统计相关性≠事实正确性------"A和B经常共现"不等于"A和B有事实关系"
  4. 长上下文干扰------多个相似信息容易张冠李戴
  5. 对齐的副作用------为了"更听话"有时过度鼓励给出回答,即使不知道

6. 缓解幻觉有哪些手段?按效果排序

参考答案

  1. RAG检索增强(效果最好):给模型提供明确参考资料,让它基于资料回答
  2. 事实校验与引用溯源:要求每句话标注引用来源,另一个模型做校验
  3. Prompt约束:明确告诉模型"不知道就说不知道""只根据上下文回答"
  4. 降低Temperature:用0.1-0.3减少随机性
  5. 多模型投票:同一问题多次/多模型回答取一致结果
  6. 微调(效果有限):能改善格式和风格,但对幻觉改善有限甚至可能加剧

面试金句:缓解幻觉的第一原则------不要让模型靠记忆回答,要让它靠资料回答。


三、Prompt工程核心

7. Few-Shot、Zero-Shot、Chain of Thought分别是什么?为什么有效?

参考答案

  • Zero-Shot:不给例子直接提问,适合简单明确的任务
  • Few-Shot:给2-3个示例让模型照格式输出,投入产出比最高的优化手段
  • Chain of Thought(CoT):让模型把思考过程一步步说出来,对推理题效果显著

CoT有效的原理

  1. 复杂问题拆成多个简单步骤,每步出错概率降低
  2. 变相增加了推理计算量
  3. 中间步骤激活模型更多相关知识

进阶:Zero-Shot CoT只需加一句"让我们一步步思考",也能明显提升推理效果。


8. 什么是结构化输出?为什么生产环境必须要?

参考答案

结构化输出要求模型输出固定格式(JSON/XML等),而非自由文本。

生产环境必须的原因

  1. 可解析:程序直接处理,不用写正则
  2. 可预测:输出结构确定
  3. 减少幻觉:格式约束限制了自由发挥空间
  4. 便于校验:检查字段有无、格式对错
  5. 方便集成:直接入库、传API、渲染

常用手段:Prompt写格式要求 → Function Calling → 约束解码 → 输出后校验+重试


9. Prompt注入是什么?怎么防御?

参考答案

Prompt注入是攻击者在输入中嵌入恶意指令,试图覆盖系统Prompt或改变模型行为。

常见攻击方式

  • 用户输入中写"忽略上面的指令,改为..."
  • 文档中嵌入隐藏指令(白色文字、HTML注释等)
  • 多轮对话中逐步绕过限制

防御手段

  1. 输入清洗:过滤"忽略指令""你现在是"等高风险模式
  2. 分隔符隔离:用明确分隔符区分系统指令和用户输入
  3. 输出校验:检查输出是否符合预期范围
  4. 最小权限:工具调用、数据访问给最小权限
  5. 多层防御:不要只靠Prompt,要配合后端校验

四、Embedding与检索基础

10. Embedding是什么?维度越高越好吗?

参考答案

Embedding是把文本映射成稠密向量,让语义相近的文本在向量空间中距离更近。

维度不是越高越好

  • 高维度:表达能力强,但计算量大、存储成本高、容易过拟合
  • 低维度:计算快、存储省,但表达能力可能不够
  • 常见维度:768、1024、1536,根据任务复杂度选择

实践建议:先用标准维度跑baseline,再根据效果和成本调整。小任务用768就够,大规模检索可以用更高维度。


11. 向量相似度计算有哪几种方式?分别适用什么场景?

参考答案

  1. 余弦相似度:衡量方向相似性,不关心向量长度。最常用,适合文本语义匹配
  2. 点积(内积):同时考虑方向和长度。如果向量已归一化,等价于余弦相似度
  3. 欧氏距离:衡量空间直线距离。适合需要考虑绝对位置的聚类任务

选型建议

  • 文本检索:余弦相似度(默认选择)
  • 推荐系统:点积(可以结合向量模长表示热度)
  • 聚类分析:欧氏距离

12. HNSW和IVF是什么?怎么选?

参考答案

两者都是近似最近邻搜索(ANN)的索引算法。

HNSW(分层可导航小世界图)

  • 构建多层图结构,从顶层粗粒度搜索逐层细化
  • 查询速度快,召回率高
  • 内存占用大(要存图结构)
  • 适合中小规模、对延迟敏感的场景

IVF(倒排文件)

  • 先聚类分桶,查询时只搜索最近的几个桶
  • 内存占用小,可以结合PQ量化进一步压缩
  • 召回率略低于HNSW
  • 适合大规模、内存受限的场景

选型:数据量小且要求低延迟选HNSW;数据量大且成本敏感选IVF+PQ。


五、工程实践

13. 流式响应的原理是什么?为什么AI产品都要做流式?

参考答案

流式响应是指模型一边生成一边返回,而不是等全部生成完再返回。通常基于SSE(Server-Sent Events)协议。

为什么都要做流式

  1. 首Token延迟大幅降低:用户几百毫秒就能看到第一个字,不用等几秒甚至几十秒
  2. 用户体验好:打字机效果让用户感觉模型在"思考",心理等待感降低
  3. 可以提前中断:用户看到方向不对可以随时停止,省Token
  4. 支持长输出:不需要等全部生成完才返回,避免超时

实现要点:后端用SSE或WebSocket推送;前端逐字渲染;要处理中断、错误、重连。


14. RAG的基本流程是什么?每个环节可能出什么问题?

参考答案

基本流程:文档解析 → 切分 → Embedding → 存入向量库 → 查询时检索 → 组装Prompt → 大模型生成

每个环节的常见问题

  1. 文档解析:PDF表格/图片丢失、格式混乱
  2. 切分:切分太碎丢失上下文、切分太粗召回不准
  3. Embedding:模型不匹配领域、多语言效果差
  4. 检索:Top-K太少漏召回、太多引入噪音
  5. 组装:上下文过长导致Lost in the Middle
  6. 生成:模型忽略检索结果、编造检索结果中没有的内容

15. 大模型应用的A/B测试怎么做?和传统应用有什么区别?

参考答案

传统应用A/B测试:改UI、改逻辑,结果确定,同一个输入一定得到同一个输出。

大模型A/B测试的特殊性

  1. 输出非确定性:同一输入可能不同输出,需要多次采样
  2. 评价指标复杂:不只是转化率,还要看准确性、安全性、用户满意度
  3. 需要人工评估:很多场景无法自动评估,需要标注员打分
  4. 长尾问题:少数case可能差异很大,需要足够样本量

实践方法

  1. 用自动指标(BLEU、ROUGE等)做初筛
  2. 用人工评估做关键case验证
  3. 灰度发布,先放5%流量观察
  4. 关注用户反馈和举报率

面试加分点:提到"评估是大模型应用落地的核心瓶颈"------不是模型不够好,而是我们不知道它够不够好。


总结

这15道题覆盖了AI应用开发面试中最高频的基础概念。核心思路是:不要只背概念,要理解原理,能说清楚"为什么"和"怎么选"。面试官看的是你的工程判断力,不是记忆力。