首页 > 项目 > 当前页面

RAG 与 Agent 面试题大全(2025 最新版)—— 从原理到架构设计全面解析

2026-06-17 NEW个对象

```

🚀 RAG 与 Agent 面试题大全(2025 最新版)—— 从原理到架构设计全面解析

随着大模型进入企业级应用阶段,RAG(Retrieval Augmented Generation,检索增强生成)和 Agent(智能体)已经成为 AI 面试中的高频考点。无论是 Java 后端、AI 应用开发工程师、LLM 开发工程师还是 AI 架构师岗位,几乎都会围绕 RAG、Agent、Embedding、向量数据库、Function Calling、MCP、多 Agent 协作等内容展开提问。本文将从架构设计角度,系统整理企业最常见的 RAG 与 Agent 面试题,并结合真实场景进行深入分析。

📌 1️⃣ 问题背景

大语言模型(LLM)虽然具备极强的自然语言理解与生成能力,但仍存在知识时效性不足、容易产生幻觉(Hallucination)、无法直接访问企业私有数据以及缺乏持续执行能力等问题。因此,企业通常会在大模型之上增加 RAG 和 Agent 两层能力。

RAG 负责解决“知识来源”的问题,即如何让模型获取企业内部文档、数据库、知识库等实时信息;Agent 则负责解决“执行能力”的问题,即如何让模型能够调用工具、拆解任务、执行流程、完成复杂业务。

💡 企业级 AI 系统通常采用如下架构:

用户 → Prompt → Agent → Planner → Tool Calling → RAG → Vector DB → LLM → Memory → 最终回答

🎯 2️⃣ 核心原理

RAG(Retrieval Augmented Generation)本质上是"先检索,再生成"。模型不会直接依赖训练参数,而是在回答问题之前,从知识库中检索相关内容,将检索结果作为上下文拼接到 Prompt 中,再交给大模型进行回答。

用户问题

Embedding 向量化

Vector Search 相似度检索

TopK 文档返回

Prompt 拼接

LLM 推理生成答案

Agent 则是在 RAG 基础上的进一步升级,它不仅能够回答问题,还能够根据任务规划执行步骤,调用数据库、API、浏览器、搜索引擎、代码解释器等各种工具,并根据执行结果不断调整下一步策略,最终完成整个任务。

核心区别:
RAG 解决的是"知道什么";
Agent 解决的是"应该怎么做"。

📊 3️⃣ 数据结构分析

企业 RAG 系统一般包含以下几个核心数据结构。

  • Document(原始文档)
  • Chunk(文档切片)
  • Embedding Vector(向量)
  • Metadata(元数据)
  • Index(向量索引)
  • Conversation Memory(上下文记忆)
``` Document │ ├── chunk1 ├── chunk2 ├── chunk3 │ └── metadata ├── title ├── author ├── department └── updateTime
```

Agent 系统则会增加 Planning Tree、Task、Tool、Observation、Memory 等数据结构,通过多轮推理不断完善执行计划。

🔥 4️⃣ 算法分析

RAG 涉及多个核心算法。

  • Embedding 编码算法
  • Cosine Similarity
  • Inner Product
  • HNSW 近邻搜索
  • IVF 倒排索引
  • Hybrid Search(BM25+Vector)
  • ReRank 重排序
⚠️ 企业级 RAG 最大的问题不是向量检索,而是召回率(Recall)与准确率(Precision)的平衡,因此很多系统都会增加 ReRank 模型进行二次排序。

Agent 中最核心的算法则包括 Planning、Reflection、自我修正(Self Reflection)、Tree of Thoughts(ToT)、ReAct 推理框架等。

⚙️ 5️⃣ 执行流程

``` 用户提出问题 ↓ Prompt 构建 ↓ Agent 判断是否需要工具 ↓ 需要? ├── 否 → LLM直接回答 │ └── 是 ↓ RAG知识检索 ↓ Tool Calling ↓ Observation ↓ Planner重新规划 ↓ LLM生成最终答案
```

一个成熟的 Agent 并不是一次推理完成,而是不断经历"思考(Thought)→ 行动(Action)→ 观察(Observation)→ 再思考"的循环过程。

💼 6️⃣ 实际案例

案例一:企业知识库问答

用户:"公司的报销流程是什么?"
Agent 首先调用 RAG 检索制度文档,然后把相关内容发送给 LLM,最终返回准确答案。
案例二:智能办公 Agent

用户:"帮我统计本月销售额并发送邮件。"
Agent 会调用数据库工具查询销售数据,再调用 Excel 工具生成报表,最后调用邮件服务发送邮件。
案例三:代码开发 Agent

用户:"帮我生成 Spring Boot CRUD。"
Agent 可以调用代码仓库、MCP Server、GitHub、编译器等工具,自动完成代码生成、测试和提交。

✅ 7️⃣ 优缺点分析

RAG 优点
  • 减少幻觉
  • 支持企业知识库
  • 实时更新知识
  • 无需重新训练模型
  • 部署成本低
Agent 优点
  • 支持复杂任务拆解
  • 支持自动调用工具
  • 支持自主决策
  • 支持多 Agent 协同
  • 适合企业自动化办公

不足
  • 推理链较长
  • Token 消耗较高
  • 工具调用存在失败风险
  • 需要完善权限控制
  • 执行稳定性依赖 Prompt 与 Planner 设计

🎤 8️⃣ 面试常见问题

Q1:什么是 RAG?
答:RAG 是 Retrieval Augmented Generation,即检索增强生成,通过知识检索增强大模型回答能力。

Q2:为什么需要 RAG?
答:解决模型知识过期、企业私有知识无法训练以及幻觉问题。

Q3:Embedding 是什么?
答:Embedding 是把文本映射成高维向量,使语义相似的文本距离更近。

Q4:什么是向量数据库?
答:专门用于存储和检索高维向量,例如 Milvus、PGVector、Qdrant、Weaviate、Pinecone。

Q5:TopK 是什么?
答:返回最相似的 K 条数据。

Q6:为什么需要 ReRank?
答:Embedding 检索结果可能排序不准确,需要 Cross Encoder 重新排序。

Q7:Agent 与 RAG 有什么区别?
答:RAG 获取知识;Agent 完成任务;Agent 可以集成 RAG,但 RAG 不等于 Agent。

Q8:Agent 如何调用工具?
答:通过 Function Calling、Tool Calling 或 MCP 协议调用外部能力。

Q9:什么是 MCP?
答:Model Context Protocol,是模型调用外部工具和资源的统一协议。

Q10:什么是 Function Calling?
答:模型输出函数参数,由程序执行具体业务逻辑,再将结果返回模型。

Q11:什么是 ReAct?
答:Reason + Act,通过思考、行动、观察不断循环完成复杂任务。

Q12:Agent Memory 有哪些?
答:短期记忆(Conversation)、长期记忆(Vector Memory)、工作记忆(Working Memory)。

Q13:如何降低 Agent Token 成本?
答:压缩 Prompt、缓存 Memory、优化 Chunk、减少无效工具调用。

Q14:企业级 RAG 最大难点是什么?
答:知识切分、召回率、重排序、权限控制以及知识实时更新。

Q15:多 Agent 为什么越来越流行?
答:复杂业务通常需要多个专业 Agent 分工协作,例如规划 Agent、代码 Agent、测试 Agent、数据分析 Agent,共同完成大型任务。

🎯 9️⃣ 总结

RAG 和 Agent 已经成为当前 AI 应用开发的两大核心能力。RAG 负责知识增强,让模型能够获取最新、最准确的企业数据;Agent 则负责智能执行,让模型能够像人一样规划任务、调用工具、执行流程。未来企业级 AI 系统的发展趋势将逐渐从"单一大模型"演进到"LLM + RAG + Agent + MCP + 多 Agent 协同"的新型智能架构。

✅ 面试复习重点

✔ RAG 工作流程
✔ Embedding 原理
✔ Chunk 切分策略
✔ TopK 与 ReRank
✔ 向量数据库原理
✔ Agent 架构设计
✔ Function Calling
✔ MCP 协议
✔ ReAct 推理框架
✔ Memory 管理
✔ 多 Agent 协作模式
✔ 企业级 AI 系统整体架构设计
```

相关文章

  • 分布式锁粒度

    在任务中心里,每个用户的任务进度以JSON的格式存放在数据库表里。 因此redis锁的设置:task:lock:taskId,所有的过滤器都添加锁,因为每个过滤器都会影响任务的进度。

    NEW个对象 2025-02-13

  • 有哪些数据安全的方案?

    1、锁 2、单线程,比如:redis 3、不共享变量,比如:ThreadLocal 4、原子操作,比如:AtomicInteger 5、不可变模式,比如:一旦创建不能修改,修改就会再次创建一个新的对象,String 6、读写分离,写时复制,比如:CopyOnWriteArrayList

    NEW个对象 2025-02-11

  • RBAC权限模型的前后端实现架构设计

    在现代企业级系统中,权限控制是系统安全的核心模块之一。随着系统规模扩大,用户数量、角色类型以及业务接口不断增加,传统的“写死权限判断”方式已经无法满足扩展性要求。

    NEW个对象 2026-06-08

NEW个对象 NEW个对象
JAVA是世界上最好的语言