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

365 阅读10分钟
  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 激活哪些专家。
    • 只激活一小部分专家,节省计算资源。

⚙️ 工作原理:

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

✅核心对比总结

项目标准 TransformerMixture of Experts(MoE)
FFN单一共享 FFN多个专家 FFN,动态选择
计算量所有 token 都计算完整 FFN每个 token 只激活一小部分专家
参数规模参数有限,易扩展受限可大规模扩展参数,仍保计算高效
应用场景通用场景超大规模语言模型(如 GPT-MoE)
  1. 微调 LLM 的 5 种方法

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

🧠 背景知识:为什么要用这些技术?

传统的 LLM 微调需要训练数百亿参数,非常耗费资源。LoRA 系列方法通过只训练少量附加参数,让微调变得高效、便宜且更易迁移。


✅ 1. LoRA(Low-Rank Adaptation)

🔧 原理:

在不修改原模型参数 WWW 的前提下,用两个小矩阵:

图片

对其进行低秩更新

图片

🧩 关键点:

  • 只训练 A、B 两个小矩阵(参数少,效率高)
  • 原始权重 W 保持冻结
  • 应用于 Q/K/V/W 的线性层

✅ 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

🔧 原理:

在 LoRA 的基础上,引入原始权重变化的残差(delta)建模

图片

其中:

图片

🧩 特点:

  • 不仅训练 LoRA 部分,还拟合权重变化;
  • 综合了显式残差与隐式低秩;
  • 精度提升但略增加训练成本。

✅ 5. LoRA+(LoRA Plus)

🔧 原理:

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

🧩 特点:

  • 训练更新时对 A、B 使用不同的学习率;
  • 更高效训练、更快收敛;
  • 效果通常优于原始 LoRA。

📊 5种方法总结对比表

方法参数数量训练速度精度原理特点
LoRA低秩矩阵更新
LoRA-FA较好输入特征感知
VeRA极少极快一般向量构造矩阵
Delta-LoRA更好加入权重残差
LoRA+更好更优更新策略
  1. RAG 与 Agentic RAG 对比

图片

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

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

🧠 背景科普:什么是 RAG?

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


✅ 一、Traditional RAG 的原理(上半部分)

步骤流程:

  1. 文档编码
    通过嵌入模型(如 OpenAI Embedding 或 Sentence-BERT)将文档转换为向量。
  2. 构建向量索引
    把这些向量保存到向量数据库(如 FAISS、Pinecone、Weaviate)。
  3. 用户提问编码
    将用户的查询转成向量表示。
  4. 相似度检索
    在向量数据库中查找与 query 向量最相近的文档。
  5. 拼接上下文
    把相似文档与 query 一起作为 prompt 提供给大模型。
  6. 输入 LLM
    大模型结合用户问题和外部知识,生成答案。
  7. 输出最终结果

🤖 二、Agentic RAG 的原理(下半部分)

特点:像一个思考的智能体(Agent)一样,不断反思、决策、修正和补充信息。

步骤流程:

  1. 输入初始 query
  2. Agent 重写问题
    让问题更适合检索或回答(增强 clarity & intent)。
  3. 评估是否需要更多细节?
    Agent 自主判断这个问题是否需要进一步搜索。
  4. 若 不需要 → 直接生成答案(见步骤 9-11)
    若 需要 → 继续下一步:
  5. Agent 判断最佳信息来源
    比如选择:向量数据库 / API / 实时网页 / 内部文档等。
  6. 选择合适的 source 进行搜索
  7. 检索上下文
  8. 与 updated query 一起输入 LLM
  9. 模型生成回答**
    **
  10. Agent 评估回答是否相关、有用
  11. 若 YES → 输出最终结果
  12. 若 NO → 重新开始 → 调整 query,继续反馈闭环

🧩 对比总结:

维度Traditional RAGAgentic RAG
是否具备自我调节能力❌ 不具备✅ 具备(可判断信息是否充分)
query 是否会优化❌ 一次性输入✅ 可动态重写、细化 query
检索来源通常只支持向量数据库可使用向量库、API、互联网等多源
回答质量控制❌ 无反馈闭环✅ 有判断机制,不满意可反复查找
使用场景简单问答、静态知识高准确性要求、动态信息检索场景

🧠 总结:

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

  1.  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)。
    • 每个代理执行相应的任务,并将结果整合后返回给用户。
模式名称优点缺点
反射模式通过用户反馈实现输出迭代优化,显著提升生成内容准确性需要多次交互迭代,响应时间较长,用户体验可能受影响
工具使用模式通过调用外部API扩展能力边界,可处理复杂结构化数据场景依赖第三方工具稳定性,错误传递风险较高,需维护多个接口文档
React模式推理与执行闭环设计,适合需要实时数据更新的交互场景流程链路复杂度较高,调试定位问题困难,资源消耗较大
规划模式支持任务自动分解与代码生成,适合大规模流程自动化场景任务拆解可能偏离预期,需人工校验中间结果,维护成本较高
多代理模式分布式协同工作机制,具备横向扩展能力,可并行处理异构任务代理间通信成本较高,需额外设计协调机制,系统架构复杂度陡增1
  1. 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。
  • 步骤:
    1. 分句或分段。
    2. 依次合并相似内容直到相似度骤降。
    3. 开始下一个chunk。
  • 优点:  chunk 更具语义完整性,有助于更准确的检索。
  • 缺点:  计算复杂度较高。

3)Recursive chunking(递归切分)

  • 原理:  按主题或段落初步划分后,对超过最大chunk大小的部分继续递归切分。
  • 步骤:
    1. 按大段落或主题初步切分。
    2. 判断是否超过chunk大小限制。
    3. 若超过,继续细分,直到合适为止。
  • 优点:  平衡了结构完整性与大小限制。
  • 缺点:  可能出现不均匀的chunk大小。

4)Document structure-based chunking(基于文档结构切分)

  • 原理:  利用文档固有结构(如标题、引言、小节、结论)进行切分。
  • 步骤:
    1. 根据格式化结构切分:如标题、引言、各节。
    2. 每部分作为一个chunk。
    3. 若部分太大,再结合递归切分处理。
  • 优点:  保留了清晰的逻辑结构,适合正式文档。
  • 缺点:  依赖文档格式标准化,不适用于非结构化文本。

5)LLM-based chunking(基于大模型的切分)

  • 原理:  直接将原始文档输入大模型,由其智能生成最合适的语义chunk。
  • 步骤:
    1. 输入文档给LLM。
    2. 让LLM基于语义、结构、自定义规则等生成chunk。
  • 优点:  高智能性、灵活性强,能自适应各种内容。
  • 缺点:  计算资源消耗大,可能不可控。

🧠总结建议:

策略是否推荐用于正式文本是否保留语义完整性实现难度
Fixed-size chunking
Semantic chunking⭐⭐⭐
Recursive chunking⭐⭐
Structure-based✅✅✅✅⭐⭐
LLM-based chunking✅✅✅✅✅✅⭐⭐⭐⭐

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

原文地址:https://mp.weixin.qq.com/s/8L7v4Csot9pxQ2hQa3z7sQ