- Agentic AI 系统的 5 个级别
上图是 《5 Levels of Agentic AI Systems》 (代理式人工智能系统的五个等级),展示了从最简单到最复杂的 智能体(Agentic AI)架构演进过程。这些模式是构建复杂AI系统时的不同阶段或能力层级,非常适合理解LangChain、AutoGPT、ChatDev等系统背后的设计理念。
🌱 1)Basic Responder(基础回应者)
- 工作原理: 用户发出一个查询(Query),直接交由一个 LLM(如 ChatGPT、DeepSeek 等)生成响应。
- 特点:
-
- 单轮对话。
- 不调用外部工具。
- 应用场景: 问答、写作、总结等基本任务。
🔀 2)Router Pattern(路由分发模式)
- 工作原理: 查询首先被送到一个“路由模型”(Router LLM),由其判断应该走哪条处理路径(例如不同的LLM或不同能力模块)。
- 特点:
-
- 根据上下文选择不同的模型或技能。
- 灵活性增强。
- 应用场景:
-
- 多语言支持(中文走模型A,英文走模型B)。
- 多任务系统(比如生成 vs 检索任务路由不同模块)。
🛠️ 3)Tool Calling(工具调用)
- 工作原理: LLM识别用户意图后,调用外部工具(API、本地函数、数据库、浏览器等)辅助完成任务。
- 特点:
-
- LLM不仅生成文本,还能“执行操作”。
- 如调用天气API、运行SQL、浏览网页等。
- 应用场景:
-
- AI助手、数据分析、代码生成执行、联网搜索等。
👥 4)Multi-agent Pattern(多智能体协作模式)
- 工作原理: 一个主控Agent(Manager Agent)将任务分配给多个子Agent(Sub-Agents),它们协作完成任务。
- 特点:
-
- 多个智能体之间可以沟通与协作。
- 实现“专业化分工”与复杂任务处理。
- 应用场景:
-
- 软件开发(ChatDev模型:产品经理→程序员→测试→部署)。
- 多步推理、协作性工作流(如文档审查 + 数据分析)。
🤖 5)Autonomous Pattern(自主智能体模式)
- 工作原理: 系统拥有完整闭环能力(如生成、执行、反馈、验证等),具备自我纠错、自我驱动能力,直到任务完成。
- 组成:
-
- Generator Agent:生成候选方案。
- Validator Agent:验证与反馈。
- 循环执行直到生成满意结果。
- 特点:
-
- 最复杂也最强大。
- 接近人类“项目执行者”的能力。
- 应用场景:
-
- AutoGPT、BabyAGI 等具备自我迭代和目标驱动的AI系统。
- 可以在没有人类干预下完成整个任务链。
✅ 总结对比表:
| 层级 | 名称 | 是否调用工具 | 是否支持协作 | 是否自主迭代 |
|---|---|---|---|---|
| 1 | Basic Responder | ❌ | ❌ | ❌ |
| 2 | Router Pattern | ✅(分路由) | ❌ | ❌ |
| 3 | Tool Calling | ✅ | ❌ | ❌ |
| 4 | Multi-agent Pattern | ✅ | ✅ | ❌ |
| 5 | Autonomous Pattern | ✅ | ✅ | ✅ |
- 传统 RAG 与 HyDE 对比
上图清晰对比了两种检索增强生成(RAG,Retrieval-Augmented Generation)技术的工作机制:
用途:帮助我们理解传统RAG与HyDE(Hypothetical Document Embeddings)在 知识检索 与 问答系统 中的差异。
✅ 上半部分:Traditional RAG(传统RAG)
🧠 原理步骤:
- 文档预处理
-
- 将额外知识(Additional documents)通过 Embedding model 编码为向量。
- 向量入库
-
- 把这些向量数据索引进 Vector database(向量数据库) 。
- 用户查询编码
-
- 用户的 Query 也通过相同 Embedding 模型编码。
- 相似度检索
-
- 在向量数据库中使用 Query 向量进行 相似度检索,找出最接近的文档向量。
- 提取相关文档
-
- 找到若干与 Query 最相似的文档(即“检索到的上下文”)。
- 拼接提示词(Prompt)
-
- 将 Query 和检索结果拼成 Prompt,送入大模型(LLM)。
- 生成答案
-
- LLM 生成带参考信息的响应(Response)。
🔵 下半部分:HyDE(Hypothetical Document Embeddings)
HyDE 是一种更高级的技术,使用大语言模型生成“假设文档”来提升检索质量。
🚀 与传统 RAG 的不同点:
- 核心思想:不是直接用 query 去查库,而是先让模型生成一段“假设文档”,用它来作为更丰富的语义检索向量。
🧠 原理步骤:
1-2. 同上:额外文档编码并索引进向量库。
- 生成 Hypothetical Prompt
-
- 系统将用户 Query 作为提示词(Prompt: Write a passage about )传入 LLM。
- LLM生成 Hypothetical 文本
-
- 模型生成一段与 Query 有关的“假设文本”(Hypothetical text)。
- 对 Hypothetical Text 编码
-
- 将其编码为向量。
- 以假设向量做相似度搜索
-
- 用它在向量数据库中检索最相似的文档(比原始 Query 更丰富)。
- 提取上下文文档
- 拼接 Prompt:Query + Hypothetical Text + 检索文档 → Prompt。
- 最终响应生成:LLM 生成最终答案。
🔍 总结对比
| 特征 | Traditional RAG | HyDE |
|---|---|---|
| 查询方式 | 直接基于 Query 向量搜索 | 基于 LLM 生成的“假设文档”向量搜索 |
| 语义丰富度 | 依赖 Query 本身 | 利用 Hypothetical 文本扩展 Query 语义 |
| 检索效果 | 容易受限于 Query 质量 | 对模糊、短语义 Query 更健壮 |
| 使用模型 | 一个 Embedding 模型 + 一个 LLM | 一个 LLM(生成假设)+ 一个 Embedding 模型 + 一个 LLM(最终回答) |
📌 应用建议
-
若你的 Query 较长、语义明确,用 传统 RAG 即可;
-
若你面临 模糊问题、复杂查询、用户表达不清楚 的情况,HyDE 能提升检索质量与回答准确性。
- RAG 与 Graph RAG 对比
如图是对 传统 RAG 与 Graph RAG(基于图结构的检索增强生成) 的对比,旨在说明它们在信息检索与生成任务中的差异与优势。
🟢 上半部分:Traditional RAG(传统检索增强生成)
🧠 工作流程(步骤 1 ~ 7):
- 文档编码
-
- 把额外的知识文档(Additional documents)送入 Embedding Model,转化为向量表示。
- 索引进向量数据库
-
- 编码后的文档向量被存储于 Vector Database 中。
- 查询编码
-
- 用户的 Query 同样通过 Embedding Model 编码成向量。
- 相似度检索
-
- 使用 Query 向量在 Vector Database 中进行相似度搜索。
- 提取相似文档
-
- 返回若干与查询语义相近的文档段落。
- 构造 Prompt
-
- 将 Query 与文档内容拼接为 Prompt。
- 大模型生成回答(Final response)
-
- Prompt 被送入 LLM,输出最终的回答。
🔵 下半部分:Graph RAG(图结构 RAG)
Graph RAG 引入了图数据库和关系建模,让检索更具结构化、语义更清晰。
🧠 工作流程(步骤 1 ~ 10):
- 文档预处理
-
- 将原始文本送入 LLM Graph Generator(一个专门的大模型模块)。
- 提取实体与关系
-
- 模型从文档中提取出实体(Entities)和它们之间的关系(Relationships) ,如“公司A 属于 行业B”、“人物X 创立 公司Y”。
- 图构建完成
-
- 实体关系被结构化后写入 Graph Database(图数据库) ,形成知识图谱。
- 文档编码(Embedding)
-
- 原始文档也被送入 Embedding Model,生成向量表示,用于后续语义搜索。
- 构建图数据库
-
- 存储的既包括实体关系图,也包括文档内容本身。
- Query 编码
-
- 用户的查询也被 Embedding Model 编码为向量。
- 图遍历 + 向量检索
-
- 查询不仅进行向量相似度搜索,还会通过图结构执行“图遍历”(例如:找到某个实体的直接上下游关系)。
- 获取上下文
-
- 得到与 Query 相关的上下文文档 + 节点 + 实体关系。
- 构建 Prompt
-
- 将 Query + 图数据上下文 合成 Prompt。
- LLM生成答案
- Prompt 输入 LLM,生成最终的回答(Final Response)。
🔍 两者对比总结:
| 特征 | Traditional RAG | Graph RAG |
|---|---|---|
| 数据结构 | 向量(无结构) | 图结构(结构化) |
| 检索方式 | 纯相似度匹配 | 向量匹配 + 图遍历 |
| 语义表达 | 可能模糊、浅层 | 更深层次理解实体与关系 |
| 上下文构建 | 语义最相似段落 | 语义 + 结构相关节点 |
| 适用场景 | 普通问答、知识补充 | 知识图谱问答、多跳问答、实体推理 |
✅ 总结建议:
- 若你想在问答中引入更丰富、可追溯的背景知识,Graph RAG 是升级选项。
- 特别适合复杂的关系推理,如医学、金融、科研、法律等场景。
- 相比传统 RAG,Graph RAG 可以回答例如“谁是A公司的创始人的配偶?”这种多跳复杂问题。
- KV 缓存
这张图详细解释了 KV Caching(Key-Value 缓存)在大型语言模型(LLMs)中的作用原理。它是提高推理速度的核心优化手段之一,特别是在生成长文本时。我们可以分为上下两个部分进行理解:
🟦 上半部分:标准 Transformer 推理流程
✅ 工作流程:
- 输入序列:如
KMeans is used for,逐词送入 Transformer。 - 通过 Transformer 层:每个词被转化成隐藏状态(hidden states)。
- Projection(线性投影) :将隐藏状态映射到词表空间(即 logits over vocabulary)。
- ArgMax 预测下一个词:取最大概率的词作为下一个输出。
💡 Insight 1:
预测下一个 token,只需要当前最后一个隐藏状态(last hidden state)即可。
🟨 下半部分:KV Caching 原理(多头注意力机制)
✅ 工作原理:
Attention 计算:
注意力机制核心是:
即:
- 用当前 token 的 Query 向量(如
Q_4for "for")去和所有历史 Key 做点积(得到注意力权重), - 然后乘以对应的 Value 向量,加权求和得到输出。
💡 Insight 2:
当前 token 的隐藏状态,只依赖于本 token 的 Query 向量,以及所有历史的 Key 和 Value 向量。
🟩 底部部分:KV Cache 的实用价值
✅ Token-by-token 生成过程示意:
以生成第 5、6、7 个 token 为例:
| Token | Key (K) 来源 | Value (V) 来源 |
|---|---|---|
| 第 5 个 token | K₅(新生成) | V₅(新生成) |
| 第 6 个 token | K₆(新生成) | V₆(新生成) |
| 第 7 个 token | K₇(新生成) | V₇(新生成) |
但第 6、7 个 token 生成时,仍然需要使用前面所有的 K/V 值(如 K₁~₅、V₁~₅)。
💾 KV Cache 的优化点:
- K 和 V 向量在生成之后不会变,可以缓存下来(KV Caching) 。
- 下次生成 token 时,直接复用已有的 K/V,而不是重新通过 Transformer 计算一遍,大幅提升效率。
🧠 总结一句话:
KV Caching 的核心思想:Query 每次重新计算,但 Key 和 Value 是历史不变的,可以缓存下来重复使用,从而极大加快推理速度。
✅ KV Caching 的应用场景:
-
LLM 文本生成(GPT、ChatGPT、LLAMA 等)
-
推理速度优化,特别是 streaming / auto-regressive generation
-
推理长对话、代码补全等任务中尤其关键
原文地址:https://mp.weixin.qq.com/s/wXbxQi8LRkWAKEIAxtyA5g