Skip to content

AI Agent 高频面试题(含答案 + 八股 + 实操)

持续更新中 🔄

覆盖:基础概念、LangChain 原理、Agent 工作流程、工具调用、记忆、Prompt、结构化输出、工程落地、面试反问,直接背就能用。

一、基础概念篇

1. 什么是 AI Agent?

AI Agent 是具备感知、思考、规划、工具调用、执行、记忆反思能力的智能体,不再是单纯问答,能自主拆解任务、选择工具、多步骤完成复杂目标。

核心要素:大模型 + 感知输入 + 规划推理 + 工具使用 + 记忆 + 行动执行。

2. AI Agent 和普通大模型对话有什么区别?

  • 普通 LLM:只能单次问答,无自主规划、不会调用外部工具;
  • AI Agent:可以自主思考 → 拆分子任务 → 选工具 → 调用工具 → 汇总结果 → 多轮迭代,能完成复杂长流程任务。

3. AI Agent 核心五大组件是什么?

  • 规划(Planning):任务拆解、分步思考
  • 记忆(Memory):短期对话记忆、长期知识库记忆
  • 工具(Tools):联网搜索、代码执行、接口调用、自定义函数
  • 行动(Action):执行工具、调用接口、输出结果
  • 反思(Reflection):复盘错误、修正下一步行为

4. 主流 Agent 架构有哪些?

  • ReAct:思考 + 行动,最经典;
  • CoT 思维链:分步推理;
  • Plan-and-Execute:先整体规划,再分步执行;
  • Self-Reflection 自省式:执行后自我复盘修正;
  • Multi-Agent 多智能体:分工协作(规划 Agent、工具 Agent、总结 Agent)。

二、ReAct 原理面试必问

5. 讲一下 ReAct 工作流程

ReAct = Reason(推理思考) + Act(行动执行)固定循环:

  1. 接收用户问题
  2. LLM 思考:要不要调用工具、调用哪个工具、传什么参数
  3. 输出思考内容 + 工具调用参数
  4. 框架解析参数,执行工具
  5. 把工具返回结果喂给 LLM
  6. 循环直到无需工具,输出最终答案

6. ReAct 为什么能实现工具自动调用?

通过 Prompt 约束 + 固定输出格式,让 LLM 按指定格式输出:思考过程、工具名、入参;框架正则 / JSON 解析后自动执行函数。

三、LangChain Agent 核心面试题

7. LangChain 中 Agent、Chain、Tool 区别

  • Tool:最小单元,单个能力(天气查询、爬虫、计算器)
  • Chain:固定流程链路,逻辑固定,不会自主选工具
  • Agent:基于 LLM 自主决策,动态选择工具、动态编排流程

8. LangChain 有哪些常见 Agent 类型?

  • OpenAI Functions Agent(函数调用,最常用)
  • ReAct Agent
  • Plan and Execute Agent
  • Structured Chat Agent(结构化输出)
  • Multi-agent 多智能体

9. 什么是 Function Calling 函数调用?原理是什么?

大模型原生支持输出标准 JSON 函数调用参数,无需正则解析,更稳定。原理:

  1. 定义函数描述(名称、参数、功能说明)传给模型
  2. 模型判断是否需要调用
  3. 直接输出标准 JSON 格式调用参数
  4. 框架解析并执行函数
  5. 结果回传给模型生成最终回答

10. 自定义 Tool 怎么开发?注意什么?

  • @tool 装饰器包裹函数
  • 写清楚函数文档字符串:功能、入参、示例
  • 参数加类型注解,方便模型理解
  • 工具尽量单一职责,不要一个工具做多个事

⚠️ 注意:文档描述不清晰会导致模型乱调用、传错参数。

四、记忆 Memory 相关面试题

11. LangChain 有哪些记忆类型?

  • ConversationBufferMemory:完整保存所有对话
  • ConversationSummaryMemory:自动总结压缩历史
  • ConversationBufferWindowMemory:滑动窗口,只保留最近 N 轮
  • VectorStoreRetrieverMemory:向量数据库长期记忆(知识库)

12. 长对话上下文溢出怎么解决?

  • 使用滑动窗口记忆,限制轮数
  • 用摘要记忆,压缩历史对话
  • 向量数据库做长期记忆检索,只召回相关内容
  • 拆分任务、分步执行,减少单次上下文长度

五、结构化输出 & Prompt 工程

13. 什么是结构化输出?有什么用?

强制 LLM 按照 Pydantic / JSON Schema 固定字段返回数据,而不是自由文本。用途:

  • 后端可直接解析字段
  • 做表单生成、数据抽取、Agent 行为约束
  • 避免输出格式混乱,便于程序自动化处理

14. 怎么保证 LLM 严格按格式输出?

  • 使用 Pydantic 定义模型 + 框架强制解析
  • Prompt 明确约束:必须 JSON、不许多余解释
  • 使用模型原生结构化输出能力
  • 增加重试机制,格式错误自动重新生成

六、工程落地 & 避坑面试题

15. AI Agent 常见失败场景有哪些?

  • 工具描述不清,模型选错工具 / 传错参数
  • 上下文过长,模型遗忘指令
  • 无限循环调用同一个工具
  • 敏感词、越权操作无拦截
  • 结构化输出格式错乱
  • 多轮对话记忆混乱

16. 怎么防止 Agent 死循环?

  • 限制最大迭代次数
  • Prompt 约束:重复工具调用直接结束
  • 增加自省机制,判断是否已拿到足够信息
  • 记录已调用过的工具,避免重复执行

17. 如何做 AI Agent 生产级部署?

  • 模型私有化 / 本地部署,降低成本
  • 工具调用加权限校验、参数校验、超时控制
  • 对话记忆落地 Redis,向量记忆落地向量库
  • 加日志、链路追踪、失败重试
  • 敏感词过滤、输出风控
  • 接口封装成 HTTP 服务,前后端 / 业务系统对接

七、多智能体 Multi-Agent 面试

18. 什么是多智能体?适用场景?

把复杂任务拆分成多个分工不同的 Agent 协同工作:

  • 规划 Agent:拆解任务
  • 执行 Agent:调用工具干活
  • 评审 Agent:校验结果对错

适用:复杂数据分析、项目拆解、长篇文案生成、复杂业务流程自动化。

八、项目面试话术(背下来直接说)

19. 你做过的 AI Agent 项目介绍模板

我基于 LangChain + DeepSeek / 通义千问 搭建过任务型 AI Agent:

  • 自定义开发多个工具:天气查询、接口调用、数据解析;
  • 基于 Function Calling 实现自动工具选择与参数入参;
  • 用 Pydantic 做结构化输出,固定返回格式方便后端解析;
  • 接入对话记忆,支持多轮上下文连贯;
  • 增加 Prompt 约束与最大迭代限制,避免死循环;
  • 封装成接口,可被前端 / 内部系统直接调用。

九、面试官反问你可以问的

  • 咱们公司 AI Agent 主要落地在哪些业务场景?
  • 目前是用开源模型还是商用大模型?
  • 技术栈主要用 LangChain 还是自研框架?
  • 是否有多智能体协同开发的需求?