AI应用开发面试备考

基于简历「AI应用开发工程师」定向整理,标记⭐为高频题(被问5次+),标记🎯为与简历高度相关、必考题。


一、MCP Protocol(🎯 简历核心亮点,必被深挖)

🎯 Q1:MCP 是什么?解决了什么问题?

参考回答:MCP(Model Context Protocol)是 Anthropic 推出的开放协议,AI Agent 与外部工具之间的标准化接口。核心价值:工具集成标准化(一套协议接所有工具)、动态工具发现(Agent 启动时自动获取可用工具)、安全沙箱(统一权限和审计)。

结合简历:我们设计并实现了组件库 MCP Server,将 12+ 私有组件的 Props 定义、使用示例、API 接口结构化暴露给 LLM,使 AI 能准确调用企业组件生成代码。

🎯 Q2:MCP 和 Function Calling 有什么区别?

关键区分

  • Function Calling 是 LLM API 层功能(LLM 输出 JSON 说调什么)
  • MCP 是连接协议层(Agent 和工具之间的通信管道)
  • 类比:Function Calling 是「拨号盘」,MCP 是「电话线」
  • 两者不互斥——MCP 管理工具生命周期 + Function Calling 做工具选择

🎯 Q3:MCP Server 怎么构建的?大模型调用 MCP 工具的完整流程?

  • 定义 Server(暴露 tools/resources/prompts)
  • Transport 层(stdio 或 HTTP/SSE)
  • 大模型通过 Client 连接 Server → 获取工具列表 → 选择工具 → 调用 → 返回结果

⭐ Q4:工具太多导致 token 过多怎么解决?(华为真题)

  • 分层路由:关键词 + 小模型做意图分类 → 工具组 → 只发该组 schema
  • 语义搜索:embedding 预计算工具向量 → query 检索 Top-K
  • 效果:token 开销降低 60%,工具选择准确率 82% → 94%

二、RAG 系统(🎯 简历核心项目,必被拷打)

🎯 Q5:RAG 的完整流程?核心挑战?

离线阶段:文档加载 → 文本分割(Chunking)→ Embedding → 存入向量数据库 在线阶段:查询重写 → 向量检索 → 重排序(Reranking)→ 上下文拼接 → LLM 生成

结合简历:对组件库文档进行 Embedding 向量化并构建语义检索索引,匹配率从 30% 提升至 85%。

🎯 Q6:Chunk Size 怎么选?Overlap 的作用?

  • 代码文档 500-800 token,产品文档 300-500 token,FAQ 类 100-200 token
  • 没有万能值,要按数据类型调优
  • Overlap 防止语义断裂,推荐 chunk_size 的 10-20%
  • 进阶:多粒度索引——粗粒度做粗筛,细粒度做精排

⭐ Q7:向量检索和关键词检索的区别?什么时候用哪个?

  • 向量检索:语义相似度,适合模糊查询、跨语言
  • 关键词检索(BM25):精确匹配,适合专业术语、代码名
  • 最佳实践:混合检索(Hybrid Search),向量 + BM25 加权融合

⭐ Q8:RAG 的评估指标有哪些?

  • 检索质量:Recall@K、MRR、NDCG
  • 生成质量:Faithfulness(忠实度)、Answer Relevancy(回答相关性)、Context Precision(上下文精确度)、Context Recall(上下文召回率)
  • 评估框架:RAGAS、TruLens、DeepEval
  • 端到端:用户满意度、首 token 延迟(P50/P95/P99)、一次回答解决率

⭐ Q9:RAG 和 Fine-tuning 分别适用什么场景?

  • RAG:知识频繁更新、需要引用溯源、低成本快速迭代
  • Fine-tuning:需要改变模型行为风格、领域术语深度理解、推理模式定制
  • 简历场景:我们选 RAG 因为组件库文档更新频繁,且需要精准匹配

Q10:检索到的上下文和问题无关怎么处理?

  • Query Rewriting + Multi-Query Retrieval
  • 元数据过滤 + HyDE(生成假设性回答来检索)
  • 多路召回(向量 + BM25)
  • Rerank 重排序(bge-reranker 等)

Q11:RAG 和长上下文模型(1M token 窗口)的关系?RAG 会被替代吗?

  • 长上下文局限:成本高、延迟大、Lost in the Middle 更严重
  • RAG 优势:精准高效、成本可控、知识更新灵活、可解释性强
  • 未来趋势:RAG(精准召回)+ 长上下文(深度推理)混合模式

三、Multi-Agent 系统(🎯 简历有个人项目)

🎯 Q12:Multi-Agent 和 Single Agent 怎么选?

  • 值得上 Multi-Agent:任务天然可并行、需要多种专业视角交叉验证、需要「魔鬼代言人」机制
  • Single Agent 更好:步骤强依赖、需要大量人机交互、预算/延迟敏感

结合简历:设计任务拆解 → Agent 分配 → 并行执行 → 结果聚合的工作流,已开发 20+ 专业 Agent。

⭐ Q13:Multi-Agent 之间怎么通信和协调?遇到分歧怎么解决?

  • 通信模式:Hub-Spoke(推荐)、广播、点对点
  • 分歧解决四层:规则优先(安全 Agent 有否决权)→ 多数投票 → Manager 仲裁 → 人工升级
  • 成本控制:限制通信长度(上限 800 token)+ Manager 摘要转发

⭐ Q14:Multi-Agent 的「幻觉放大」问题怎么处理?

  • 一个 Agent 幻觉 → 第二个信了 → 第三个基于错误决策(级联失败)
  • 防线:强制引用(Source Citation)→ 交叉验证 → 地面真相锚点(关键信息直接查 DB/API)→ 分歧即信号

Q15:Agent 框架怎么选?LangChain/AutoGen/CrewAI/LangGraph?

  • 快速原型 → CrewAI
  • 生产级复杂场景 → LangGraph 手写
  • LangChain 陷阱:封装黑盒、版本地狱、过度抽象
  • 生产建议:核心 Agent Loop(200 行)自己写,辅助模块用框架

四、Agent 基础架构

⭐ Q16:什么是 AI Agent?和 Chatbot 的本质区别?

  • Chatbot:用户输入 → LLM 推理 → 输出文本(被动问答机)
  • Agent:用户输入 → LLM 推理 → 决定用什么工具 → 执行 → 观察结果 → 决定下一步 → 循环
  • 核心四能力:感知(Perception)、规划(Planning)、行动(Action)、记忆(Memory)

⭐ Q17:Agentic Loop 的流程?终止条件?

User Input → [Think → Act → Observe] → 循环 → Final Output
  • 终止条件:最大轮次(如 10 轮)+ LLM 主动判断 finish
  • 关键:上下文爆炸问题——工具返回结果做摘要、设最大轮次、定期 compact

⭐ Q18:Plan-and-Execute 和 ReAct 模式的区别?

  • ReAct(边想边干):适合任务路径不确定、需要观察结果再调整。灵活但容易跑偏
  • Plan-and-Execute(先想好再干):适合多步骤但依赖清晰的确定性任务。可控但不灵活
  • 生产推荐:混合模式——大步骤 Plan-and-Execute 规划,子步骤内部 ReAct

五、Prompt Engineering

⭐ Q19:Agent 的 System Prompt 怎么写?和普通 Chat 有什么不同?

Agent System Prompt 六要素:

  1. 角色定义(2-3句话)
  2. 能力边界(能用什么工具,不能做什么)
  3. 决策准则(什么情况调什么工具/什么情况回复/什么情况转人工)
  4. 输出格式约束(JSON schema)
  5. 安全规则(禁止操作、敏感数据处理)
  6. 错误处理策略(工具失败怎么办)

⭐ Q20:Few-shot 和 Chain-of-Thought 在 Agent 中怎么用?

  • Few-shot:工具调用参数提取(3-5 个示例),准确率 78% → 96%
  • COT:复杂多步骤决策,但要限定思考步骤数(防「想太多」)
  • 简单工具调用 → 不需要额外 prompting

⭐ Q21:Prompt 失效怎么办?怎么提高鲁棒性?

  • 失效模式:指令冲突、长 prompt 中间指令被忽略(Lost in the Middle,遵循率仅 60%)、场景漂移
  • 提高方法:关键规则放首尾位置 + 用反例 + 输出双层约束(Prompt + schema 校验)+ 监控漂移

六、Function Calling & Tool Calling

⭐ Q22:Function Calling 的工作原理?

  • 本质:LLM 不是在「调用」函数,而是「生成 JSON 描述调哪个函数和什么参数」——实际执行是你的代码
  • 流程:定义 schema → 发送 LLM → LLM 返回函数名+参数 → 代码执行 → 结果返回 LLM

⭐ Q23:工具调用失败怎么办?错误处理策略?

三层错误处理:

  1. 可重试错误(网络超时、限流)→ 指数退避重试,最多 2 次
  2. 参数错误 → 返回 error + schema,让 LLM 自行修正(83% 成功率)
  3. 不可恢复错误 → 返回清晰错误,让 LLM 提出替代方案

七、Memory 系统设计

⭐ Q24:Agent 的 Memory 系统怎么设计?

三层架构:

Working Memory(工作记忆)→ 上下文窗口内的当前对话
Short-Term Memory(短期)→ Redis,session 内的关键信息
Long-Term Memory(长期)→ 向量数据库,历史交互/用户画像
  • 写入:用轻量级 LLM 判断「这条信息值得记住吗?」
  • 读取:语义检索 Top-5 相关记忆拼入 System Prompt
  • 遗忘/衰减:重要度评分 + 最后访问时间

⭐ Q25:上下文窗口有限,长对话怎么管理?

  • 渐进式摘要:超过 80K token,前半段压缩成 500 字摘要
  • 结构化状态:用 JSON 替代自然语言,省 70-80% token
  • 关键信息 Pin:每轮 append 到 messages 末尾

八、LLM 基础

⭐ Q26:Transformer 的核心机制?为什么比 RNN 好?

  • Self-Attention 机制:并行计算 token 间关系
  • 比 RNN 优势:并行训练、长距离依赖、可扩展性

⭐ Q27:大模型训练流程(预训练 → SFT → RLHF)

  • 预训练:大规模无监督学习语言模式
  • SFT(Supervised Fine-Tuning):指令微调,学会遵循指令
  • RLHF(Reinforcement Learning from Human Feedback):人类反馈对齐

⭐ Q28:Temperature 和 Top-p 怎么调?

  • Temperature:控制随机性(0 确定性 → 1 创造性)
  • Top-p(nucleus sampling):从概率累积前 p 的 token 中采样
  • 代码生成:Temperature 低(0-0.3)
  • 创意写作:Temperature 高(0.7-1.0)

九、工程实践

⭐ Q29:模型推理速度怎么优化?

  • KV Cache
  • 量化(INT8/INT4)
  • vLLM 框架
  • 批处理(Continuous Batching)
  • Speculative Decoding

⭐ Q30:SSE / WebSocket / HTTP 流式输出?

  • SSE:单向推送,适合 LLM 流式输出,实现简单
  • WebSocket:双向通信,适合需要客户端也发指令的场景
  • HTTP 流式:最简单,chunked transfer encoding

Q31:LLM 服务不稳定时的降级策略?

  • 多模型路由(主模型挂了切备用)
  • 缓存热门 query 的结果
  • 降级到关键词检索 + 模板回复

十、安全与系统设计

⭐ Q32:Prompt Injection 怎么防?四层防御模型

  1. 输入过滤:关键词检测 + 异常分类
  2. Prompt 层防御:明确拒绝规则 + Few-shot 示例 + 安全规则 append 末尾
  3. 工具权限层(最有效):最小权限原则 + 危险操作 step-up 确认 + 参数校验
  4. 输出过滤:内容安全模型 + System Prompt 泄露检测

⭐ Q33:怎么评估 Agent 的好坏?

四层评估:

  1. 输出质量:准确性、忠实度、完整性
  2. 行为质量:任务完成率、工具选择准确率、平均步数、无效工具调用率
  3. 用户体验:解决率、满意度、首 token 延迟
  4. 业务指标:转人工率、平均处理时长、用户留存

简历项目高频追问预判

🎯 项目一:AI 驱动低代码平台

面试官必问

  1. 匹配率从 30% 到 85%,具体怎么衡量的?测试集怎么构建的?
  2. 12 个私有组件的 MCP Server,工具描述怎么写的?遇到过 LLM 选错工具吗?
  3. 代码沙箱怎么实现的?安全问题怎么处理?
  4. 6 种页面模板的抽象依据是什么?怎么判断哪些模式值得模板化?
  5. 多模型路由的策略?按什么维度路由?延迟差异大吗?
  6. 单页 2-3 天缩短到 2-3 小时,这个数据怎么测量的?

🎯 项目二:多 Agent 自动化工作流

面试官必问

  1. 20+ Agent 是怎么分工的?有没有 Agent 职责重叠的问题?
  2. 人工介入率从 100% 降到 30%,剩下 30% 是什么类型的任务?为什么不能自动化?
  3. 500+ 任务的处理,有没有遇到过 Agent 级联失败?怎么恢复的?
  4. RAG 知识处理流水线,280+ 素材的 Embedding 模型选的什么?效果如何?
  5. 多平台发布(公众号、小红书),遇到反爬/风控怎么处理?

🎯 项目三:前端基础设施

面试官可能追问 AI 结合点

  1. Monorepo 管理组件,和 MCP Server 暴露组件有什么关联?
  2. 微前端方案中,AI 生成的代码怎么做到子系统间复用?

面试策略建议

  1. 项目深度 > 知识广度:面试官最关心你做了什么,不是背了多少概念。每个项目准备「问题 → 架构 → 踩坑 → 效果」四段论
  2. 准备好「为什么这样设计」:背面经能说「是什么」,你能说「为什么」和「为什么不用另一种方案」
  3. 简历项目数据要站得住:所有百分比和数据要能解释测量方法
  4. 安全意识是加分项:Prompt Injection 防御、工具权限控制、数据脱敏

参考来源:掘金(19场面试真题)、CSDN(30道Agent面试题双视角版)、牛客网(华为/字节AI面经)、小林coding(530+面试题库)