近期整理了美的AI Agent方向实习面试全套真题 。整套题目看似基础、偏向概念,但每一题都在筛选真正懂工程落地、而非只会背理论的候选人。
美的大模型团队面试有一个鲜明特点:不深挖复杂算法数学推导,重点考察应用层工程思维、落地痛点、框架取舍、基础原理闭环。这意味着------你不需要推导 Transformer 的注意力矩阵,但你必须说清楚 RAG 的每一步为什么这么做、Agent 框架的坑在哪、Function Calling 参数校验为什么不能省。
本文将 10 道面试题做系统化深度复盘,每题包含标准答案、底层逻辑、落地坑点、面试加分话术,适合所有 AI 应用、Agent、RAG 岗位求职复习。
本文目录 · 10道面试题
目录
[本文目录 · 10道面试题](#本文目录 · 10道面试题)
[Q1 AI Agent 与传统 LLM 应用的核心区别](#Q1 AI Agent 与传统 LLM 应用的核心区别)
[传统 LLM 应用(问答式)](#传统 LLM 应用(问答式))
[AI Agent(任务式)](#AI Agent(任务式))
[Q2 RAG 完整工作流程(离线 + 在线)](#Q2 RAG 完整工作流程(离线 + 在线))
[Q3 LLM 幻觉全套缓解方案](#Q3 LLM 幻觉全套缓解方案)
[Q4 Agent 框架(LangChain/LangGraph)选型与取舍](#Q4 Agent 框架(LangChain/LangGraph)选型与取舍)
[Q5 Function Calling 完整落地流程](#Q5 Function Calling 完整落地流程)
[Q6 多轮对话 Agent 核心设计](#Q6 多轮对话 Agent 核心设计)
[Q7 Agent 短期记忆 + 长期记忆机制](#Q7 Agent 短期记忆 + 长期记忆机制)
[Q8 ReAct 推理框架核心原理](#Q8 ReAct 推理框架核心原理)
[Q9 RAG 高阶优化方案(ReRank + HyDE)](#Q9 RAG 高阶优化方案(ReRank + HyDE))
[优化一:Re-ranking 重排序](#优化一:Re-ranking 重排序)
[优化二:HyDE 假想文档检索](#优化二:HyDE 假想文档检索)
[Q10 文本相似度计算原理](#Q10 文本相似度计算原理)
[主流工业方案:余弦相似度(Cosine Similarity)](#主流工业方案:余弦相似度(Cosine Similarity))
[Embedding + 余弦相似度](#Embedding + 余弦相似度)
[TF-IDF + 余弦相似度](#TF-IDF + 余弦相似度)
[面试总结:美的 AI Agent 招聘核心考察点](#面试总结:美的 AI Agent 招聘核心考察点)
[整套 10 题,本质只考察三件事](#整套 10 题,本质只考察三件事)
Q1 AI Agent 与传统 LLM 应用的核心区别
这是 Agent 面试第一道必问开题题,用来判断你有没有建立"智能体思维"。答好了后面才会深入问,答不好基本到此为止。
传统 LLM 应用(问答式)
- 执行模式:单次输入 → 单次输出
- 无规划、无记忆、无迭代、无工具
- 用户问什么,模型直接生成答案
- 无法自主完成任务
- 本质:被动应答
AI Agent(任务式)
- 执行模式:目标驱动的闭环任务
- 四大核心能力:规划、工具、记忆、迭代
- 自主拆解步骤、调用外部工具
- 根据返回结果继续推理,直到完成
- 本质:主动执行
四大核心能力拆解
- **自主规划(Planning):**把"帮我订一张明天去上海的机票"拆解为:查日期 → 查航班 → 比价 → 下单 → 确认。
- **工具调用(Tool Use):**不是"假装知道航班信息",而是真正调用航班 API 拿到真实数据。
- **记忆管理(Memory):**记住你是谁、你偏好靠窗座位、你上次出行的时间。
- **迭代纠错(Reflection):**如果 API 返回"该航班已满",Agent 会自动换一班继续尝试,而不是直接报错给用户。
通俗类比
传统 LLM = 一个百科全书,你翻一页它读一页,你合上它就停了。
AI Agent = 一个实习生,你给他一个任务目标,他自己拆步骤、打电话、查资料、遇到问题想办法解决,直到把结果交到你手上。
面试满分回答
传统 LLM 只能基于当前提问生成单次回答,而 AI Agent 可以自主规划流程、调用工具、迭代执行,实现完整任务闭环。Agent 的本质是从"被动应答"升级为"主动执行"。
Q2 RAG 完整工作流程(离线 + 在线)
RAG 是美的、车企、家电 AI 团队最核心的落地技术 。面试官要求你分阶段完整口述,不能只说"检索 + 生成"就完事。
阶段一:离线准备(知识库构建)
离线构建
文档解析→清洗过滤→语义切块→Embedding 向量化→存入向量数据库
每一步的关键要点
- **文档解析:**PDF / Word / Excel / HTML 各有解析策略,表格和图片是难点。PDF 尤其坑------双栏排版、扫描件、公式渲染,每一类都需要专门处理。
- **清洗过滤:**去掉页眉页脚水印、空行、重复段落、乱码。垃圾进 = 垃圾出,这一步直接影响最终检索质量。
- 语义切块(Chunking): 这是最容易被忽视但影响最大的环节。不按固定字符数硬切,而是按标题层级、段落语义、自然语句边界切块。一个 chunk 应该是一个"完整语义单元"------既不能太碎(丢上下文),也不能太长(检索精度下降)。
- **Embedding 向量化:**每个 chunk 通过 Embedding 模型转为高维向量(通常 768~1536 维)。模型选择直接影响语义匹配质量,中文场景推荐 BGE-large-zh 或 M3E。
- **存入向量数据库:**Milvus / Qdrant / Chroma / FAISS,根据数据规模和部署条件选择。
阶段二:在线服务(用户问答)
在线问答
用户提问→Query 向量化→向量库相似度检索→BM25 + 重排(可选)→上下文拼接→LLM 生成答案
面试加分点
RAG 的本质: 用外部私有知识库约束大模型,解决三大问题------幻觉 (让模型有据可依)、知识滞后 (知识库可随时更新)、私有数据不可用(企业内部文档不在公网训练集中)。
踩坑提醒
面试官最爱追问:"切块大小怎么定?" 回答:没有万能数值,需要根据文档类型实验调优。经验值:通用文本 256~512 tokens,代码类按函数粒度切,表格按行切。一定要强调**"实验驱动"**,而不是拍脑袋定一个数。
Q3 LLM 幻觉全套缓解方案
这是工程岗最高频考点 。面试官不想听"幻觉是模型会编造信息"这种废话,他要听的是你在工程上怎么治理。
核心认知:幻觉无法 100% 消除 ,只能工程层面极致降低概率。面试必须答出以下 5 大维度,少一个都是减分。
| 维度 | 策略 | 核心原理 |
|---|---|---|
| 1. 知识增强 | RAG | 所有答案依托私有真实文档,让模型"有据可依",而非自由发挥 |
| 2. 实时校验 | 工具调用 | 时效问题、动态数据调用接口 / 搜索引擎获取最新真实数据 |
| 3. 提示词约束 | Prompt Engineering | 强制限定:无依据则回答"不知道",禁止编造、禁止扩写 |
| 4. 引用溯源 | 答案校验 | 生成答案必须附带来源文档,模型自主校验答案是否完全来自检索内容 |
| 5. 规则兜底 | 人工审核 | 高风险场景增加规则拦截、人工复核机制 |
每个维度的深度补充
知识增强(RAG)------这是第一道防线。但光有 RAG 不够,如果检索回来的内容本身就不相关,模型照样会幻觉。所以 RAG 的检索质量直接决定幻觉率。
工具调用实时校验 ------当用户问"今天黄金价格是多少",模型不可能从知识库里找到今天的金价(除非你每秒更新知识库)。这时候必须让 Agent 调用实时 API。这解决了 RAG 解决不了的时效性问题。
提示词工程约束------在 system prompt 里明确写死:"你只能基于以下检索到的内容回答。如果检索内容中没有相关信息,你必须回答'根据现有资料无法回答该问题',禁止自行编造。"这一条简单粗暴但有效。
引用溯源 + 答案校验 ------让模型在生成答案时标注每句话的来源 chunk。可以用第二个 LLM 做"审核员",检查答案中每一句是否都能在检索内容中找到出处。这叫Self-Check 机制。
规则兜底 + 人工审核 ------金融、医疗等高风险场景,不能完全信任模型。必须加规则引擎做关键词拦截 + 人工抽检。这是最后一道防线,也是生产环境的标配。
面试话术建议
不要只说"用 RAG 解决幻觉"。要说:"幻觉治理是一个分层防御体系------RAG 是知识层、工具调用是时效层、Prompt 约束是行为层、引用溯源是校验层、规则兜底是安全层。五层叠加,才能把幻觉率压到生产可接受的范围。"
Q4 Agent 框架(LangChain/LangGraph)选型与取舍
面试官非常喜欢问这道题,因为它的真正考点不是"你会不会用框架",而是**"你会不会无脑用框架?知不知道框架的坑?"**
框架优点
- 组件高度封装:工具、记忆、检索、解析开箱即用
- 快速搭建原型,加速开发效率
- 生态成熟,社区案例丰富
- 降低入门门槛,适合 POC 验证
框架缺点(面试核心踩坑点)
- 抽象层级过高,底层黑盒多
- 复杂业务链路调试困难、可观测性差
- 自定义逻辑、特殊流程改造受限
- 版本迭代快,API 频繁 breaking change
- 性能开销:大量中间抽象层拖慢推理
为什么调试是最大痛点?
LangChain 的 Chain 是层层嵌套的------一个 Agent 调用背后可能涉及 Prompt 模板渲染 → LLM 调用 → 输出解析 → 工具路由 → 工具执行 → 结果回填,中间任何一步出错,报的都是一个笼统的 Exception。你不知道是 Prompt 没拼对、还是模型输出格式变了、还是解析器 regex 没匹配上。生产环境最怕的就是"不可观测"。
满分回答
原型快速验证用框架,生产核心链路轻封装、自主可控,保证可调试、可追溯、可监控。框架是脚手架不是地基------当地基用迟早要还债。
进阶认知LangGraph 是 LangChain 团队推出的升级方案,把 Agent 的执行流建模为有向图,比传统 Chain 的线性执行更灵活,可观测性也有改善。但核心矛盾没变------抽象层越厚,定制化空间越小。面试提到 LangGraph 会加分,但要点出这个根本矛盾。
Q5 Function Calling 完整落地流程
Function Calling 是 Agent 工具调用的底层核心。面试必须说出完整闭环链路,不能只说"模型决定调用哪个函数"。共 5 个步骤,漏了第 3 步直接扣大分。
- 工具注册→2. 模型决策→3. 参数校验→4. 工具执行→5. 结果回填
逐步拆解
① 工具注册------定义工具名称、功能描述、入参 Schema、参数类型、必填项。这个 Schema 就是告诉模型"你有哪些工具可用,每个工具需要什么参数"。描述写得越清晰,模型决策越准确。
java
{
"name": "query_stock_price",
"description": "查询指定股票的实时价格",
"parameters": {
"type": "object",
"properties": {
"stock_code": {"type": "string", "description": "股票代码,如 600519"},
"market": {"type": "string", "enum": ["SH", "SZ"], "description": "交易所代码"}
},
"required": ["stock_code"]
}
}
② 模型决策------LLM 根据用户问题,自主判断:是否需要调用工具?调哪个?参数填什么?这一步完全由模型推理完成。
③ 后端参数校验(最关键!)
面试必杀点
模型输出的参数不一定合法 !模型可能把 "600519" 输出成 600519(数字而非字符串),可能漏掉必填参数,可能填了枚举值之外的值。必须在代码层做二次校验 + 容错修复。这一步漏了 = 生产事故。很多面试者只说 4 步(注册→决策→执行→回填),跳过了校验,面试官立刻知道你没做过生产级落地。
④ 工具执行------校验通过后,调用真实外部接口 / 函数,获取返回结果。这里要处理超时、重试、异常降级。
⑤ 结果回填二次生成------把工具执行结果喂回大模型,让模型结合真实数据生成最终自然语言答案。注意:不是直接把 API 返回的 JSON 丢给用户,而是让模型"翻译"成用户能理解的话。
Q6 多轮对话 Agent 核心设计
多轮对话看似简单(不就是记住历史消息吗),但真正落地时最大痛点是:上下文混乱、状态爆炸、意图漂移。面试官要听你怎么治理这三个问题。
痛点一:上下文混乱
用户第 1 轮问"ETF 是什么",第 2 轮说"那它的费率呢"------模型必须知道"它"指 ETF。如果上下文管理不好,模型可能回答成股票费率。
痛点二:状态爆炸
一个复杂任务(比如"帮我分析这三只基金然后选一只"),中间状态极多------已分析了哪几只、每只的关键指标、用户的偏好变化......如果全部塞进上下文,token 爆炸;如果不塞,任务断裂。
痛点三:意图漂移
用户聊着聊着话题就变了------从"查基金"聊到"今天天气"。Agent 需要识别意图切换,不能还沉浸在上一个任务里。
落地核心三点
1. 状态统一管理------维护结构化会话状态对象,不靠原始消息堆叠。包含:当前任务进度、用户信息、历史关键结论、待执行步骤。这比把所有历史消息原样塞给模型高效得多。
java
{
"current_task": "fund_analysis",
"task_progress": "comparing",
"analyzed_funds": ["000001", "110011"],
"user_preference": {"risk_level": "medium", "horizon": "3y"},
"pending_steps": ["compare_returns", "generate_recommendation"]
}
2. 上下文感知意图 ------每一轮问答不孤立理解,基于历史对话捕捉用户真实意图。具体做法:在发送给模型之前,先做一轮"意图识别",判断用户是在继续上一个话题、还是开启了新话题、还是在做澄清补充。
3. 上下文动态治理 ------通过摘要、截断、过期清理三招控制 token 长度:
- **摘要(Summarization):**超过阈值后,把早期对话压缩成一段摘要,保留关键信息丢弃细节。
- **截断(Truncation):**保留最近 N 轮原始消息,更早的只保留摘要。
- **过期清理(Expiry):**超过一定时间或任务已完成的历史,归档或清除。
面试加分
提到**"滑动窗口 + 摘要压缩"**组合策略。具体来说:最近 5 轮对话保留原文,第 6~20 轮压缩成摘要,20 轮之前的归档。这样在 token 预算和上下文完整性之间取得平衡。
Q7 Agent 短期记忆 + 长期记忆机制
工业级 Agent 必须区分两种记忆。这是高阶面试常考点,能区分出"做过系统设计"和"只跑过 Demo"的候选人。
| 维度 | 短期记忆(会话记忆) | 长期记忆(用户记忆) |
|---|---|---|
| 范围 | 当前对话、正在执行的任务、临时状态 | 用户偏好、历史习惯、个人画像、长期结论 |
| 生命周期 | 随会话更新,会话结束清空或归档 | 持久化存储,可删除、可更新 |
| 存储介质 | 内存 / Redis(低延迟) | 向量数据库 / 关系数据库(持久化) |
| 作用 | 保证多轮连贯、任务不中断 | 实现个性化智能、越用越懂你 |
| 典型场景 | "刚才你说的那只基金叫什么" | "你每次都偏好低风险产品,这次也先看低风险的" |
深度补充:长期记忆的工程实现
长期记忆不是简单的 key-value 存储。工业级方案通常用向量数据库 + 结构化标签双轨制:
- **向量存储:**把用户历史交互的关键信息做 Embedding 存入向量库,每次新对话开始时,用当前 Query 检索相关历史记忆。
- **结构化标签:**同时维护一个用户画像表(偏好风险等级、常查品类、操作频率......),这些是确定性数据,不需要语义检索。
面试常追问
"长期记忆怎么更新?什么时候写入?" 回答:不是每轮都写。应该设置记忆提取触发条件------用户明确表达偏好时("我不喜欢高风险")、任务完成得出结论时、用户主动要求记住时。无差别写入会导致记忆库膨胀且噪声大。
Q8 ReAct 推理框架核心原理
ReAct 是目前企业 Agent最主流的执行范式。面试答这道题,要说出"它是什么、怎么运转、工程上要注意什么"三层。
ReAct = Reason + Act,推理与行动交替循环。
执行流程
Reason 思考→Act 行动→Observe 观察↻循环迭代
- **Reason(思考):**分析当前任务状态,判断还缺什么信息,确定下一步该做什么。输出一段自然语言推理过程。
- **Act(行动):**根据思考结论执行具体动作------调用工具、检索知识库、查询接口。
- **Observe(观察):**接收外部返回的结果,把它加入上下文。
- **循环迭代:**基于新的观察结果,再次进入 Reason,直到任务闭环或决定停止。
一个具体例子
XML
用户:茅台2024年净利润是多少?和五粮液比谁更高?
Thought: 我需要查询茅台和五粮液2024年的净利润数据。
Action: query_financial_report(stock="茅台", year=2024, metric="net_profit")
Observation: 茅台2024年净利润 862亿
Thought: 茅台的数据拿到了,现在需要查五粮液的。
Action: query_financial_report(stock="五粮液", year=2024, metric="net_profit")
Observation: 五粮液2024年净利润 318亿
Thought: 两家数据都拿到了。862亿 > 318亿,茅台更高。
Final Answer: 茅台2024年净利润862亿,五粮液318亿,茅台更高,
差额约544亿。
工程落地必杀点
必须设置最大迭代步数! ReAct 的循环结构天然有"死循环"风险------模型可能在 Thought → Act → Observe 之间无限绕圈,消耗大量 Token 和 API 调用。生产环境必须设
max_iterations(通常 5~10 步),超限后强制终止并返回当前最优结果。这不是可选项,是强制安全措施。
面试加分提到 ReAct 的变体:Reflexion (在 ReAct 基础上增加自我反思环节,失败后总结经验教训再重试)和 Plan-and-Execute(先做完整规划再逐步执行,适合复杂长链路任务)。说明你不只知道 ReAct,还了解 Agent 执行范式的演进方向。
Q9 RAG 高阶优化方案(ReRank + HyDE)
普通 RAG 人人都会------切文档、Embedding、检索、拼 Prompt。说出 ReRank 和 HyDE,代表你懂工业级调优,不是只跑过 Demo。
优化一:Re-ranking 重排序
**问题背景:**向量检索是"粗排"------它基于语义相似度快速从百万级 chunk 中筛出 Top-K,但语义相似 ≠ 事实相关。比如用户问"ETF 申赎流程",向量检索可能召回一段"ETF 和 LOF 的区别"------语义很近,但答非所问。
解决方案: 在向量检索拿到 Top-20 之后,用一个更精确但更慢的重排模型(如 BGE-Reranker、Cohere Rerank)对这 20 条做二次精准打分,重新排序后取 Top-5 喂给 LLM。
| 阶段 | 模型 | 速度 | 精度 | 候选量 |
|---|---|---|---|---|
| 粗排(召回) | Embedding 向量检索 | 极快(毫秒级) | 中(语义近似) | Top-20~50 |
| 精排(重排) | Cross-Encoder 重排模型 | 较慢(百毫秒级) | 高(深层语义匹配) | Top-3~5 |
为什么不全用精排?
因为 Cross-Encoder 太慢。它需要把 Query 和每个候选拼在一起过一遍完整 Transformer,百万级数据全做精排需要几分钟。所以工业方案永远是**"快粗排 + 慢精排"**两阶段架构------先用快的筛到小范围,再用慢的精准挑。
优化二:HyDE 假想文档检索
问题背景: 用户提问往往过短、模糊、语义稀疏。比如用户问"怎么赎回"------就三个字,Embedding 之后跟知识库里"ETF赎回操作流程"的向量距离可能很远,检索召回率极差。
解决方案(HyDE = Hypothetical Document Embeddings):
- 先让 LLM 根据用户问题,生成一份假想的标准答案(不需要准确,只需要语义丰富)。
- 用这份假想答案(而非原始问句)做 Embedding,去向量库检索。
- 假想答案的语义信息远比三个字的原始问句丰富,召回质量大幅提升。
通俗类比
用户问"怎么赎回"------太短了,搜索引擎不知道你在说基金赎回还是 ETF 赎回还是理财产品赎回。
HyDE 的做法:先让模型帮你"脑补"一段答案------"ETF赎回是指投资者将持有的ETF份额通过证券账户向基金公司申请换回一篮子股票或现金的过程......"。这段话信息量远大于"怎么赎回"三个字,用它去检索,精准度自然高得多。
HyDE 的代价
多一次 LLM 调用 = 多一次延迟 + 多一份成本。所以 HyDE 适合离线批处理 或对延迟不敏感的场景。实时低延迟场景需谨慎,或用小模型生成假想文档以降低延迟。
Q10 文本相似度计算原理
基础但必考,考察基本功是否扎实。面试官用这道题做收尾,确认你对底层原理有闭环理解。
主流工业方案:余弦相似度(Cosine Similarity)
- 对两段文本做 Embedding,转为高维向量(如 768 维)。
- 计算两个向量的余弦夹角------夹角越小,方向越一致,语义越相似。
- 余弦值范围 -1, 1,值越接近 1 表示越相似。
数学公式:
cosine_similarity(A, B) = (A · B) / (||A|| × ||B||)
直观理解:把两段文本想象成高维空间中的两个箭头,箭头方向越接近,语义越相似。注意这里比较的是"方向"而非"长度"------向量长度代表文本信息量,方向代表语义含义。
兜底传统方案:TF-IDF
无模型场景下(比如没有 GPU、不能用 Embedding 模型),可用 TF-IDF 做传统文本相似度计算:
- **TF(词频):**一个词在文档中出现的频率。
- **IDF(逆文档频率):**一个词在所有文档中越稀有,区分度越高、权重越大。
- TF × IDF = 该词对该文档的"重要性得分"。
- 把两段文本的 TF-IDF 向量做余弦比较,得到相似度。
Embedding + 余弦相似度
- 语义级匹配("开心" ≈ "高兴")
- 需要模型推理(有计算开销)
- 适合现代 RAG / 语义搜索
- 对中文、多语言效果好
TF-IDF + 余弦相似度
- 字面级匹配("开心" ≠ "高兴")
- 纯统计计算,无模型开销
- 适合简单关键词匹配场景
- 对同义词、多义词无感知
面试加分
提到BM25 ------它是 TF-IDF 的改进版,加入了文档长度归一化和词频饱和机制,是传统全文检索(如 Elasticsearch)的标准算法。工业级 RAG 中经常用 BM25 + 向量检索混合召回,兼顾关键词精确匹配和语义模糊匹配,效果优于单一方案。
面试总结:美的 AI Agent 招聘核心考察点
整套 10 题,本质只考察三件事
- 你是否具备完整的 Agent 运行世界观------规划、工具、记忆、迭代四要素是否形成闭环认知(Q1、Q5、Q6、Q7、Q8)
- 你是否懂 RAG 全链路工程优化------从基础流程到 ReRank、HyDE、幻觉治理是否都能说清楚(Q2、Q3、Q9、Q10)
- 你是否避开纯理论,懂真实落地坑点------框架弊端、参数校验、循环限制、上下文治理(Q4、Q5、Q6、Q8)
只要吃透这 10 题,足以应对绝大多数大厂 AI 应用、Agent 开发、RAG 工程、大模型落地面试。
备考策略建议
- 不要只背答案------面试官会追问"为什么",理解底层原理才能应对变体问题。
- 每个知识点配一个踩坑经历------"我在做 XX 项目时遇到过 YY 问题,最后通过 ZZ 解决的"。有故事的回答远胜干巴巴的概念背诵。
- 准备一个端到端项目案例------能从需求分析讲到架构选型再到踩坑解决,这是面试中最有说服力的部分。
- 关注前沿动态------ReAct 之外了解 Reflexion / Plan-and-Execute;RAG 之外了解 GraphRAG / Self-RAG。不需要深入,但知道名字和核心思路就能加分。
**面试的本质不是考你"知道多少",而是考你"做过多少、想过多少"。**每一个概念背后,面试官都在判断:你是背了答案,还是真正踩过坑、做过决策、解决过问题。带着工程视角去准备,你就能从"会答"升级到"会聊"------而后者,才是通过面试的关键。