AI Agent 开发岗面经
2026/8/19 22:25:34 网站建设 项目流程

背景:岗位本质是LLM 应用工程师 / AI Agent 工程岗,极少会考大模型训练、Transformer 推导;80% 面试围绕:Agent 原理、Function‑Calling、RAG、LangGraph、生产落地问题、项目深挖。 岗位分两档: 1)初级:会调用 API、会 LangChain、能做 RAG、跑通 Agent Demo; 2)中高级:LangGraph 状态机、记忆管理、失败处理、多 Agent、性能并发、可观测、线上问题排查。

一、面试整体流程

  1. 自我介绍(重点讲项目:RAG/Agent 项目,遇到什么问题,怎么解决)
  2. Python & 后端基础手撕(asyncio、json 处理、异常、简单 FastAPI)
  3. Agent 理论问答(高频)
  4. 项目深挖(占比最高,简历写什么就深挖什么
  5. 代码手写题:手写 ReAct 循环、工具调用处理、RAG 链路片段
  6. 场景题(线上出故障怎么排查,是区分 Demo 选手和工程选手的关键)
  7. 反问环节

⚠️大坑:很多同学简历只写 “基于 LangChain 做了 Agent”,没有讲遇到的问题,面试官直接判定只会跑 Demo。

二、高频面试题 + 答题思路(真实面试高频)

🔹基础概念题

  1. 什么是 AI Agent?Agent 和普通 LLM 对话有什么区别?

答题要点: 普通对话:LLM 只做生成,没有外部能力,没有任务规划; Agent = LLM 大脑 + Memory 记忆 + Tool 工具调用 + Planning 任务规划。 可以自主判断什么时候调用工具、多轮循环完成复杂任务,不是一问一答。

  1. ReAct 原理是什么?ReAct 的执行流程?

Thought → Action → Observation → 循环,直到输出 Final Answer。 要讲清楚:Thought 思考要不要调用工具,Action 输出工具名 + 参数,Observation 拿到工具返回结果喂回给大模型。 很多面试官会让你手写简易 ReAct 循环。

  1. Function Calling / ToolCall 底层原理,模型一定能正确调用工具吗?失败场景有哪些?如何处理?

原理:给模型传入工具 JSON Schema 描述,模型输出结构化工具调用,解析后执行工具。 失败场景:

  • 模型幻觉,不输出规定 JSON,输出自然语言;
  • 参数缺失、参数类型错误;
  • 不该调用工具的时候乱调用;
  • 工具返回结果太长,超出上下文窗口;

解决方案: 1)强约束 prompt,少样本;2)输出格式校验,JSON 解析失败重试;3)工具参数校验;4)最大循环轮次限制,防止死循环;5)兜底降级,直接让模型回答。

  1. Memory 记忆系统有哪几种?怎么解决上下文无限膨胀?
  • 短时记忆:完整对话上下文;
  • 摘要记忆:对历史做摘要压缩;
  • 向量长记忆:把久远历史向量化,需要的时候检索召回;

膨胀解决: 1)滑动窗口保留最近 N 轮;2)历史摘要;3)长记忆向量检索,不全量塞上下文;4)token 计数截断。

  1. RAG 相关高频:RAG 流程,RAG 效果差、幻觉怎么排查?

流程:文档加载→切片→Embedding 入库→检索→rerank→组装 prompt→大模型回答。 召回差排查:切片策略、embedding 模型、检索 top‑k、是否做 rerank; 幻觉:检索到无关内容、上下文不足、模型本身幻觉;对策:引用原文片段、prompt 约束只能基于检索内容回答。

🔹框架相关(LangChain / LangGraph 面试重灾区)

  1. LangGraph 相比旧版 AgentExecutor 好在哪里?

AgentExecutor:黑盒循环,无法干预中间步骤,不能暂停、回退、复杂分支很难写。 LangGraph:基于状态机;状态可以自定义;节点、边、条件分支;支持中断、人工介入、重试、回滚;每一步状态持久化,适合生产级 Agent。 重点:不是 LangGraph 封装得更简单,是可控性

  1. LangGraph 的 State 是什么?

全局状态字典,所有节点共享,保存对话、工具返回、中间变量,每一步节点修改 State,图流转。

  1. CrewAI/AutoGen 多 Agent 原理,多 Agent 会遇到什么问题?角色分工;Agent 之间互相传消息; 问题:循环闲聊、任务跑偏、角色越权、消息上下文膨胀;需要总控 agent、最大轮次限制。

🔹工程 & 生产场景题(非常重要,初级到中高级分水岭)

这类题很多人答不好,因为只跑本地 Demo,没有上线。

  1. Agent 上线后出现死循环,不停调用同一个工具,怎么定位、怎么解决?

排查:看日志,看每一轮 state、模型输出,看工具返回内容。 解法: ① 设置最大迭代轮次,超过直接终止; ② 检测连续多次相同工具调用,触发终止; ③ prompt 约束任务完成条件; ④ LangGraph 可以设置递归 limit。

  1. 工具调用超时,第三方接口挂了,Agent 怎么处理?

工具层加超时时间;捕获异常;把异常信息放回上下文交给 LLM; 可以配置重试策略;多次失败之后降级,告知用户当前工具不可用,不要无限循环。

  1. 线上用户并发上来,Agent 会话怎么存储?为什么不能内存存记忆?

内存只适合 demo;重启丢失,多实例无法共享会话; 生产:MySQL/Redis 存储会话、历史消息、Agent state;LangGraph 支持持久化 Checkpoint。

  1. Agent 系统怎么做可观测?记录:每一轮 prompt、输入输出、token 消耗、工具调用名称、参数、返回值; 记录失败 case;统计工具调用成功率、Agent 完成率;方便定位是模型问题,还是工具问题,还是 prompt 问题。

  2. 用户输入恶意 prompt,怎么做安全防护?输入输出护栏;prompt 注入防护;工具权限管控,不能随便调用高危接口;过滤敏感输入。

🔹手写代码题(面试会现场写或者口述思路)

  1. 手写极简 ReAct 循环(不使用 LangChain),伪代码 /python 代码。
  2. 给定工具返回非 JSON,写逻辑处理 JSON 解析失败重试。
  3. FastAPI 封装一个 Agent 接口,会话管理。
  4. RAG 简单链路:切片‑向量化‑检索。

不会要求写完整大项目,主要考察你懂不懂内部流转逻辑,而不是只会调用框架 API。

三、项目深挖面试套路(简历怎么写,面试官会怎么问)

举例子,简历写:基于 LangGraph 实现文档分析 Agent 面试官追问链条: 1)为什么选 LangGraph,不用 AgentExecutor? 2)记忆怎么管理?如何处理长文档上下文膨胀? 3)工具调用失败怎么处理?遇到哪些失败 case? 4)RAG 切片用多大?为什么这么切?遇到召回差怎么调优? 5)如果上线并发上来,会话怎么持久化? 6)怎么评估这个 Agent 到底好不好用?指标是什么?

✅简历项目一定要写:遇到的问题 + 你的解决方案,例如: ❌不好:实现一个文档 Agent,支持工具调用。 ✅好:基于 LangGraph 构建文档分析 Agent;解决工具调用 JSON 解析失败增加重试逻辑;通过摘要记忆 + 向量长记忆解决上下文膨胀;使用 Checkpoint 做状态持久化;评测工具调用成功率、任务完成率。

Agent 项目可以写的评估指标(面试加分)

  • 工具调用成功率
  • 任务完成率
  • 幻觉率
  • token 消耗
  • 平均迭代轮次

四、面试踩坑(很多人踩)

  1. 只会背 LangChain API,讲不清楚底层逻辑。面试官问:如果不用 LangGraph,你自己怎么实现 Agent 循环?答不上来。

对策:一定要手写一遍原生 ReAct,理解循环逻辑。

  1. 只讲理想流程,完全不提异常、失败 case。面试官默认你只跑 demo,没有工程经验。

  2. RAG 只会说切片、向量库,讲不出召回差、幻觉的实际排查手段。

  3. 混淆概念:把 RAG 等同于 Agent;RAG 只是 Agent 其中一个组件。

  4. 多 Agent 只会说 CrewAI 示例,不知道多 Agent 会出现闲聊循环、任务失控等现实问题。

五、不同水平面试侧重点

初级岗(1‑3 年,LLM 应用开发)

  • Python 基础、FastAPI;
  • 理解 Agent、ReAct、Function‑Calling;
  • 会 RAG,会 LangChain;能看懂 LangGraph 代码;
  • 知道常见失败场景。

中高级 Agent 工程师(3‑5 年)

  • LangGraph 状态机深度,checkpoint 持久化;
  • Agent 系统架构设计;多 Agent 系统设计;
  • 性能、并发、限流、可观测体系;
  • Agent 评测体系;模型降级策略;
  • 开源 Agent 框架二次改造。

六、面试反问环节参考

  1. 咱们团队 Agent 主要做什么业务场景?单 Agent 为主还是多 Agent 协作?
  2. 生产环境是闭源模型还是开源模型部署?
  3. Agent 系统现在遇到的主要线上问题是什么?

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询