AI Agent 面试题详解
本系列与 AI Agent 面试问题汇总中的 191 道题一一对应。每篇标题使用汇总页中的完整题目,并采用“30 秒回答 → 机制 → 示例 → 工程边界 → 面试收束”的结构。
交付标准
- 每道题至少包含一个与答案直接相关的视觉表达。
- 参考题按原页面正文图数量设置最低视觉预算;新增题至少一图。
- 概念隐喻优先使用原创模型图片,精确时序、依赖与状态使用 Mermaid。
- 所有模型图片必须通过文件、尺寸、OCR 和人工目视检查后才能进入正文。
- 引用参考页面只用于标明题目来源和事实核对,不下载或修改原站带水印图片。
当前进度
| 专题 | 已完成回答 | 题目总数 | 已完成视觉 | 模型图片 |
|---|---|---|---|---|
| Agent 架构、规划与记忆 | 25 | 25 | 156 | 0 |
| 工具调用、协议与 Multi-Agent | 27 | 27 | 149 | 0 |
| RAG 与知识库 | 35 | 35 | 153 | 0 |
| Agent 框架与生产工程 | 23 | 23 | 85 | 0 |
| AI 编程与 Coding Agent | 26 | 26 | 26 | 0 |
| 大模型与 Transformer 原理 | 24 | 24 | 127 | 0 |
| 模型训练、微调与对齐 | 16 | 16 | 30 | 0 |
| 安全、评估、部署与成本 | 15 | 15 | 33 | 0 |
| 合计 | 191 | 191 | 759 | 0 |
当前强制图片生成端点返回默认占位图,未将其写入正式目录。已完成页面使用可验证的 Mermaid 图解保证技术关系与视觉数量;图片端点恢复后,再按清单生成并验收原创手绘概念图。
一、Agent 架构、规划与记忆
1、核心概念与设计范式
- 什么是 Agent?它与普通大模型、Chatbot、Copilot 和 Workflow 有什么本质区别?
- Agent 的基本架构由哪些核心组件组成?
- 什么任务应该使用 Agent,什么任务使用确定性 Workflow 更合适?
- Workflow、Agent 和 Tool 三者分别承担什么职责?
- ReAct 的 Thought、Action、Observation 循环如何实现?
- ReAct、Plan-and-Execute、Reflection 和 Multi-Agent 有什么区别?如何选型?
- Agent Loop 到底在循环什么?完成、失败和中断状态如何定义?
- 复杂任务为什么需要拆分?如何设计任务依赖和完成条件?
- 如何赋予大模型规划能力,并避免计划与执行状态脱节?
- Agent 的反思机制如何实现?什么情况下反思只会增加成本而不能提升质量?
- 为什么工程实践中有时选择手写 Agent,而不是直接使用成熟框架?
2、状态、记忆与上下文
- Agent 的短期记忆和长期记忆分别解决什么问题?
- 对话、事件、事实、用户偏好和任务状态应该以什么粒度保存?
- Agent Memory、RAG 和上下文窗口有什么区别?
- Agent 记忆压缩有哪些方法?如何避免摘要丢失关键约束?
- Agent 的上下文工程应该如何设计?
- 长任务中如何进行上下文压缩、状态快照和中断恢复?
- Agent 多轮对话状态如何管理?如何防止目标逐轮跑偏?
- 上下文漂移是如何产生的?如何检测、归因和治理?
- 哪些信息应该长期保留,哪些信息应该过期或主动遗忘?
3、循环控制与质量
- Agent 为什么会出现路径震荡、重复调用和死循环?
- 如何通过最大步数、预算、重复动作检测和无进展检测终止循环?
- Agent 的任务幻觉、工具幻觉和结果幻觉分别是什么?
- 如何避免 Agent 没有执行工具却声称任务已经完成?
- 如何评估 Agent 的任务完成率、轨迹质量、工具正确率和恢复能力?
二、工具调用、协议与 Multi-Agent
1、Function Calling、MCP 与 Skill
- 什么是 Function Calling?从模型输出到函数执行的完整链路是什么?
- LLM 是如何学习工具调用能力的?
- Function Calling 能力通常如何训练?
- 并行 Function Calling 如何实现?如何处理调用依赖和部分失败?
- 什么是模型上下文协议(Model Context Protocol,MCP)?它解决了什么问题?
- MCP 的 Host、Client、Server、Tool、Resource 和 Prompt 分别是什么?
- MCP 与 Function Calling 有什么区别?二者如何协同?
- 什么场景使用 Function Calling,什么场景更适合 MCP?
- 为什么部分模型或推理模式不适合直接进行 MCP 工具调用?
- Skill 是什么?它与 Prompt、Tool 和 MCP 有什么区别?
- Function Calling、MCP 和 Skill 应该如何组合成完整能力?
- 什么是 A2A(Agent-to-Agent)协议?它与 MCP 有什么区别?
2、通信与工具治理
- MCP 常见的 stdio、HTTP 和 SSE 通信方式分别适合什么场景?
- WebSocket、Server-Sent Events(SSE)和 WebRTC 有什么区别?
- 大模型网关解决了哪些鉴权、路由、限流、观测和成本问题?
- 工具数量很多时,Agent 如何进行 Tool Routing 并减少上下文消耗?
- Tool Registry 为什么是 Agent 的安全边界?
- 工具参数非法、调用超时、结果过大或执行失败时,Agent 如何容错?
- 哪些工具错误可以重试?如何通过幂等键避免重复副作用?
3、Multi-Agent
- 什么是 Multi-Agent?它与 Single-Agent 有什么区别?
- Multi-Agent 系统有哪些常见编排模式?
- 主 Agent 和子 Agent 如何传递任务、上下文、证据和结果?
- 什么时候应该使用子 Agent,什么时候只需要普通 Tool?
- 什么是 Agent-as-Tool?
- 如何设计多 Agent 的协作和动态切换机制?
- Multi-Agent 如何处理子 Agent 超时、失联和部分失败?
- 多个 Agent 并发修改同一状态或文件时如何解决冲突?
三、RAG 与知识库
1、基础链路与数据治理
- RAG 是什么?它主要解决大模型的哪些问题?
- 一个完整 RAG 系统的离线链路和在线链路分别是什么?
- RAG 与直接微调相比有哪些优缺点?
- 文档、Chunk、Embedding 和元数据通常如何存储?
- PDF、Word、Markdown、表格、图片和代码应该如何预处理?
- 文档切分应该遵循哪些原则?固定长度、递归、语义和结构化切分如何选择?
- Chunk 太大或太小分别有什么问题?Chunk Overlap 应该如何设置?
- 如何避免标题、代码块、表格和跨段语义被错误切断?
- RAG 知识库如何实现增量更新、版本管理和失效数据清理?
- 不同来源的文档发生知识冲突时,系统应该如何确定可信来源?
2、Embedding、索引与召回
- Embedding 是什么?为什么语义相近的内容在向量空间中距离更近?
- 常见 Embedding 算法和模型有哪些?应该如何选择和评估?
- 什么是向量数据库?FAISS、Milvus、Qdrant 等方案如何选型?
- 向量数据库的数据规模、索引类型和性能瓶颈应该如何评估?
- 向量检索与关键词检索有什么区别?
- 纯向量检索有哪些缺陷?为什么错误码、专有名词和版本号更适合关键词检索?
- 什么是混合检索?BM25 与向量结果如何通过 RRF 等算法融合?
- 什么是多路召回?如何避免多路结果重复和分数不可比?
- Query Rewrite、Query Expansion 和 HyDE 分别适合什么场景?
- Parent-Child Retrieval 和 Small-to-Big Retrieval 解决了什么问题?
3、重排、生成与评估
- Rerank 是什么?为什么召回之后还需要重排序?
- Bi-Encoder 和 Cross-Encoder 有什么区别?
- RAG 检索效果不好时,应该如何从语料、切分、索引、查询和重排逐层排查?
- 如何减少“没有召回”“召回但未使用”和“使用证据后仍答错”三类失败?
- RAG 中的幻觉有哪些类型?如何通过引用、拒答和忠实度约束降低风险?
- 如何分别评估召回、排序、上下文和最终生成效果?
- Recall@K、MRR、nDCG、Faithfulness 和 Answer Correctness 分别衡量什么?
- 如何构造 RAG 评测集,并避免只使用容易检索的正样本?
- 传统 RAG 与 Agentic RAG 有什么区别?
- 在实际落地中,RAG 最难的环节通常是什么?
4、GraphRAG
- 什么场景下应该使用图数据库或 GraphRAG 增强向量检索?
- GraphRAG 的实体抽取、关系构建、社区发现和查询链路是什么?
- GraphRAG 与传统知识图谱有什么关系?
- GraphRAG 和 LightRAG 应该如何选型?
- GraphRAG 在实体消歧、图规模、增量更新和一致性方面有哪些难点?
四、Agent 框架与生产工程
1、框架与图编排
- 常见 Agent 开发框架有哪些?应该从哪些维度选型?
- LangChain 的 Chain、Agent、Tool 和 Memory 分别是什么?
- LangChain 的底层架构和运行机制是什么?
- 使用 LangChain 构建 Agent 的核心步骤是什么?
- LangChain 如何注册工具并实现短期记忆与长期记忆?
- LangChain 与 LlamaIndex 有什么区别?
- LangChain 与 LangGraph 有什么区别?
- LangGraph 相比普通 Chain 在状态、循环、持久化和恢复方面有哪些优势?
- LangChain4j 主要解决了哪些 Java 生态问题?
- Deep Research 类型 Agent 的实现逻辑和适用场景是什么?
- Plan-and-Execute 如何落地为有向无环图(Directed Acyclic Graph,DAG)执行器?
- Graph Engineering 中节点、边、状态和条件路由分别表示什么?
- 如何实现 Checkpoint、并行执行、局部重规划和人在回路?
2、Harness 与生产治理
- 什么是 Harness Engineering?为什么仅有 Prompt 和 Skill 仍不足以构建生产级 Agent?
- Prompt Engineering、Context Engineering 和 Harness Engineering 有什么区别?
- 如何为 Agent 划分确定性控制骨架与模型自治区域?
- Agent 如何进行模型路由、工具路由和级联降级?
- 一个 Agent Trace 至少应该记录哪些信息?
- 如何监控任务完成率、工具正确率、Token、延迟和成本?
- 线上 Agent 延迟升高时,如何通过 Trace 定位问题?
- 如何把线上失败样本转化为可重复执行的回归评测集?
- Agent 如何支持超时、重试、补偿、回滚和人工接管?
- 如何设计一个只能诊断、不能直接执行高危动作的数据库运维 Agent?
五、AI 编程与 Coding Agent
1、Vibe Coding 与工程能力
- 什么是 Vibe Coding?它与传统 AI 辅助编程有什么区别?
- AI 编程能力越来越强,工程师不可替代的核心能力是什么?
- 哪些任务适合交给 AI,哪些任务必须由人掌控?
- 如何审查 AI 生成代码的业务语义、正确性、安全性和可维护性?
- AI 代码引发线上故障时,应该如何止血、定位和复盘?
- AI 编程工具的 Token 和推理成本如何控制?
- 如何通过模型路由、上下文管理和 Prompt Caching 降低成本?
2、Coding Agent 架构
- Coding Agent 与普通聊天模型有什么本质区别?
- Coding Agent 的 ReAct 或 Agent Loop 如何运行?
- 为什么 Coding Agent 需要 Read、Edit、Glob、Grep 等专用工具?
- 为什么不能只给 Coding Agent 一个通用 Bash 工具?
- 子 Agent 如何隔离代码探索过程并压缩主线程上下文?
- 代码 Agent 的上下文窗口为什么很快耗尽?
- Auto-Compact 应该保留哪些约束、证据和未完成状态?
- 项目规则文件、历史记忆和代码索引如何帮助 Agent 理解项目?
3、代码检索、安全与规格
- 为什么部分 Coding Agent 优先使用 Grep、Glob 和 Read,而不是向量 RAG?
- 代码检索和普通文档检索有什么区别?
- 什么场景下代码库仍然适合使用 RAG?
- Coding Agent 如何实现权限检查、危险命令审批和沙箱隔离?
- 如何防止 Agent 修改无关模块、误操作数据库或破坏 Git 历史?
- 什么是规格驱动开发(Spec-Driven Development,SDD)?
- 为什么 AI 写代码越快,越需要明确规格和验收标准?
- SDD 与 PRD、TDD、BDD 有什么区别?
- 如何将模糊需求转换为规格、计划、任务和验收标准?
- OpenSpec、Superpowers、gstack 等方案分别解决什么问题?
- 如何通过小步提交、备份、测试、灰度和回滚控制 AI 编程风险?
六、大模型与 Transformer 原理
- 什么是大语言模型(Large Language Model,LLM)?它与传统自然语言处理(Natural Language Processing,NLP)模型有什么区别?
- Transformer 的整体架构是什么?Encoder 和 Decoder 分别承担什么职责?
- Self-Attention 的计算过程是什么?Query、Key、Value 分别有什么作用?
- 为什么需要 Multi-Head Attention?单头注意力有什么局限?
- Multi-Head Attention(MHA)、Multi-Query Attention(MQA)、Grouped-Query Attention(GQA)和 Flash Attention 分别解决什么问题?
- Transformer 为什么需要位置编码?没有位置编码会发生什么?
- 正弦位置编码、旋转位置编码(Rotary Position Embedding,RoPE)和 ALiBi 有什么区别?
- Encoder-Only、Encoder-Decoder 和 Decoder-Only 架构分别适合什么任务?
- GPT、Claude、LLaMA 等生成式模型为什么普遍采用 Decoder-Only 架构?
- 残差连接、Layer Normalization 和前馈网络(Feed-Forward Network,FFN)分别起什么作用?
- Transformer 的
O(n²)复杂度从何而来?它对长上下文有什么影响? - Transformer 存在哪些局限?Mamba、RWKV 等替代架构解决了什么问题?
- 大模型的分词器有什么作用?BPE、WordPiece 和 SentencePiece 有什么区别?
- 大模型通常经过哪些训练阶段?
- 什么是 Scaling Law?模型为什么会出现“涌现能力”?
- 混合专家模型(Mixture of Experts,MoE)是什么?DeepSeek、Qwen 等模型为什么采用 MoE?
- 上下文窗口为什么存在上限?为什么会出现 Lost in the Middle?
- 大模型生成文本时有哪些解码策略?贪心、Beam Search 和采样分别适合什么场景?
- Temperature、Top-K 和 Top-P 分别控制什么?如何根据任务设置?
- 什么是思维链(Chain of Thought,CoT)?它为什么有效,又有哪些局限?
- KV Cache 和 Prompt Caching 的原理是什么?它们分别减少了什么开销?
- 大模型量化是什么?INT8、INT4、AWQ 和 GPTQ 应该如何选择?
- 大模型为什么会产生幻觉?模型、数据、检索和系统层面分别如何缓解?
- 如何比较和选择不同的大模型?应该关注哪些能力、成本和部署指标?
七、模型训练、微调与对齐
- Prompt、检索增强生成(Retrieval-Augmented Generation,RAG)和模型微调应该如何选型?
- 全量微调和参数高效微调(Parameter-Efficient Fine-Tuning,PEFT)有什么区别?
- LoRA 的原理是什么?除了减少训练参数,它还有哪些优点和局限?
- SFT、RL、RLHF、PPO、DPO、GRPO 和拒绝采样分别是什么?
- 监督微调(Supervised Fine-Tuning,SFT)、人类反馈强化学习(Reinforcement Learning from Human Feedback,RLHF)和直接偏好优化(Direct Preference Optimization,DPO)是什么关系?
- SFT 应该用于注入知识还是控制模型行为?为什么动态业务知识通常不适合直接写入模型参数?
- 基座模型越来越强,垂直领域微调还有哪些不可替代的价值?
- 哪些场景不应该进行模型微调?
- 如何设计高质量 SFT 数据、指令数据和偏好数据?
- RLHF 如何让模型学习人类或业务偏好?
- PPO 在 RLHF 中承担什么角色?它和 DPO 有什么区别?
- DPO 为什么不需要单独训练 Reward Model?
- 什么是 Reward Hacking?如何检测并降低奖励投机?
- 如何避免微调导致灾难性遗忘、能力退化或风格过拟合?
- 如何通过离线评测和线上指标证明微调真正带来了收益?
- 如何利用知识蒸馏把大模型能力迁移到小模型,并在固定场景下降低成本?
八、安全、评估、部署与成本
- 为什么 Prompt 无法构成可靠的安全边界?
- 如何防御来自用户、网页、文档和工具结果的 Prompt Injection?
- Agent 连接数据库时,如何防止越权、敏感数据泄漏和查询幻觉?
- 高风险工具为什么同时需要最小权限、人工审批和幂等控制?
- 如何对输入、工具参数、工具结果和最终输出进行分层校验?
- 如何测试具有非确定性的 LLM 或 Agent 系统?
- LLM-as-a-Judge 有哪些偏差?如何通过 Rubric 和人工抽检校准?
- 大模型能力评测应覆盖哪些基准、业务和安全指标?
- RAG、Agent 和模型微调为什么需要不同的评测体系?
- 如何设计版本化评测集并防止数据泄漏和测试集污染?
- 大模型部署有哪些主流方案?vLLM、TGI、llama.cpp 和 SGLang 如何选型?
- 部署时如何权衡吞吐、首 Token 延迟、并发、显存和模型质量?
- 如何通过量化、缓存、批处理、模型路由和限流降低推理成本?
- 线上系统应该监控哪些质量、安全、延迟和成本指标?
- 模型、Prompt、知识库、工具和评测集应该如何进行版本管理和回滚?
