AI Agent 面试 - 核心概念详解与参考答案
面试高频必考题的完整参考答案,可直接用于准备
一、AI Agent 核心概念
Q1: 什么是 AI Agent?与传统 AI 的区别?
参考答案: AI Agent 是具备自主感知、决策、执行和迭代能力的智能系统。
| 维度 | 传统 AI | AI Agent |
|---|---|---|
| 交互模式 | 被动响应(输入→输出) | 主动规划 + 持续交互 |
| 能力边界 | 固定功能,不能调用外部工具 | 动态调用工具、API、数据库 |
| 决策方式 | 单次推理 | 多步推理 + 反思 + 重规划 |
| 记忆 | 无状态或简单上下文 | 短期 + 长期记忆体系 |
| 举例 | 分类模型返回航班链接 | Agent 查询→比价→预订→通知用户 |
Q2: Agent 的核心组件有哪些?
参考答案:
-
感知模块(Perception)
- 接收用户输入、环境反馈
- 多模态:文本/语音/图像/传感器
-
规划模块(Planning)
- 任务分解(Task Decomposition)
- 方法:CoT(链式思考)、ToT(树状思考)、GoT(图状思考)
- 框架:ReAct(推理+行动交替)、Plan-and-Execute(先规划后执行)
-
记忆模块(Memory)
- 短期记忆:当前对话上下文(In-context Window)
- 长期记忆:向量数据库持久化存储(用户偏好、历史交互)
- 工作记忆:当前任务的中间状态和推理链
-
工具调用模块(Tool Use)
- Function Calling / MCP 协议调用外部 API
- 搜索引擎、数据库、代码执行器、第三方服务
-
行动模块(Action)
- 执行具体操作并观察结果
- 根据反馈调整策略(闭环)
Q3: ReAct 框架如何工作?
参考答案: ReAct = Reasoning + Acting,交替执行"思考"与"行动":
1 | 循环: |
优势:减少幻觉(有真实观察做锚点)、可解释性强(每步有思考过程) 劣势:串行执行,多步任务延迟高
Q4: Agent 记忆系统怎么设计?
参考答案:
| 记忆类型 | 实现方式 | 存储内容 | 生命周期 |
|---|---|---|---|
| 短期记忆 | LLM 上下文窗口 | 当前对话历史 | 单次会话 |
| 工作记忆 | 变量/状态机 | 任务中间结果 | 单次任务 |
| 长期记忆 | 向量数据库(Milvus/PGVector) | 用户偏好、历史摘要 | 永久 |
协同机制:
-
每轮对话结束 → 摘要压缩 → 存入长期记忆
-
新对话开始 → 从长期记忆检索相关上下文 → 注入短期记忆
-
关键设计:什么时候压缩、保留什么、丢弃什么
二、RAG 全链路详解
Q5: RAG 完整流程?
参考答案:
1 | 离线阶段(知识库构建): |
Q6: Chunk 大小怎么确定?
参考答案:
-
太小(<100 tokens):语义不完整,检索到碎片
-
太大(>1000 tokens):噪声多,相关性被稀释
-
经验值:256-512 tokens,overlap 50-100 tokens
-
最佳实践:
- 按语义分块(段落/章节边界)而非固定长度
- 递归分块:先按段落 → 段落太长再按句子
- A/B 测试不同 chunk 大小的检索效果
Q7: 向量召回不准怎么办?
参考答案:
-
Query 改写:HyDE(生成假设文档再检索)、Multi-Query(多角度改写)
-
混合检索:向量检索 + BM25 关键词检索,结合两者优势
-
Rerank:用 Cross-Encoder 模型对 Top-K 结果重排序
-
Embedding 模型升级:BGE-M3、E5-Mistral 等更强模型
-
元数据过滤:先按时间/类别缩小范围,再做向量检索
-
知识图谱辅助:对实体关系类查询用 GraphRAG
Q8: RAG vs 微调怎么选?
参考答案:
| 维度 | RAG | 微调 |
|---|---|---|
| 适用场景 | 知识频繁更新、需要引用来源 | 学习特定风格/格式、领域深度理解 |
| 成本 | 低(不用训练) | 高(需要 GPU + 训练数据) |
| 实时性 | 好(更新知识库即可) | 差(需要重新训练) |
| 幻觉控制 | 好(有检索依据) | 一般(仍可能幻觉) |
| 推荐 | 优先选 RAG,不够再加微调 | 两者可以结合使用 |
Q9: "Lost in the Middle" 问题?
参考答案: LLM 对上下文中间位置的信息关注度最低,开头和结尾最高。
缓解方法:
-
将最相关的文档放在上下文的开头和结尾
-
减少检索文档数量,只保留最相关的 3-5 个
-
使用 Map-Reduce:先对每个文档单独问答,再汇总
三、LoRA / QLoRA
Q10: LoRA 原理?QLoRA 怎么优化显存?
参考答案:
LoRA(Low-Rank Adaptation):
-
冻结原始权重 W₀,注入低秩矩阵:W = W₀ + BA
-
B ∈ R^(d×r),A ∈ R^(r×k),r << min(d,k)
-
只训练 B 和 A,参数量通常只有原模型的 0.01%-1%
-
优势:训练快、避免灾难性遗忘、可热插拔
QLoRA 进一步优化:
-
4-bit 量化:将冻结的基础模型从 FP16 量化到 NF4(4-bit NormalFloat)
-
双重量化:对量化常数也做二次量化,进一步压缩
-
分页优化器:当 GPU 显存不够时,自动将优化器状态转移到 CPU 内存
效果:QLoRA 可以在单张 24GB 显卡上微调 65B 参数模型
Q11: LoRA 效果不好怎么办?
参考答案:
-
增大 rank r(从 8 → 16 → 32)
-
扩大 LoRA 应用层(不只 Q/V,加上 K/O/FFN)
-
检查训练数据质量和多样性
-
学习率调整(LoRA 通常需要比全量微调更大的学习率)
-
考虑 DoRA(Weight-Decomposed LoRA)或 rsLoRA
四、RLHF / DPO / GRPO
Q12: RLHF 三阶段详解?
参考答案:
阶段 1:SFT(有监督微调)
-
用高质量人工标注的指令-回答对微调基座模型
-
让模型学会遵循指令
阶段 2:奖励模型训练(RM)
-
人类标注者对模型生成的多个回答进行排序
-
训练一个判别模型预测人类偏好分数
-
损失函数:Bradley-Terry 模型 → 最大化 chosen 与 rejected 的分数差
阶段 3:PPO 强化学习
-
将 SFT 模型作为策略(policy)
-
奖励 = RM 分数 - β × KL散度(防止偏离 SFT 太远)
-
迭代优化策略,最大化期望奖励
Q13: DPO 与 RLHF 的区别?
参考答案:
| 维度 | RLHF (PPO) | DPO |
|---|---|---|
| 是否需要 RM | 需要单独训练 | 不需要 |
| 训练稳定性 | 不稳定,超参敏感 | 稳定,类似 SFT |
| 实现复杂度 | 高(RM + PPO) | 低(直接优化) |
| 计算成本 | 高 | 低 |
| 核心思想 | 先训 RM 再用 RL 优化策略 | 数学上将 RM 和策略优化合并为一个损失函数 |
DPO 损失函数直觉:直接让模型增大 chosen 回答的概率,减小 rejected 的概率。
Q14: DeepSeek 的 GRPO?
参考答案: GRPO(Group Relative Policy Optimization):
-
去掉 Critic 模型(PPO 需要 Critic,增加计算量)
-
对同一个 prompt 采样一组回答(Group),用组内相对排名作为优势函数
-
奖励 = 组内回答的相对好坏,而非绝对分数
-
优势:减少一半模型参数需求,训练效率更高
-
DeepSeek R1 用 GRPO 训练出了强大的推理能力
五、MCP vs A2A 协议(新热点!)
Q15: MCP 和 A2A 的区别?
参考答案:
| 维度 | MCP(Model Context Protocol) | A2A(Agent-to-Agent) |
|---|---|---|
| 发起者 | Anthropic(2024.11) | Google(2025.04) |
| 解决什么 | Agent 如何调用外部工具/数据 | Agent 之间如何通信协作 |
| 方向 | 纵向:Agent ↔ 工具 | 横向:Agent ↔ Agent |
| 类比 | USB-C 接口(连接设备和外设) | HTTP 协议(设备间通信) |
| 协议基础 | JSON-RPC 2.0 | JSON-RPC 2.0 over HTTPS |
| 核心特性 | 工具发现、函数调用标准化 | Agent Card(能力描述)、任务委托 |
关键面试答案:MCP 和 A2A 是互补关系,不是竞争关系。
-
MCP 让 Agent 有能力(调工具)
-
A2A 让 Agent 会协作(跨 Agent 通信)
-
一个完整的多 Agent 系统两者都需要
举例:
-
库存 Agent 通过 MCP 查询数据库发现库存不足
-
库存 Agent 通过 A2A 通知采购 Agent 下单补货
-
采购 Agent 通过 MCP 调用供应商 API 完成采购
六、系统设计类
Q16: 高并发 Agent 系统怎么设计?
参考答案:
1 | 用户请求 → 负载均衡(Nginx/K8s Ingress) |
关键优化点:
-
语义缓存:Embedding 相似度 > 阈值的 query 直接命中缓存
-
模型路由:简单问题用小模型,复杂问题用大模型
-
异步工具调用:不阻塞主流程
-
降级策略:LLM 超时 → 返回预设回答
-
成本控制:Token 计量 + 按业务方配额限制
Q17: 如何控制 LLM 成本?
参考答案:
-
模型分级:简单 query 用 GPT-3.5/小模型,复杂用 GPT-4
-
语义缓存:相似问题直接返回缓存答案
-
Prompt 压缩:删除冗余上下文、摘要历史对话
-
Batch 推理:合并请求降低单次调用开销
-
开源模型替代:Qwen/DeepSeek 部署私有化
-
Token 配额:按用户/业务方设限
Q18: 如何解决大模型幻觉?
参考答案:
-
RAG:提供检索依据,约束生成范围
-
Prompt 约束:"仅基于提供的上下文回答,如无信息请说不知道"
-
Self-Consistency:采样多次取多数一致的答案
-
Citation 生成:要求模型标注来源,便于验证
-
后处理校验:用规则/小模型检查事实性
-
温度调低:减少随机性(temperature → 0.1-0.3)