AI Agent 技术体系

4 阅读11分钟

一、第一层:基础设施层

1. LLM(Large Language Model,大语言模型)

定义:基于 Transformer 架构,通过海量数据训练的深度学习模型

核心能力

  • 自然语言理解(NLU)
  • 自然语言生成(NLG)
  • 推理、总结、翻译等

代表产品

  • OpenAI:GPT-4, GPT-4o
  • Anthropic:Claude 3.5/4
  • Google:Gemini
  • Meta:Llama 3

技术指标

  • 参数量:7B, 13B, 70B, 175B+
  • 训练数据:万亿级 Token

2. Token(标记)

定义:LLM 处理文本的最小单位

详解

  • 不等于单词或字符
  • 英文:~0.75 词/token
  • 中文:~1.5-2 字符/token
  • 例子:"Hello World" ≈ 2-3 tokens

重要性

  • 计费单位:API 按 token 收费
  • 处理单位:输入 + 输出 token 总数
  • 性能影响:token 越多,推理越慢

示例

"Claude Code is great!"
→ ["Cl", "aude", " Code", " is", " great", "!"]6 tokens

3. Context Window(上下文窗口)

定义:LLM 一次能"记住"的最大 token 数量

演进历程

  • 2022:4K tokens (GPT-3.5)
  • 2023:32K → 128K tokens
  • 2024:200K tokens (Claude 3)
  • 2025+:1M+ tokens (Gemini 1.5 Pro)

影响

  • 决定能处理的文档长度
  • 影响对话轮次
  • 限制 RAG 检索量

实际应用

100K context = 约 75K 英文单词 = 一本小说

4. Multimodal(多模态)

定义:能同时处理多种类型输入/输出的模型

模态类型

  • 文本 (Text)
  • 图像 (Image)
  • 音频 (Audio)
  • 视频 (Video)
  • 代码 (Code)

能力举例

  • 图生文:描述图片内容
  • 文生图:DALL-E, Midjourney, Stable Diffusion
  • 图文混合:GPT-4V, Claude 3 可同时理解图文
  • 语音对话:GPT-4o 实时语音

技术意义

  • 突破纯文本限制
  • 更接近人类感知方式

第二层:交互层

5. Prompt(提示词)

定义:与 LLM 交互的指令/输入文本

类型

a) System Prompt(系统提示)

你是一个专业的 Python 开发助手,
擅长代码审查和性能优化。

b) User Prompt(用户提示)

帮我优化这段代码的性能

c) Few-shot Prompt(示例提示)

任务:情感分类
输入:这个产品太棒了!
输出:正面

输入:质量很差,不推荐
输出:负面

输入:今天收到货了
输出:

最佳实践

  • 清晰具体:明确任务和期望
  • 提供上下文:背景信息
  • 格式规范:Markdown、JSON 等
  • 分步骤:复杂任务拆解

6. API(Application Programming Interface)

定义:程序化调用 LLM 的接口

主流 API

  • OpenAI API/v1/chat/completions
  • Anthropic API/v1/messages
  • Google AI API:Vertex AI

典型调用

import anthropic

client = anthropic.Anthropic(api_key="sk-xxx")
response = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1024,
    messages=[
        {"role": "user", "content": "解释量子计算"}
    ]
)

关键参数

  • temperature:0-1,创造性程度
  • max_tokens:最大生成长度
  • top_p:核采样参数
  • stream:是否流式返回

7. Metadata(元数据)

定义:描述数据的数据

在 AI 中的应用

a) Prompt Metadata

{
  "model": "claude-3-opus",
  "temperature": 0.7,
  "timestamp": "2026-03-23T10:00:00Z",
  "user_id": "user_123"
}

b) Document Metadata(RAG 中)

{
  "source": "doc_456.pdf",
  "page": 12,
  "section": "Chapter 3",
  "last_updated": "2026-01-15",
  "author": "张三"
}

作用

  • 追踪来源
  • 过滤和排序
  • 审计日志
  • 优化检索

第三层:能力增强层

8. AIGC(AI Generated Content,AI 生成内容)

定义:由 AI 自动生成的内容

类型

  • 文本:文章、代码、剧本
  • 图像:设计图、艺术作品
  • 视频:Sora, Runway
  • 音频:配音、音乐
  • 3D 模型:游戏资产

与 LLM 的关系

LLM 是技术 → AIGC 是应用
LLM 提供能力 → AIGC 是产出

应用场景

  • 内容创作
  • 营销素材
  • 游戏开发
  • 教育培训

9. Hallucination(幻觉)

定义:LLM 生成的看似合理但实际错误的内容

表现形式

  • 编造事实:"爱因斯坦在 1990 年获得诺贝尔奖"
  • 虚构引用:不存在的论文或书籍
  • 逻辑错误:自相矛盾的推理
  • 过时信息:训练数据截止日期后的事件

原因

  • 训练数据有限/有误
  • 模型"猜测"模式
  • 缺乏真实世界验证

解决方案

  1. RAG:检索真实数据
  2. 引用来源:要求提供出处
  3. 事实核查:多模型交叉验证
  4. 人工审核:关键内容人工确认

10. RAG(Retrieval-Augmented Generation)

定义:检索增强生成,结合外部知识库的生成技术

完整流程

用户问题
   ↓
[1] 向量化查询(Embedding)
   ↓
[2] 检索相关文档(Vector DB)
   ↓
[3] 重排序(Reranking)
   ↓
[4] 构建上下文(Context Building)
   ↓
[5] 增强提示(Augmented Prompt)
   ↓
[6] LLM 生成(Generation)
   ↓
输出答案(附引用)

核心组件

  • Embedding Model:文本→向量(如 OpenAI text-embedding-3-large
  • Vector Database:Pinecone, Weaviate, Milvus, Qdrant
  • Chunking:文档切片策略(固定长度/语义切分)
  • Retrieval Strategy:Top-K, MMR, 混合检索

优势

  • ✅ 减少幻觉
  • ✅ 实时更新知识
  • ✅ 可追溯来源
  • ✅ 支持私有数据

11. MCP(Model Context Protocol)

定义:Anthropic 提出的标准化协议,用于 LLM 与外部数据/工具交互

核心理念

  • 统一接口标准
  • 安全的上下文共享
  • 工具互操作性

架构

┌─────────┐         ┌─────────┐         ┌─────────┐
│  Client │ ◀─MCP─▶ │  Server │ ◀─────▶ │Resources│
│ (Agent) │         │         │         │  (DB)   │
└─────────┘         └─────────┘         └─────────┘

功能

  • Resources:访问文件、数据库
  • Prompts:预定义提示模板
  • Tools:调用外部工具

示例

// MCP Server 暴露数据库查询能力
{
  "tool": "query_database",
  "parameters": {
    "query": "SELECT * FROM users"
  }
}

意义

  • 降低 Agent 开发复杂度
  • 避免重复造轮子
  • 提高安全性和规范性

第四层:应用编排层

12. Agent(智能体)

定义:能自主感知、决策、行动的 AI 系统

核心特性

  • Autonomy:自主性
  • Reactivity:响应环境
  • Proactivity:主动规划
  • Tool Use:使用工具

经典模式 - ReAct

Thought: 我需要查询今天的天气
Action: call_weather_api(location="北京")
Observation: 北京今天晴,15-25°C
Thought: 现在可以回答用户了
Answer: 北京今天天气晴朗,温度15-25°C

Agent 类型

  • Single Agent:单一任务执行者
  • Multi-Agent:多智能体协作
  • Autonomous Agent:AutoGPT 式自主探索

13. Workflow(工作流)

定义:预定义的任务执行流程

与 Agent 的区别

特性WorkflowAgent
灵活性固定流程动态决策
可控性
适用场景标准化流程复杂任务
成本

典型 Workflow

客户咨询
   ↓
意图识别(LLM)
   ↓
    ├─ 产品问题 → 查询知识库 → 返回答案
    ├─ 订单查询 → 调用订单系统 → 返回状态
    └─ 投诉建议 → 转人工客服

实现工具

  • LangChain Expression Language (LCEL)
  • n8n
  • Zapier
  • Temporal

14. Plugin(插件)

定义:扩展 LLM 能力的外部模块

类型

a) Tool Plugin

def get_weather(location: str) -> str:
    """获取指定地点的天气"""
    # 调用天气 API
    return f"{location}的天气是晴天"

b) Knowledge Plugin

  • 连接企业知识库
  • 访问实时数据

c) Integration Plugin

  • Slack、GitHub、Jira
  • 第三方服务集成

与 MCP 的关系

  • MCP 是协议标准
  • Plugin 是具体实现
  • MCP 让 Plugin 更规范

示例(ChatGPT Plugins)

{
  "name": "WebPilot",
  "description": "访问网页内容",
  "api": {
    "url": "https://plugin.webpilot.ai/openapi.yaml"
  }
}

15. LangChain

定义:开源的 LLM 应用开发框架

核心模块

a) Models

from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-4")

b) Prompts

from langchain.prompts import ChatPromptTemplate
prompt = ChatPromptTemplate.from_messages([    ("system", "你是{role}"),    ("user", "{input}")])

c) Chains

chain = prompt | llm | output_parser
result = chain.invoke({"role": "助手", "input": "你好"})

d) Agents

from langchain.agents import create_react_agent
agent = create_react_agent(llm, tools, prompt)

e) Memory

from langchain.memory import ConversationBufferMemory
memory = ConversationBufferMemory()

f) Vector Stores

from langchain_community.vectorstores import Chroma
vectorstore = Chroma.from_documents(docs, embeddings)

生态系统

  • LangSmith:调试和监控平台
  • LangServe:部署 API
  • LangGraph:复杂状态图管理

竞品对比

  • LlamaIndex:专注于数据索引和 RAG
  • Haystack:偏向搜索和问答
  • Semantic Kernel:微软出品,C#/.NET

二、AI Agent 思维导图

AI Agent 技术体系
│
├─ 第一层:基础设施层
│  │
│  ├─ LLM(大语言模型)
│  │  ├─ 定义:基于 Transformer 的深度学习模型
│  │  ├─ 核心能力
│  │  │  ├─ 自然语言理解(NLU)
│  │  │  ├─ 自然语言生成(NLG)
│  │  │  └─ 推理与总结
│  │  ├─ 典型代表
│  │  │  ├─ GPT-4 (OpenAI)
│  │  │  ├─ Claude 3.5 (Anthropic)
│  │  │  ├─ Gemini (Google)
│  │  │  └─ Llama 3 (Meta)
│  │  └─ 关键指标
│  │     ├─ 参数量:7B → 175B+
│  │     └─ 训练数据:万亿级 Token
│  │
│  ├─ Token(标记)
│  │  ├─ 定义:LLM 处理文本的最小单位
│  │  ├─ 特性
│  │  │  ├─ 不等于单词或字符
│  │  │  ├─ 英文:~0.75 词/token
│  │  │  └─ 中文:~1.5-2 字符/token
│  │  └─ 重要性
│  │     ├─ 计费单位
│  │     ├─ 影响处理速度
│  │     └─ 决定处理能力
│  │
│  ├─ Context Window(上下文窗口)
│  │  ├─ 定义:LLM 一次能记住的最大 token 数
│  │  ├─ 演进
│  │  │  ├─ 20224K tokens
│  │  │  ├─ 202332K tokens
│  │  │  ├─ 2024200K tokens
│  │  │  └─ 2025+:1M+ tokens
│  │  └─ 影响
│  │     ├─ 处理长文档能力
│  │     ├─ 对话轮次
│  │     └─ RAG 检索容量
│  │
│  ├─ Multimodal(多模态)
│  │  ├─ 定义:处理多种类型输入/输出的模型
│  │  ├─ 模态类型
│  │  │  ├─ 文本 (Text)
│  │  │  ├─ 图像 (Image)
│  │  │  ├─ 音频 (Audio)
│  │  │  ├─ 视频 (Video)
│  │  │  └─ 代码 (Code)
│  │  └─ 典型应用
│  │     ├─ GPT-4V:图文理解
│  │     ├─ DALL-E:文生图
│  │     └─ Sora:文生视频
│  │
│  └─ AIGC(AI 生成内容)
│     ├─ 定义:由 AI 自动生成的内容
│     ├─ 类型
│     │  ├─ 文本:文章、代码、剧本
│     │  ├─ 图像:设计、艺术作品
│     │  ├─ 视频:Sora, Runway
│     │  └─ 音频:配音、音乐
│     └─ 与 LLM 关系:LLM 是技术,AIGC 是应用
│
├─ 第二层:交互层
│  │
│  ├─ Prompt(提示词)
│  │  ├─ 定义:与 LLM 交互的指令/输入
│  │  ├─ 类型
│  │  │  ├─ System Prompt:定义角色和规则
│  │  │  ├─ User Prompt:用户输入
│  │  │  └─ Few-shot Prompt:示例学习
│  │  └─ 最佳实践
│  │     ├─ 清晰具体
│  │     ├─ 提供上下文
│  │     ├─ 分步骤引导
│  │     └─ 给出期望格式
│  │
│  ├─ API(应用程序接口)
│  │  ├─ 定义:程序化调用 LLM 的接口
│  │  ├─ 主流 API
│  │  │  ├─ OpenAI API
│  │  │  ├─ Anthropic API
│  │  │  └─ Google AI API
│  │  └─ 关键参数
│  │     ├─ temperature:创造性程度
│  │     ├─ max_tokens:最大长度
│  │     ├─ top_p:核采样
│  │     └─ stream:流式返回
│  │
│  └─ Metadata(元数据)
│     ├─ 定义:描述数据的数据
│     ├─ 应用场景
│     │  ├─ 调用追踪
│     │  ├─ 文档来源标注
│     │  └─ 审计日志
│     └─ 价值
│        ├─ 追踪溯源
│        ├─ 数据分析
│        └─ 优化检索
│
├─ 第三层:能力增强层
│  │
│  ├─ Hallucination(幻觉)
│  │  ├─ 定义:LLM 生成的看似合理但错误的内容
│  │  ├─ 表现形式
│  │  │  ├─ 编造事实
│  │  │  ├─ 虚构引用
│  │  │  └─ 逻辑错误
│  │  ├─ 原因
│  │  │  ├─ 训练数据有限/有误
│  │  │  ├─ 模型基于概率猜测
│  │  │  └─ 缺乏事实验证
│  │  └─ 解决方案
│  │     ├─ RAG(检索真实数据)
│  │     ├─ 引用来源
│  │     ├─ 多模型验证
│  │     └─ 人工审核
│  │
│  ├─ RAG(检索增强生成)
│  │  ├─ 定义:结合外部知识库的生成技术
│  │  ├─ 完整流程
│  │  │  ├─ [1] Embedding:向量化查询
│  │  │  ├─ [2] Retrieval:检索相关文档
│  │  │  ├─ [3] Reranking:重排序
│  │  │  ├─ [4] Context Building:构建上下文
│  │  │  ├─ [5] Augmented Prompt:增强提示
│  │  │  └─ [6] Generation:LLM 生成
│  │  ├─ 核心组件
│  │  │  ├─ Embedding Model:文本转向量
│  │  │  ├─ Vector Database:Pinecone, Weaviate
│  │  │  ├─ Chunking:文档切片
│  │  │  └─ Retrieval Strategy:检索策略
│  │  ├─ 优势
│  │  │  ├─ 减少幻觉
│  │  │  ├─ 实时更新知识
│  │  │  ├─ 可追溯来源
│  │  │  └─ 支持私有数据
│  │  └─ vs Fine-tuning
│  │     ├─ RAG:成本低、实时更新
│  │     └─ Fine-tuning:深度定制、风格固化
│  │
│  └─ MCP(Model Context Protocol)
│     ├─ 定义:Anthropic 提出的标准化协议
│     ├─ 核心理念
│     │  ├─ 统一接口标准
│     │  ├─ 安全的上下文共享
│     │  └─ 工具互操作性
│     ├─ 三大能力
│     │  ├─ Resources:访问文件、数据库
│     │  ├─ Prompts:预定义提示模板
│     │  └─ Tools:标准化工具调用
│     └─ 意义
│        ├─ 降低开发门槛
│        ├─ 提高安全性
│        └─ 促进生态繁荣
│
└─ 第四层:应用编排层
   │
   ├─ Agent(智能体)
   │  ├─ 定义:能自主感知、决策、行动的 AI 系统
   │  ├─ 核心特性
   │  │  ├─ Autonomy:自主性
   │  │  ├─ Reactivity:响应性
   │  │  ├─ Proactivity:主动性
   │  │  └─ Tool Use:工具使用
   │  ├─ 经典模式
   │  │  ├─ ReAct:Reasoning + Acting
   │  │  ├─ CoT:Chain of Thought
   │  │  ├─ ToT:Tree of Thoughts
   │  │  └─ Self-Reflection:自我反思
   │  └─ 类型
   │     ├─ Single Agent:单一任务
   │     ├─ Multi-Agent:多智能体协作
   │     └─ Autonomous Agent:完全自主
   │
   ├─ Workflow(工作流)
   │  ├─ 定义:预定义的任务执行流程
   │  ├─ vs Agent
   │  │  ├─ Workflow:固定流程、高可控
   │  │  └─ Agent:动态决策、高灵活
   │  ├─ 典型流程
   │  │  ├─ 意图识别
   │  │  ├─ 条件分支
   │  │  └─ 结果返回
   │  └─ 实现工具
   │     ├─ LangChain LCEL
   │     ├─ n8n
   │     └─ Zapier
   │
   ├─ Plugin(插件)
   │  ├─ 定义:扩展 LLM 能力的外部模块
   │  ├─ 类型
   │  │  ├─ Tool Plugin:工具类
   │  │  ├─ Knowledge Plugin:知识类
   │  │  └─ Integration Plugin:集成类
   │  ├─ 典型集成
   │  │  ├─ Slack:发消息
   │  │  ├─ GitHub:管理代码
   │  │  └─ Jira:创建任务
   │  └─ 与 MCP 关系
   │     ├─ MCP 是协议标准
   │     └─ Plugin 是具体实现
   │
   └─ LangChain(开发框架)
      ├─ 定义:开源的 LLM 应用开发框架
      ├─ 核心模块
      │  ├─ Models:LLM 封装
      │  ├─ Prompts:提示模板
      │  ├─ Chains:链式组合
      │  ├─ Agents:智能体
      │  ├─ Memory:记忆管理
      │  └─ Vector Stores:向量存储
      ├─ 生态系统
      │  ├─ LangSmith:调试监控
      │  ├─ LangServe:API 部署
      │  └─ LangGraph:状态管理
      └─ 竞品
         ├─ LlamaIndex:专注 RAG
         ├─ Haystack:偏向搜索
         └─ Semantic Kernel:微软出品

三、实际应用场景示例

场景 1:企业知识库问答系统

用户提问:"公司的差旅报销流程是什么?"
           ↓
     [Prompt Engineering]
           ↓
     将问题转为 Embedding
           ↓
     [RAG] 从 Vector DB 检索相关文档
           ↓
     附带 Metadata(来源、版本、日期)
           ↓
     构建增强 Prompt + Context Window
           ↓
     调用 LLM API (GPT-4)
           ↓
     生成答案(AIGC)+ 引用来源
           ↓
     检测 Hallucination(对比原文)
           ↓
     返回结果给用户

使用的技术

  • LLM, Token, Context Window
  • Prompt, API
  • RAG, Metadata
  • Hallucination 检测
  • (可选)LangChain 框架

场景 2:多模态客服 Agent

客户上传商品图片 + 文字:"这个坏了怎么办?"
           
     [Multimodal LLM] 识别图片内容
           
     [Agent - ReAct Loop]
     Thought: 需要确认商品型号
     Action: 调用图像识别 Plugin
     Observation: 检测到型号 ABC-123
           
     Thought: 查询保修政策
     Action: 通过 MCP 连接保修数据库
     Observation: 该商品在保修期内
           
     Thought: 生成解决方案
     Action: 调用 LLM 生成回复
           
     [Workflow] 自动创建售后工单
           
     返回:"您的商品在保修期内,已创建工单 #12345"

使用的技术

  • Multimodal
  • Agent, Plugin
  • MCP, Workflow
  • LLM, API, Prompt

场景 3:代码助手(如 Claude Code)

开发者:"帮我重构这个函数"
           ↓
     [Context Window] 加载整个代码库上下文
           ↓
     [Agent] 规划任务:
       1. 理解现有代码
       2. 识别重构点
       3. 生成新代码
       4. 运行测试
           ↓
     调用 Plugin:
       - Read 工具读取文件
       - Grep 搜索相关代码
       - Bash 执行测试
           ↓
     [LangChain] 编排工具调用链
           ↓
     [AIGC] 生成重构后的代码
           ↓
     [Metadata] 标记修改位置和原因
           ↓
     返回 diff 和说明

使用的技术

  • 所有概念的综合应用!

技术选型决策树

需要 AI 能力?
  │
  ├─ 简单任务(分类、摘要)
  │    → 直接调用 LLM API + Prompt
  │
  ├─ 需要专有知识
  │    → RAG + Vector DB + Embedding
  │
  ├─ 需要执行操作
  │    → Agent + Plugin/Tools
  │
  ├─ 固定流程
  │    → Workflow
  │
  ├─ 复杂系统
  │    → LangChain/LangGraph
  │
  └─ 需要标准化
       → MCP 协议