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)分词方式。
不用字符或整词的原因:
- 字符级:序列太长,训练效率低,且字符本身不含语义
- 整词级:词汇表太大(中文几十万词),模型参数爆炸;遇到生词、专业术语无法处理
- 子词级:用几千到几万个Token组合出所有词汇,兼顾效率和覆盖度
面试加分点:提到中英文Token效率差异------同样内容,中文消耗的Token数量通常是英文的1.5-2倍,直接影响成本。
2. Temperature参数的作用原理是什么?设为0就完全确定了吗?
参考答案:
Temperature对Logits(下一个Token的原始概率分布)做缩放变换:除以Temperature值。
- 温度低:概率分布变陡峭,高概率Token被放大,输出更确定
- 温度高:概率分布变平缓,随机性增大,输出更多样
Temperature=0不完全确定,原因:
- 浮点计算有微小差异,累积后可能不同
- 推理框架的并行优化、批处理可能引入非确定性
- 服务端后处理可能引入随机性
实践建议:代码生成用0-0.3,对话用0.3-0.7,创意写作用0.7-1.2。
3. 什么是上下文窗口?为什么越大越慢越贵?
参考答案:
上下文窗口是大模型一次推理能处理的最大Token数,包括输入Prompt和输出Completion。
越来越贵的核心原因:
- 注意力复杂度O(n²):每个Token要和所有其他Token算注意力,上下文翻倍计算量翻四倍
- KV Cache线性增长:每个输入Token生成K/V向量存在显存里,上下文越大显存占用越多
- 批处理能力下降:大上下文占更多显存,同一GPU能并发的请求数减少
为什么还是要截断:长上下文有"Lost in the Middle"问题,中间信息容易被忽略;大部分问题不需要太长上下文;成本性价比太低。
二、幻觉与可靠性
4. 什么是"Lost in the Middle"现象?对RAG有什么影响?
参考答案:
大模型对上下文开头和结尾的信息利用效果好,对中间的信息容易"看不到"。
对RAG的影响:
- 检索结果排序很重要,最相关的片段放开头或结尾
- 不要堆太多检索结果,中间的等于白塞
- 重要信息可以在开头和结尾各放一次
- 可以双向排序提高命中概率
面试金句:不要以为把整本书塞进去大模型就能回答所有问题,实际上大部分信息都在中间被忽略了。
5. 大模型为什么会产生幻觉?从原理上怎么解释?
参考答案:
幻觉是模型输出看似合理但实际编造的信息。原理层面原因:
- 训练目标是"预测下一个Token",不是"说真话"------模型没有被训练过区分真假
- 参数化记忆是模糊的------知识压缩在参数里,检索时容易混出错误组合
- 统计相关性≠事实正确性------"A和B经常共现"不等于"A和B有事实关系"
- 长上下文干扰------多个相似信息容易张冠李戴
- 对齐的副作用------为了"更听话"有时过度鼓励给出回答,即使不知道
6. 缓解幻觉有哪些手段?按效果排序
参考答案:
- RAG检索增强(效果最好):给模型提供明确参考资料,让它基于资料回答
- 事实校验与引用溯源:要求每句话标注引用来源,另一个模型做校验
- Prompt约束:明确告诉模型"不知道就说不知道""只根据上下文回答"
- 降低Temperature:用0.1-0.3减少随机性
- 多模型投票:同一问题多次/多模型回答取一致结果
- 微调(效果有限):能改善格式和风格,但对幻觉改善有限甚至可能加剧
面试金句:缓解幻觉的第一原则------不要让模型靠记忆回答,要让它靠资料回答。
三、Prompt工程核心
7. Few-Shot、Zero-Shot、Chain of Thought分别是什么?为什么有效?
参考答案:
- Zero-Shot:不给例子直接提问,适合简单明确的任务
- Few-Shot:给2-3个示例让模型照格式输出,投入产出比最高的优化手段
- Chain of Thought(CoT):让模型把思考过程一步步说出来,对推理题效果显著
CoT有效的原理:
- 复杂问题拆成多个简单步骤,每步出错概率降低
- 变相增加了推理计算量
- 中间步骤激活模型更多相关知识
进阶:Zero-Shot CoT只需加一句"让我们一步步思考",也能明显提升推理效果。
8. 什么是结构化输出?为什么生产环境必须要?
参考答案:
结构化输出要求模型输出固定格式(JSON/XML等),而非自由文本。
生产环境必须的原因:
- 可解析:程序直接处理,不用写正则
- 可预测:输出结构确定
- 减少幻觉:格式约束限制了自由发挥空间
- 便于校验:检查字段有无、格式对错
- 方便集成:直接入库、传API、渲染
常用手段:Prompt写格式要求 → Function Calling → 约束解码 → 输出后校验+重试
9. Prompt注入是什么?怎么防御?
参考答案:
Prompt注入是攻击者在输入中嵌入恶意指令,试图覆盖系统Prompt或改变模型行为。
常见攻击方式:
- 用户输入中写"忽略上面的指令,改为..."
- 文档中嵌入隐藏指令(白色文字、HTML注释等)
- 多轮对话中逐步绕过限制
防御手段:
- 输入清洗:过滤"忽略指令""你现在是"等高风险模式
- 分隔符隔离:用明确分隔符区分系统指令和用户输入
- 输出校验:检查输出是否符合预期范围
- 最小权限:工具调用、数据访问给最小权限
- 多层防御:不要只靠Prompt,要配合后端校验
四、Embedding与检索基础
10. Embedding是什么?维度越高越好吗?
参考答案:
Embedding是把文本映射成稠密向量,让语义相近的文本在向量空间中距离更近。
维度不是越高越好:
- 高维度:表达能力强,但计算量大、存储成本高、容易过拟合
- 低维度:计算快、存储省,但表达能力可能不够
- 常见维度:768、1024、1536,根据任务复杂度选择
实践建议:先用标准维度跑baseline,再根据效果和成本调整。小任务用768就够,大规模检索可以用更高维度。
11. 向量相似度计算有哪几种方式?分别适用什么场景?
参考答案:
- 余弦相似度:衡量方向相似性,不关心向量长度。最常用,适合文本语义匹配
- 点积(内积):同时考虑方向和长度。如果向量已归一化,等价于余弦相似度
- 欧氏距离:衡量空间直线距离。适合需要考虑绝对位置的聚类任务
选型建议:
- 文本检索:余弦相似度(默认选择)
- 推荐系统:点积(可以结合向量模长表示热度)
- 聚类分析:欧氏距离
12. HNSW和IVF是什么?怎么选?
参考答案:
两者都是近似最近邻搜索(ANN)的索引算法。
HNSW(分层可导航小世界图):
- 构建多层图结构,从顶层粗粒度搜索逐层细化
- 查询速度快,召回率高
- 内存占用大(要存图结构)
- 适合中小规模、对延迟敏感的场景
IVF(倒排文件):
- 先聚类分桶,查询时只搜索最近的几个桶
- 内存占用小,可以结合PQ量化进一步压缩
- 召回率略低于HNSW
- 适合大规模、内存受限的场景
选型:数据量小且要求低延迟选HNSW;数据量大且成本敏感选IVF+PQ。
五、工程实践
13. 流式响应的原理是什么?为什么AI产品都要做流式?
参考答案:
流式响应是指模型一边生成一边返回,而不是等全部生成完再返回。通常基于SSE(Server-Sent Events)协议。
为什么都要做流式:
- 首Token延迟大幅降低:用户几百毫秒就能看到第一个字,不用等几秒甚至几十秒
- 用户体验好:打字机效果让用户感觉模型在"思考",心理等待感降低
- 可以提前中断:用户看到方向不对可以随时停止,省Token
- 支持长输出:不需要等全部生成完才返回,避免超时
实现要点:后端用SSE或WebSocket推送;前端逐字渲染;要处理中断、错误、重连。
14. RAG的基本流程是什么?每个环节可能出什么问题?
参考答案:
基本流程:文档解析 → 切分 → Embedding → 存入向量库 → 查询时检索 → 组装Prompt → 大模型生成
每个环节的常见问题:
- 文档解析:PDF表格/图片丢失、格式混乱
- 切分:切分太碎丢失上下文、切分太粗召回不准
- Embedding:模型不匹配领域、多语言效果差
- 检索:Top-K太少漏召回、太多引入噪音
- 组装:上下文过长导致Lost in the Middle
- 生成:模型忽略检索结果、编造检索结果中没有的内容
15. 大模型应用的A/B测试怎么做?和传统应用有什么区别?
参考答案:
传统应用A/B测试:改UI、改逻辑,结果确定,同一个输入一定得到同一个输出。
大模型A/B测试的特殊性:
- 输出非确定性:同一输入可能不同输出,需要多次采样
- 评价指标复杂:不只是转化率,还要看准确性、安全性、用户满意度
- 需要人工评估:很多场景无法自动评估,需要标注员打分
- 长尾问题:少数case可能差异很大,需要足够样本量
实践方法:
- 用自动指标(BLEU、ROUGE等)做初筛
- 用人工评估做关键case验证
- 灰度发布,先放5%流量观察
- 关注用户反馈和举报率
面试加分点:提到"评估是大模型应用落地的核心瓶颈"------不是模型不够好,而是我们不知道它够不够好。
总结
这15道题覆盖了AI应用开发面试中最高频的基础概念。核心思路是:不要只背概念,要理解原理,能说清楚"为什么"和"怎么选"。面试官看的是你的工程判断力,不是记忆力。