AI智能体开发学习文档(二)

2. 核心原理
2.1 Transformer 架构深度解析
定义:Transformer是基于自注意力机制的深度学习架构,突破了循环神经网络的并行计算限制,具备长距离语义建模能力,是当前所有主流大语言模型的底层基础架构。
Transformer三大架构变体的特性与适用场景如下:
|
架构类型 |
核心结构 |
代表模型 |
擅长任务 |
|
Encoder-Only |
仅编码器结构 |
BERT系列 |
语义理解、分类、情感分析 |
|
Decoder-Only |
仅解码器结构 |
GPT、Llama、Qwen、DeepSeek |
文本生成、对话、推理,当前主流架构 |
|
Encoder-Decoder |
编码解码双结构 |
T5、BART |
翻译、摘要等序列到序列任务 |
简化版自注意力机制的计算逻辑伪代码如下,可直观理解QKV的核心作用:
import numpy as np
def self_attention(Q, K, V):
"""
缩放点积自注意力计算
Args:
Q: 查询矩阵,代表当前词的查询需求
K: 键矩阵,代表所有词的语义标识
V: 值矩阵,代表所有词的实际语义内容
Returns:
注意力加权后的输出
"""
d_k = Q.shape[-1]
# 计算Q与K的相似度,除以维度平方根防止数值过大
scores = np.matmul(Q, K.T) / np.sqrt(d_k)
# 归一化得到注意力权重,权重和为1
attention_weights = softmax(scores)
# 权重与V相乘,得到加权后的语义表示
output = np.matmul(attention_weights, V)
return output
核心说明:多头注意力相当于并行执行多组上述计算,每组关注不同的语义维度,最终拼接融合结果,提升模型的语义理解丰富度。
自注意力机制可以类比为阅读文章的理解过程:
理解每个词的含义时,不会孤立地看这个词本身,而是会关联上下文里的其他词,比如代词“它”会对应到前文提到的名词。
多头注意力相当于从多个角度理解同一句话,有的关注语法关系,有的关注语义关联,最后整合出完整的理解结果。
2.2 检索增强生成(RAG)
定义:检索增强生成是通过外挂知识库检索相关内容并注入大模型上下文,补充模型知识边界、缓解生成幻觉的技术方案,是企业级知识类AI应用的主流落地技术。
四种主流检索模式的特性对比如下:
|
检索模式 |
核心原理 |
核心优势 |
主要劣势 |
|
语义检索 |
基于向量相似度匹配 |
理解语义关联,支持同义词匹配 |
对领域专有术语、精确数值匹配精度有限 |
|
全文检索 |
基于BM25关键词匹配 |
精确匹配术语、数值、专有名词 |
无法处理语义等价的不同表述 |
|
混合检索 |
向量+关键词加权融合 |
兼顾语义与精度,综合效果最优 |
权重调优复杂,需要结合场景调试 |
|
重排序 |
Cross-Encoder二次打分排序 |
显著提升最终召回结果的准确率 |
增加额外推理延迟,算力成本更高 |
基础RAG系统的核心流程代码片段如下:
from langchain.text_splitter import RecursiveCharacterTextSplitter
from langchain_community.vectorstores import FAISS
from langchain_community.embeddings import OllamaEmbeddings
def build_rag_knowledge_base(documents: list):
"""
构建RAG向量知识库
Args:
documents: 原始文档列表
Returns:
可执行检索的向量数据库实例
"""
# 文档分块:设置块大小与重叠量,平衡上下文完整性与检索精度
text_splitter = RecursiveCharacterTextSplitter(
chunk_size=500,
chunk_overlap=50
)
chunks = text_splitter.split_documents(documents)
# 向量化存储:将文本块转换为向量存入向量数据库
embeddings = OllamaEmbeddings(model="qwen3:latest")
vector_db = FAISS.from_documents(chunks, embeddings)
return vector_db
# 检索调用:根据用户查询召回最相关的3条知识片段
# retriever = vector_db.as_retriever(search_kwargs={"k": 3})
# relevant_docs = retriever.invoke(user_query)
RAG系统的逻辑与开卷考试完全一致:
大模型是考生,本身具备基础的理解与表达能力;
知识库是考试允许翻阅的参考资料;检索过程是考生根据题目查找相关资料;
最终生成是考生结合资料与自身表达能力整理出答案。
开卷考试不需要考生背下所有知识,知识更新也只需要更换参考资料,对应RAG系统无需重新训练模型即可更新知识库。
2.3 智能体(Agent)核心机制
定义:AI智能体是以大模型为核心决策单元,具备自主感知、推理规划、工具调用与循环迭代能力的AI系统,能够与外部环境交互,自主完成复杂目标任务。
智能体核心组成模块的功能如下:
|
模块名称 |
核心功能 |
对应技术实现 |
|
感知模块 |
接收用户指令、工具返回结果与环境状态 |
消息输入、工具返回值解析、环境数据接入 |
|
推理模块 |
分析当前状态、制定决策、规划执行步骤 |
大模型推理、ReAct/Plan-and-Solve框架 |
|
行动模块 |
执行决策结果,调用工具与环境交互 |
Function Calling、代码执行、API调用 |
|
记忆模块 |
存储历史交互、知识经验与任务状态 |
短期上下文记忆、长期向量数据库记忆 |
|
规划模块 |
拆解复杂目标、制定多步执行计划 |
思维树、深度研究模式、多步迭代 |
最简ReAct模式智能体的执行循环伪代码如下:
def agent_loop(goal: str, max_steps: int = 5):
"""
智能体核心执行循环:思考 → 行动 → 观察 → 循环
Args:
goal: 用户指定的目标任务
max_steps: 最大执行步数,防止无限循环
"""
history = []
for step in range(max_steps):
# 推理阶段:大模型基于历史信息决定下一步行动
thought, action, action_input = llm_reason(goal, history)
# 行动阶段:执行指定工具调用
observation = execute_tool(action, action_input)
# 记录本轮信息到历史记忆
history.append({
"thought": thought,
"action": action,
"observation": observation
})
# 判断任务是否完成,完成则终止循环
if is_task_completed(observation, goal):
return generate_final_result(history)
return "达到最大执行步数,任务未完成"
智能体的运行机制与人类处理复杂任务的逻辑完全一致:
接到目标后先思考怎么做,然后动手执行,做完看结果对不对,不对就调整方案继续做,直到完成目标。
大模型是负责思考的大脑,工具是可以使用的设备与技能,记忆是积累的经验与记录,多轮循环对应逐步推进的工作过程。
2.4 智能体开发方案全景对比
定义:智能体开发方案覆盖从低代码可视化到专业编程框架的多个层级,不同方案在抽象程度、灵活度、开发成本与定制能力上存在明确差异,对应不同的业务场景与开发团队。
十大主流开发方案的核心特性对比如下:
|
方案名称 |
抽象层级 |
核心定位 |
2026版本状态 |
典型适用场景 |
|
Dify |
低代码/可视化 |
RAG与工作流应用搭建 |
v1.15.0,支持MCP双向集成、CoT可视化 |
企业知识库、业务工作流、快速原型 |
|
Coze |
No-Code/低代码 |
插件化智能体快速搭建 |
企业级工作流、记忆管理体系 |
对话机器人、插件化应用、多渠道发布 |
|
LangChain |
高级框架 |
通用AI应用组件库 |
v1.0 GA,API稳定承诺 |
通用AI应用、RAG系统、基础Agent |
|
LangGraph |
图式运行时 |
复杂多智能体编排与状态管理 |
v1.2,支持DeltaChannel、节点超时 |
复杂多Agent系统、长流程任务、状态持久化 |
|
Spring AI |
Java框架 |
Java生态企业级AI集成 |
与Spring AI Alibaba深度绑定 |
Java技术栈企业、Spring生态系统 |
|
OpenAI Agents SDK |
官方SDK |
OpenAI生态智能体开发 |
0.15+,支持100+LLM、Handoff模式 |
OpenAI生态应用、多Agent转交场景 |
|
Google ADK |
官方SDK |
Google生态与A2A原生支持 |
v2.2 GA,Workflow Runtime |
Google Cloud部署、跨Agent互通 |
|
CrewAI |
角色编排框架 |
多角色协作原型开发 |
快速迭代,面向演示与原型 |
多角色协作Demo、概念验证 |
|
AutoGen / AG2 |
对话式多Agent |
讨论型多智能体任务 |
AG2月度发版,对话式交互 |
头脑风暴、讨论类任务、多轮研讨 |
|
Claude Agent SDK |
Anthropic官方 |
Claude生态原生开发 |
支持A2A与Handoff |
Anthropic生态、MCP原生集成 |
不同方案的选型逻辑可以类比为出行工具选型:
低代码平台是共享单车,扫码即用,适合短距离快速出行;
编程框架是私家车,需要自行驾驶但灵活性高,适合复杂路线;
官方SDK是品牌专车,与对应生态深度适配,体验最优但通用性有限。
选型的核心原则是优先匹配业务需求与团队技术栈,避免盲目追求技术复杂度。
更多推荐




所有评论(0)