AI摘要
九张图讲清楚AI Agent、LLM、RAG的工作原理(上篇)
1. Transformer 与 LLM 中的混合专家(MoE)
如上图,左边是传统 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 种方法
这张图展示了微调大语言模型(LLM)的 5 种常见方法,都是在原模型权重 冻结不变 的前提下,添加少量可训练参数,以实现 高效低成本微调 的技术方案。我们逐一讲解每种方法的原理与差异:
🧠 背景知识:为什么要用这些技术?
传统的 LLM 微调需要训练数百亿参数,非常耗费资源。LoRA 系列方法通过只训练少量附加参数,让微调变得高效、便宜且更易迁移。
✅ 1. LoRA(Low-Rank Adaptation)
✅ 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
✅ 5. LoRA+(LoRA Plus)
🔧 原理:
几乎与原始 LoRA 一样,但 更新规则改进,为矩阵 B 提供更大的学习率(因为它影响更大)。
🧩 特点:
训练更新时对 A、B 使用不同的学习率;
更高效训练、更快收敛;
效果通常优于原始 LoRA。
📊 5种方法总结对比表
3. RAG 与 Agentic RAG 对比
如上图清晰地对比了两种 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,继续反馈闭环
🧩 对比总结:
🧠 总结:
Traditional RAG = 静态问答机器人
Agentic RAG = 会思考的搜索助手 + 问答机器人
- 5 种常见的 Agentic AI 设计模式
这张图介绍了五种最流行的代理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)。
每个代理执行相应的任务,并将结果整合后返回给用户。
5. RAG 的 5 种分块方法
上图是《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。
优点: 高智能性、灵活性强,能自适应各种内容。
缺点: 计算资源消耗大,可能不可控。
🧠总结建议:
如你正在做文档类RAG项目,推荐 结构化切分 + 递归切分 或 语义切分;若你对效果要求极高、资源充足,可以尝试 LLM-based chunking。