Skip to content

AI Agent 面试题目 ​

AI 工程面试不只考术语,更看候选人能否分清模型能力、系统能力和业务指标。以下问题统一采用“简要回答 → 机制分析 → 工程取舍 → 追问准备”的结构。

本模块包含两个一一对应的入口:

  1. 面试问题汇总:191 道完整题目,是题目文本的唯一来源。
  2. 面试题详解:按相同顺序逐题回答,页面标题、索引和导航均使用完整题目。

常见失分方式

只罗列 ReAct、RAG、MCP、LangChain 等名词,没有说明控制流、信任边界、失败路径和验证指标;或者把某个框架的 API 当成通用原理。

一、先掌握答题框架 ​

30 秒回答公式:先用一句话界定概念或给出选择,再解释核心机制,随后说明适用边界与主要风险,最后给出测试或线上指标。

例如回答“Agent 和 Workflow 怎么选”时,不要从框架开始。先回答“谁决定下一步”,再说明确定性与灵活性的交换,最后补充步数、预算、权限、轨迹与人工接管。

二、Agent、Workflow 与规划模式 ​

1. Agent 和 Workflow 的区别是什么?如何选择? ​

简要回答 ​

区别在于谁决定下一步。Workflow 的控制流由开发者预先定义,大语言模型(Large Language Model,LLM)只是某个节点;Agent 则由 LLM 根据目标、状态和工具观察动态选择下一步。生产系统通常优先 Workflow,只在路径无法穷举的局部引入 Agent。

维度WorkflowAgent
控制流代码和显式状态机决定模型依据运行时上下文决定
确定性高,便于回放与测试较低,路径随输入和模型变化
灵活性受预设分支限制能处理未穷举的任务路径
治理重点状态转换、补偿、重试工具权限、循环、预算、轨迹
典型场景审批流、固定 RAG、ETL开放研究、多工具排障

工程取舍 ​

  • 从可观测、可回放的最小 Workflow 开始。
  • 把模型限制在检索策略、工具选择、异常归因等确需动态判断的节点。
  • 对 Agent 节点设置工具白名单、最大步数、超时、预算与人工接管。

2. Chatbot、Copilot 与 Agent 有什么区别? ​

简要回答 ​

Chatbot 主要生成回复;Copilot 由人持续发起、审阅和接受建议;Agent 围绕目标自主选择动作并依据观察迭代。是否使用 LLM 或工具都不是充分条件,关键仍是控制流归属和反馈闭环。

追问时可补充:高危动作即便位于 Agent 中,也应通过人在回路(Human-in-the-Loop,HITL)把最终执行权交还给人。

3. ReAct、Plan-and-Execute 与 Reflection 如何选择? ​

模式核心过程优势代价推荐场景
ReAct判断 → 行动 → 观察实现直接,工具调用自然容易局部贪心或兜圈步骤较短、结果驱动的任务
Plan-and-Execute计划 → 分步执行 → 重规划保留全局任务结构额外模型调用、计划漂移多步骤且存在依赖的任务
Reflection生成 → 评估 → 修订可能提升复杂输出质量增加延迟、成本与误判代码、报告等可评审产物

三者不是越多越好。所有模式都必须设置最大轮数、Token/费用预算、重复调用检测和明确终止状态。

4. 如何避免 Agent 无限循环? ​

简要回答 ​

同时使用四类停止机制:任务状态终止、最大步数/时间/费用硬上限、重复动作检测,以及失败或不确定时转人工。不能只在 Prompt 中要求“不要循环”。

三、RAG 与知识库 ​

1. RAG 的完整链路是什么?应该如何评估? ​

简要回答 ​

检索增强生成(Retrieval-Augmented Generation,RAG)不是“向量库 + Prompt”,而是语料治理、切分、索引、查询处理、召回、重排、上下文装配、带引用生成和评测的完整链路。评估必须分层,否则最终答案错误时无法定位根因。

层级关键指标主要回答
召回Recall@K、MRR、nDCG正确证据是否被找回、排序是否靠前
上下文Context Precision / Recall拼给模型的内容是否相关且充分
生成Faithfulness、Answer Correctness、引用正确率答案是否忠于证据、是否正确引用
业务任务完成率、人工改写率、拒答准确率系统是否真正解决用户问题

2. 文档应该如何切分? ​

先尊重文档结构,再控制 Token 大小。标题层级、代码块、表格和步骤不能被随意截断;每个 Chunk(文本块)保留来源、章节路径、版本、权限等元数据。固定长度切分实现简单,但容易破坏语义,通常只适合作为基线。

追问时说明:切分没有脱离数据集的“最佳参数”,应通过 Recall@K、引用完整性和端到端任务指标做实验,而不是凭经验固定为某个数字。

3. 如何减少 RAG 幻觉? ​

  1. 提升语料质量、召回和重排,而不是只改 Prompt。
  2. 要求答案引用具体证据,并校验引用是否真的支持结论。
  3. 证据不足时明确拒答或请求补充信息。
  4. 把检索文档视为不可信输入,隔离其中的提示注入内容。
  5. 分别监控“没召回”“召回但没使用”“使用后仍答错”三类失败。

4. 混合检索与 Rerank 解决什么问题? ​

向量检索擅长语义相似,关键词检索擅长专有名词、错误码、版本号和精确字段;混合检索先扩大候选集,再由 Reranker(重排器)按查询相关性排序。代价是额外延迟和成本,因此要用 Recall@K、MRR 与端到端收益验证。

四、MCP 与工具调用 ​

1. MCP 解决什么问题? ​

简要回答 ​

模型上下文协议(Model Context Protocol,MCP)为 LLM 应用发现和访问 Tools、Resources、Prompts 提供标准接口,降低每个客户端对每个数据源重复适配的成本。它解决的是连接与互操作,不是工具可信、用户授权或业务安全。

2. MCP 与 Function Calling 有什么区别? ​

Function Calling / Tool Calling 描述模型如何产生结构化工具调用请求;MCP 描述宿主应用如何发现并连接外部能力。前者是模型与编排层之间的调用机制,后者是应用与能力提供方之间的协议,两者可以组合使用。

3. 接入第三方 MCP Server 要检查什么? ​

  • 来源、协议版本、SDK 兼容性与供应链风险。
  • 暴露的工具、资源、提示及其真实权限。
  • 文件、网络、数据库和进程访问范围。
  • 参数校验、超时、结果大小、敏感数据和提示注入。
  • 用户授权、撤销、审计和故障隔离。

一句话总结:能被发现不代表允许调用,能被调用不代表可以信任结果。

五、安全、权限与可靠性 ​

1. 为什么 Prompt 无法防住 Prompt Injection? ​

简要回答 ​

系统指令、用户输入、网页和检索文档最终都会进入同一模型上下文,模型无法提供传统安全机制那种强隔离。Prompt 可以降低误用概率,但无法替代身份鉴别、最小权限、允许列表、参数校验、沙箱和人工审批。

回答时应明确区分:

  • 行为层:系统 Prompt、示例、拒答规则。
  • 控制层:鉴权、授权、Schema、业务校验、HITL、幂等。
  • 执行层:参数化 SQL、受限命令、网络/文件沙箱。
  • 审计层:Trace、脱敏日志、告警和回放。

2. 高风险工具为什么同时需要审批和幂等? ​

审批解决“这次动作是否允许”,幂等解决“同一动作是否被重复执行”。只审批不幂等,超时重试可能重复扣款或重复建单;只幂等不审批,首次越权动作仍会发生。

3. 哪些错误可以重试? ​

连接重置、明确限流和临时不可用通常可以在满足幂等前提下退避重试;参数非法、权限不足、业务冲突和确定性解析失败不应盲目重试。超时属于结果未知,需要先查询执行状态或依赖幂等键再决定。

六、测试、评估与可观测性 ​

1. 非确定性的 Agent 怎么测试? ​

简要回答 ​

固定能固定的层,统计不能固定的层。工具、校验和状态转换做确定性单元测试;编排层用 Mock 模型断言轨迹;真实模型使用版本化数据集多次运行,统计任务完成率、工具正确率、安全违规率、延迟和成本。

只比较最终文本会漏掉“答案碰巧正确,但调用了错误工具或越过审批”的危险轨迹。

2. LLM-as-a-Judge 有什么风险? ​

模型裁判可能受提示、长度、位置、语言风格和自身知识偏差影响。应使用明确 Rubric(评分规则)、打乱候选顺序、抽样人工校准,并与可程序化指标结合;安全违规、权限和结构合法性不能只交给模型判断。

3. 一次 Agent 运行必须记录什么? ​

至少记录 trace_id、模型/Prompt/工具版本、输入摘要、状态转换、工具名与校验结果、工具耗时与错误、Token、费用、重试、终止原因和人工审批事件。敏感数据应在写日志前脱敏,而不是事后清洗。

4. 上线后看哪些指标? ​

  • 业务:任务完成率、人工改写率、升级人工率。
  • 质量:事实正确率、引用正确率、工具选择与参数正确率。
  • 安全:越权拦截、注入成功、敏感数据泄露与审批绕过。
  • 系统:P50/P95/P99 延迟、错误率、重试率、循环步数。
  • 成本:单任务 Token、模型费用、工具费用和缓存命中率。

七、系统设计题:数据库运维 Agent ​

1. 如何设计一个能排查慢查询、但不能直接误杀会话的 Agent? ​

简要回答 ​

采用“只读诊断 + 确定性审批 + 受控执行”的分层架构。Agent 可以自主选择查询指标和检索文档,但终止查询属于高危动作,必须生成不可变预览,经有权限的人确认后,由独立执行器使用幂等键完成。

追问准备 ​

  • 状态:diagnosing → pending_approval → approved → executing → verified。
  • 权限:诊断工具与执行工具使用不同身份;生产环境默认只读。
  • 可靠性:审批参数哈希、幂等键、超时后查状态、不可盲目重试。
  • 评估:诊断准确率、错误建议率、审批通过率、执行成功率、误杀率必须为零。
  • 可观测性:保留证据、工具轨迹、审批人、执行结果与模型/Prompt 版本。

八、面试前自测 ​

你应能在不依赖框架名的情况下回答:

  1. 谁决定下一步,状态由谁保存,工具由谁执行?
  2. 哪些输入不可信,哪些动作必须审批?
  3. 成功路径和失败路径分别如何测试?
  4. 用什么指标证明方案有效,而不是“看起来能跑”?
  5. 当模型、Prompt、工具或数据版本变化时,如何回归与回滚?

九、关联知识库 ​

十、参考 ​

ICP 备案号待补充 · Gitee 主页