AI摘要

本文通过九张图详细解释了AI Agent、LLM(大型语言模型)和RAG(检索增强生成)的工作原理。内容包括Transformer与LLM中的混合专家(MoE)结构、微调LLM的五种方法、RAG与传统RAG的对比、五种常见的Agentic AI设计模式以及RAG的五种分块方法。这些技术原理和工作流程有助于理解AI技术在处理序列数据、微调模型、检索增强生成等方面的应用和优势。
本文

九张图讲清楚AI Agent、LLM、RAG的工作原理(上篇)

1. Transformer 与 LLM 中的混合专家(MoE)
image.png
如上图,左边是传统 Transformer 的结构;右边是基于 Mixture of Experts(MoE) 的 Transformer 改进结构。
两者前半部分基本相同,主要区别出现在 Decoder Block 中的 前馈网络(Feed Forward Network) 部分。

📌 技术原理:
Transformer 是一种神经网络结构,基于“自注意力机制”(Self-Attention),擅长处理序列数据(如文本)。
Transformer 的基本结构包括:多头注意力机制 + 前馈网络 + 残差连接 + LayerNorm。
MoE(Mixture of Experts) 是一种结构改进,它在原始的前馈层(FFN)中插入多个“专家子网络”:

每个专家网络都是一个小的 MLP。
通过一个门控函数(gating function)决定每个 token 激活哪些专家。
只激活一小部分专家,节省计算资源。

⚙️ 工作原理:
输入 token 被编码后进入 Transformer 层。
在 MoE 层,门控机制会判断:哪个 token 更适合哪个“专家”。
每个 token 只传给几个(通常是 2 个)专家处理。
专家输出加权合并,进入下一层。
提高了参数规模,同时大大降低了推理计算量。

✅核心对比总结

2. 微调 LLM 的 5 种方法
image.png
这张图展示了微调大语言模型(LLM)的 5 种常见方法,都是在原模型权重 冻结不变 的前提下,添加少量可训练参数,以实现 高效低成本微调 的技术方案。我们逐一讲解每种方法的原理与差异:

🧠 背景知识:为什么要用这些技术?
传统的 LLM 微调需要训练数百亿参数,非常耗费资源。LoRA 系列方法通过只训练少量附加参数,让微调变得高效、便宜且更易迁移。

✅ 1. LoRA(Low-Rank Adaptation)
image.png

✅ 2. LoRA-FA(Feature-Aware LoRA)
🔧 原理:
与 LoRA 类似,也是插入两个低秩矩阵 A、B,但加入了特征感知(Feature-Aware)机制。

🧩 特点:
A、B 会根据输入特征动态调整;

更适用于复杂任务中,提升泛化能力;

类似条件适应(conditional adaptation)。

✅ 3. VeRA(Vector-based Rank Adaptation)
🔧 原理:
VeRA 使用可训练向量(而不是矩阵)来构造 A、B,从而进一步减少参数量。

🧩 特点:
A、B 向量通过哈希或随机映射扩展为矩阵;

进一步压缩参数;

适合边缘设备部署;

参数共享机制强。

✅ 4. Delta-LoRA
image.png

✅ 5. LoRA+(LoRA Plus)
🔧 原理:
几乎与原始 LoRA 一样,但 更新规则改进,为矩阵 B 提供更大的学习率(因为它影响更大)。

🧩 特点:
训练更新时对 A、B 使用不同的学习率;

更高效训练、更快收敛;

效果通常优于原始 LoRA。

📊 5种方法总结对比表
image.png

3. RAG 与 Agentic RAG 对比
image.png
如上图清晰地对比了两种 RAG(Retrieval-Augmented Generation)检索增强生成 方法:

✅ 上半部分:传统 RAG
🤖 下半部分:Agentic RAG(Agent 驱动的增强型 RAG)

🧠 背景科普:什么是 RAG?
RAG 是一种将外部知识库(如文档、数据库)与大语言模型(LLM)结合的技术。它通过“先检索再生成”的方式,让模型不依赖记忆就能回答问题。

✅ 一、Traditional RAG 的原理(上半部分)
步骤流程:
文档编码
通过嵌入模型(如 OpenAI Embedding 或 Sentence-BERT)将文档转换为向量。

构建向量索引
把这些向量保存到向量数据库(如 FAISS、Pinecone、Weaviate)。

用户提问编码
将用户的查询转成向量表示。

相似度检索
在向量数据库中查找与 query 向量最相近的文档。

拼接上下文
把相似文档与 query 一起作为 prompt 提供给大模型。

输入 LLM
大模型结合用户问题和外部知识,生成答案。

输出最终结果

🤖 二、Agentic RAG 的原理(下半部分)
特点:像一个思考的智能体(Agent)一样,不断反思、决策、修正和补充信息。

步骤流程:
输入初始 query

Agent 重写问题
让问题更适合检索或回答(增强 clarity & intent)。

评估是否需要更多细节?
Agent 自主判断这个问题是否需要进一步搜索。

若 不需要 → 直接生成答案(见步骤 9-11)
若 需要 → 继续下一步:

Agent 判断最佳信息来源
比如选择:向量数据库 / API / 实时网页 / 内部文档等。

选择合适的 source 进行搜索

检索上下文

与 updated query 一起输入 LLM

模型生成回答

Agent 评估回答是否相关、有用

若 YES → 输出最终结果

若 NO → 重新开始 → 调整 query,继续反馈闭环

🧩 对比总结:
image.png

🧠 总结:
Traditional RAG = 静态问答机器人
Agentic RAG = 会思考的搜索助手 + 问答机器人

  1. 5 种常见的 Agentic AI 设计模式

image.png
这张图介绍了五种最流行的代理AI设计模式,它们分别是:反射模式、工具使用模式、React模式、规划模式和多代理模式。以下是每种模式的工作原理:

1.反射模式(Reflection Pattern)‌:
用户提出问题(Query)。
LLM(大型语言模型)生成答案(Generate)。
系统将生成的答案反射回LLM,以进行迭代改进(Iterate),生成更理想的初始输出。

2.工具使用模式(Tool Use Pattern)‌:
用户提出问题(Query)。
LLM进行推理(Reason),并调用相应的工具。
工具执行操作并返回结果,供用户查看。

3.React模式(ReAct Pattern)‌:
用户提出问题(Query)。
LLM进行推理(Reason)。
根据推理结果,代理执行相应的操作(Action),如与数据库交互或调用API,最终将结果返回给用户。

‌4.规划模式(Planning Pattern)‌:
用户定义任务(Planner)。
系统生成执行这些任务所需的代码或指令。
如果不需要执行单个任务,则通过代理(ReAct Agent)执行这些任务,并将结果返回给用户。

5.多代理模式(Multi-agent Pattern)‌:
用户提出问题(Query)。
前端代理(FM agent)将问题分配给不同的代理,如设计代理(DesignTime agent)、开发运维代理(DevOps agent)和技术负责人代理(Tech lead agent)。
每个代理执行相应的任务,并将结果整合后返回给用户。

image.png

5. RAG 的 5 种分块方法

image.png
上图是《5种 RAG(Retrieval-Augmented Generation)的切分策略(Chunking Strategies)》,用于将文档拆分为更适合大模型处理的“块”,以提高检索增强生成(RAG)的效果。下面是图中五种策略的逐一讲解:

1)Fixed-size chunking(固定长度切分)
原理: 将文本按固定长度(如字数或token数)切分,每个chunk长度一致,可能有重叠。

例子:

Chunk 1: “Artificial intelligence is transforming technology”

Chunk 2: “transforming technology and shaping the future”

优点: 简单高效,易于实现。

缺点: 可能会打断语义结构,不利于理解上下文。

2)Semantic chunking(语义切分)
原理: 首先按句子或段落划分,然后基于语义相似度(如余弦相似度)将相近的部分聚成一个chunk。

步骤:

分句或分段。

依次合并相似内容直到相似度骤降。

开始下一个chunk。

优点: chunk 更具语义完整性,有助于更准确的检索。

缺点: 计算复杂度较高。

3)Recursive chunking(递归切分)
原理: 按主题或段落初步划分后,对超过最大chunk大小的部分继续递归切分。

步骤:

按大段落或主题初步切分。

判断是否超过chunk大小限制。

若超过,继续细分,直到合适为止。

优点: 平衡了结构完整性与大小限制。

缺点: 可能出现不均匀的chunk大小。

4)Document structure-based chunking(基于文档结构切分)
原理: 利用文档固有结构(如标题、引言、小节、结论)进行切分。

步骤:

根据格式化结构切分:如标题、引言、各节。

每部分作为一个chunk。

若部分太大,再结合递归切分处理。

优点: 保留了清晰的逻辑结构,适合正式文档。

缺点: 依赖文档格式标准化,不适用于非结构化文本。

5)LLM-based chunking(基于大模型的切分)
原理: 直接将原始文档输入大模型,由其智能生成最合适的语义chunk。

步骤:

输入文档给LLM。

让LLM基于语义、结构、自定义规则等生成chunk。

优点: 高智能性、灵活性强,能自适应各种内容。

缺点: 计算资源消耗大,可能不可控。

🧠总结建议:
image.png
如你正在做文档类RAG项目,推荐 结构化切分 + 递归切分 或 语义切分;若你对效果要求极高、资源充足,可以尝试 LLM-based chunking。

最后修改:2025 年 06 月 13 日
点赞的人是最酷的