Skip to content

核心概念

更新: 4/9/2026 字数: 0 字 时长: 0 分钟

本章介绍 LangChain Agent 的核心概念,包括 Agent 定义、与 Chain 的区别、工作流程等。

什么是 Agent?

定义

Agent(智能体) 是能够自主感知环境、做出决策、执行动作的系统。在 LLM 语境下:

Agent = LLM (大脑) + Tools (工具) + Memory (记忆) + State (状态)

Agent 的自主能力

┌─────────────────────────────────────────────────────────────┐
│                      Agent 自主能力                          │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  🔍 感知 (Perceive)                                          │
│     └── 接收用户输入、工具返回结果、外部信息                  │
│                                                              │
│  🧠 推理 (Reason)                                            │
│     └── 分析上下文、制定行动计划、评估结果                    │
│                                                              │
│  🎯 决策 (Decide)                                            │
│     └── 选择使用哪个工具、如何组合操作                        │
│                                                              │
│  ⚡ 执行 (Act)                                               │
│     └── 调用工具、处理响应、生成回复                         │
│                                                              │
│  📝 记忆 (Remember)                                          │
│     └── 保持对话上下文、跨会话持久化                          │
│                                                              │
└─────────────────────────────────────────────────────────────┘

为什么需要 Agent?

场景传统方式Agent 方式
查天气需要写死的 if-else"帮我查天气" → 自动调用天气 API
订机票预设流程"帮我订去北京的机票" → 搜索→比较→预订
数据分析固定流程"分析这份报告" → 阅读→理解→计算→总结

核心优势:从「预设流程」到「自主规划」的范式转变。

Agent vs Chain

基本对比

特性ChainAgent
执行模式固定顺序动态决策
工具调用❌ 不支持✅ 支持
适应性
复杂度简单复杂
调试难度容易较难
适用场景固定流程开放任务

Chain 示例

python
# Chain:固定流程,无法自主决策
from langchain.chains import LLMChain
from langchain.prompts import PromptTemplate

prompt = PromptTemplate.from_template(
    "把以下文本翻译成{language}: {text}"
)
chain = LLMChain(llm=llm, prompt=prompt)

# 每次都是:输入 → 翻译 → 输出
# 无法根据上下文选择其他操作
result = chain.invoke({"language": "中文", "text": "Hello"})

Agent 示例

python
# Agent:动态决策,自主选择工具
from langchain.agents import create_agent

agent = create_agent(
    model="anthropic:claude-sonnet-4-6",
    tools=[search, translate, calculator],
    system_prompt="你是助手,选择合适的工具完成任务"
)

# 执行流程:
# 1. 用户: "帮我搜索 AI 新闻,然后用中文总结"
# 2. Agent: 搜索新闻 → 判断需要总结 → 总结 → 返回
# 3. 用户: "1+1等于多少"
# 4. Agent: 直接调用 calculator → 返回 "2"

何时选择?

决策流程
────────────────────────────────────────────────────────

用户输入


┌─────────────────────────────────────────┐
│  任务是否需要调用外部工具?               │
└─────────────────────────────────────────┘
        │                    │
       Yes                   No
        │                    │
        ▼                    ▼
┌───────────────┐    ┌───────────────┐
│    Agent      │    │    Chain      │
│               │    │               │
│ • 搜索引擎    │    │ • 简单问答    │
│ • 数据库查询  │    │ • 固定翻译    │
│ • API 调用    │    │ • 格式转换    │
│ • 多步骤任务  │    │ • 模板填充    │
└───────────────┘    └───────────────┘

LangChain 生态定位

LangChain 家族

┌─────────────────────────────────────────────────────────────┐
│                    LangChain Ecosystem                       │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐   │
│  │   LangChain     │  │    LangGraph    │  │  LangSmith  │   │
│  │   (高级抽象)     │  │   (底层框架)     │  │   (调试)    │   │
│  └────────┬────────┘  └────────┬────────┘  └─────────────┘   │
│           │                     │                             │
│           └──────────┬──────────┘                             │
│                      ▼                                       │
│           ┌─────────────────┐                                │
│           │  LangChain.js   │                                │
│           │    (JS/TS)      │                                │
│           └─────────────────┘                                │
└─────────────────────────────────────────────────────────────┘

框架对比

框架定位抽象级别适用场景
LangChain高级 API快速构建标准 Agent
LangGraph底层框架复杂工作流、深度定制
Deep Agents内置功能开箱即用的完整功能

Agent 工作流程

完整循环

LangChain Agent Execution Loop
────────────────────────────────────────────────────────────

     ┌────────────────────────────────────────────────────┐
     │                                                     │
     │   ┌──────────┐                                     │
     │   │  User    │                                     │
     │   │  Input   │                                     │
     │   └────┬─────┘                                     │
     │        │                                           │
     │        ▼                                           │
     │   ┌──────────┐    ┌──────────┐                     │
     │   │   LLM    │───▶│  Think   │                     │
     │   │ (Reason) │    │          │                     │
     │   └────┬─────┘    └──────────┘                     │
     │        │                                           │
     │        ▼                                           │
     │   ┌──────────────────────────┐                     │
     │   │     Decision Point       │                     │
     │   │  "需要调用工具吗?"        │                     │
     │   └───────────┬──────────────┘                     │
     │               │                                    │
     │        ┌──────┴──────┐                             │
     │        │             │                              │
     │       Yes            No                             │
     │        │             │                              │
     │        ▼             ▼                              │
     │   ┌─────────┐   ┌──────────┐                       │
     │   │  Tool   │   │  Final   │                       │
     │   │  Call   │   │  Answer  │                       │
     │   └───┬─────┘   └────┬─────┘                       │
     │       │             │                               │
     │       ▼             │                               │
     │   ┌─────────┐       │                               │
     │   │ Execute │       │                               │
     │   │  Tool   │       │                               │
     │   └───┬─────┘       │                               │
     │       │             │                               │
     │       ▼             │                               │
     │   ┌─────────┐       │                               │
     │   │   Obs.  │───────┘                               │
     │   │(结果)   │         (Loop)                        │
     │   └─────────┘                                       │
     │                                                     │
     └─────────────────────────────────────────────────────┘

ReAct 模式

什么是 ReAct?

ReAct = Reason + Act

是一种结合推理和行动的 Prompt 方法论,让 LLM 能够:

  • 显式推理过程(Thought)
  • 选择性地执行行动(Action)
  • 从行动结果中学习(Observation)

ReAct vs 其他模式

模式特点适用场景
ReActThought → Action → Obs需要工具调用
CoTChain of Thought复杂推理
ToTTree of Thought探索多方案
Reflexion反思机制从错误中学习

核心组件

组件概览

Agent Core Components
────────────────────────────────────────────────────────

┌─────────────────────────────────────────────────────────────┐
│                         Agent                                │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────┐  │
│  │    LLM        │  │   Tools      │  │     Memory       │  │
│  │   (模型)       │  │   (工具)     │  │     (记忆)       │  │
│  │               │  │              │  │                  │  │
│  │ • GPT-4       │  │ • search     │  │ • Checkpointer   │  │
│  │ • Claude      │  │ • calculator │  │ • Vector Store   │  │
│  │ • Gemini      │  │ • API calls  │  │ • Session        │  │
│  └──────────────┘  └──────────────┘  └──────────────────┘  │
│                                                              │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────────┐  │
│  │   Prompt      │  │   Output     │  │      State      │  │
│  │   (提示)       │  │   Parser     │  │      (状态)      │  │
│  │               │  │   (解析)     │  │                  │  │
│  │ • System      │  │              │  │ • Messages       │  │
│  │ • Examples    │  │ • JSON       │  │ • Context       │  │
│  │ • Instructions│  │ • Pydantic  │  │ • Variables     │  │
│  └──────────────┘  └──────────────┘  └──────────────────┘  │
│                                                              │
└─────────────────────────────────────────────────────────────┘

本章小结

关键要点
────────────────────────────────────────────────────────

✅ Agent = LLM + Tools + Memory + State
✅ Agent vs Chain: 动态决策 vs 固定流程
✅ ReAct 模式: Thought → Action → Observation
✅ LangChain 生态: LangChain / LangGraph / LangSmith
✅ 核心组件: Model, Tools, Memory, Prompt, Parser

Released under the MIT License.