Agent Wiki/LangGraph
Wiki 首页分类搜索

知识树

Agent Wiki

      • Tool Use(工具使用)
      • MCP(Model Context Protocol)
      • RAG(检索增强生成)
      • Memory(Agent 记忆机制)
      • 上下文工程(Context Engineering)
      • State Management(Agent 状态管理)
      • Function Calling(函数调用)
      • Human-in-the-Loop(人机协同)
      • Hooks(钩子机制)
      • Agent Retry(重试机制)
      • Agent Harness(Agent 脚手架 / 运行时控制层)
      • LangChain(LLM 应用开发框架)
      • LangGraph
      • LlamaIndex(数据框架)
      • DSPy(声明式 LLM 编程框架)
      • Haystack(AI 应用框架)
      • AgentScope(多Agent平台)
      • AutoGen(微软多Agent框架)
      • AutoGPT(自主Agent平台)
      • CAMEL-AI(多Agent通信框架)
      • Letta(有状态Agent框架)
      • Phidata / Agno(Agent 构建框架)
      • OpenAI Agents SDK
      • Claude Agent SDK(Anthropic)
      • Google ADK(Agent Development Kit)
      • MySQL(关系型数据库)
      • MongoDB(文档数据库)
      • Chroma(向量数据库)
      • Pinecone(云原生向量数据库)
      • Qdrant(向量搜索引擎)
      • Weaviate(AI 原生向量数据库)
      • Milvus(向量数据库)
      • FastAPI(高性能Web框架)
      • Uvicorn(ASGI 服务器)
      • Redis(内存数据库/缓存)
      • RabbitMQ(消息代理)
      • Apache Kafka(分布式流处理平台)
      • Celery(分布式任务队列)
      • Docker(容器化平台)
      • Kubernetes(容器编排平台)
      • 位置编码(Positional Encoding)
      • 注意力优化(Attention Optimization)
      • 长上下文处理(Long Context Handling)
      • 高效推理(Efficient Inference)
      • AI 硬件概述(Hardware Overview)
      • FlagOS(模型服务平台)
      • SGLang(高效LLM推理引擎)
      • vLLM(高性能LLM推理引擎)
      • 云端模型服务概述
      • 推理引擎(Inference Engines)
      • 本地模型概述(Local Model Deployment)
      • 部署架构(Deployment Architecture)
      • 部署系统(Deployment System)
      • 按场景选型(模型选择指南)
      • 按规模选型(Model Selection by Parameter Size)
      • 模型评估方法(Model Evaluation Methods)
      • Agent 与工具使用(Tool-Augmented LLM)
      • 技术趋势(Technology Trends)
      • 推理增强(Reasoning Enhancement)
      • 混合专家模型(Mixture of Experts, MoE)
      • 长上下文技术(Long Context Technology)
      • 模型架构演进(Model Architecture Evolution)
      • 预训练语言模型(Pre-trained Language Model)
      • BERT 系列模型
      • GPT 系列模型(OpenAI)
      • 开源大模型生态(Open-source LLM Ecosystem)
      • 统一多模态模型(Unified Multimodal Models)
      • 视觉定位与检测(Visual Grounding & Detection)
      • 视觉语言模型(Vision-Language Models, VLM)
      • 对齐技术(Alignment)
      • 持续学习(Continual Learning)
      • 指令微调(Instruction Tuning)
      • 预训练技术(Pretraining Techniques)
      • Plan-and-Solve(计划与执行)
      • ReAct(推理与行动协同)
      • Reflection(反思/自我纠错模式)
      • 数据流编排模式(Data Flow Orchestration)
      • 知识密集型架构(Knowledge-Intensive Architecture)
      • 自主 Agent 架构(Autonomous Agent Architecture)
      • Handoff 模式(任务移交)
      • Master-Worker 模式(主从分发)
      • 分层模式(Hierarchical)
      • 流水线模式(Pipeline)
      • 群聊模式(Group Chat)
      • 辩论/竞争模式(Debate & Competition)
      • 按场景选型(Pattern Selection by Scenario)
      • 按复杂度选型(Pattern Selection by Complexity)
      • Code Agent(代码型 Agent)
      • RAG Agent(检索增强型 Agent)
      • 对话型 Agent(Conversational Agent)
      • 工具型 Agent(Tool Agent)
      • 自主型 Agent(Autonomous Agent)
      • AI 代码审查(AI Code Review)
      • AI 编码助手(AI Coding Assistants)
      • AI 辅助文档生成(AI Documentation Generation)
      • AI 驱动开发流程(AI-Driven Development Workflow)
      • Agent CD 部署(持续部署)
      • Agent CI 流水线(Agent CI Pipeline)
      • 模型版本管理(Model Version Management)
      • 自动化工具链(Automation Toolchain)
      • 可靠性优化(Reliability Optimization)
      • 延迟优化(Latency Optimization)
      • 成本优化(Cost Optimization)
      • Agent 项目结构(Agent Project Structure)
      • Harness Engineering(Agent 生产化工程)
      • 团队协作(Team Collaboration)
      • 开发规范(Development Standards)
      • Agent 安全实践(Agent Security Practices)
      • Prompt 注入防御(Prompt Injection Defense)
      • 合规审计(Compliance Audit)
      • 数据安全(Data Security)
      • 访问控制(Access Control)
      • Agent 测试金字塔(Testing Pyramid for AI Agents)
      • LLM 输出测试(LLM Output Testing)
      • 回归测试(Regression Testing)
      • 对话质量测试(Conversation Quality Testing)
      • 工具调用测试(Tool Calling Testing)
      • 性能与压力测试(Performance & Stress Testing)
      • Embedding 模型(嵌入模型)
      • 数据清洗与预处理(Data Cleaning & Preprocessing)
      • 文本分割工具(Text Splitting Tools)
      • 文档解析工具(Document Parsing Tools)
      • API 网关与代理(API Gateway & Proxy)
      • 向量索引工具(Vector Indexing Tools)
      • 提示词管理工具(Prompt Management Tools)
      • 知识库工具(Knowledge Base Tools)
      • Agent 行为评估(Agent Behavior Evaluation)
      • Agent 评估工具(Evaluation Tools)
      • RAG 评估
      • 评估框架(Evaluation Framework)
      • Arize AI(AI 可观测性平台)
      • Braintrust(AI 产品评估平台)
      • LangSmith(LLM 开发平台)
      • Langfuse(开源 LLM 可观测性平台)
      • Weave(W&B AI 可观测性工具)
      • 可观测性工具对比
      • MinerU(文档智能解析工具)
      • 传统 OCR(光学字符识别)
      • 多模态 OCR(Vision Language Model OCR)
      • Whisper(OpenAI 语音识别模型)
      • 文本转语音(Text-to-Speech, TTS)
      • 语音对话 Agent(Voice Conversation Agent)
      • ReAct 提示技巧(Reasoning + Acting)
      • 思维图(Graph-of-Thought, GoT)
      • 思维树(Tree-of-Thought, ToT)
      • 思维链(Chain-of-Thought, CoT)
      • 结构化输出(Structured Output)
      • 自一致性(Self-Consistency)
      • 上下文与 Agent(Context & Agent)
      • 上下文压缩(Context Compression)
      • 上下文构建策略(Context Building Strategy)
      • 上下文窗口管理(Context Window Management)
      • 多轮对话上下文管理(Multi-turn Context Management)
      • 提示词优化(Prompt Optimization)
      • 提示词版本管理(Prompt Versioning)
      • 提示词评估(Prompt Evaluation)
      • 少样本提示(Few-Shot Prompting)
      • 指令工程(Instruction Engineering)
      • 提示词的基本结构(Prompt Structure)
      • 系统提示词设计(System Prompt Design)
      • 零样本提示(Zero-Shot Prompting)
      • 元提示(Meta Prompting)
      • 分解提示(Decomposition Prompting)
      • 多模态提示(Multimodal Prompting)
      • 检索增强提示(RAG Prompting)
      • 角色扮演提示(Role Prompting)
      • Agent 场景提示模板(Agent Prompt Templates)
      • 代码生成场景提示(Code Generation Prompts)
      • 数据分析场景提示词模板(Data Analysis Prompt Templates)
      • 文本生成场景(Writing/Translation/Summarization)
      • 知识问答场景(QA Prompt Templates)
工程篇

LangGraph

LangChain 生态下的图编排框架,用有向图组织 Agent 多步骤流程,原生支持分支、循环和中断恢复。

难度 3⏱ 9 分钟tool更新于 2026-03-25

内容摘要

LangGraph 是 LangChain 团队开发的**图编排框架(Graph Orchestration Framework)**,用有向图的方式组织 Agent 的执行流程。简单说:你把要做的事拆成若干步骤,每个步骤是一个节点(Node),步骤之间的跳转关系是边(Edge),所有节点共享一份全局状态(State)。

LangGraph

基础概念

LangGraph 是 LangChain 团队开发的图编排框架(Graph Orchestration Framework),用有向图的方式组织 Agent 的执行流程。简单说:你把要做的事拆成若干步骤,每个步骤是一个节点(Node),步骤之间的跳转关系是边(Edge),所有节点共享一份全局状态(State)。

与写一个长函数从头跑到尾不同,LangGraph 的价值在于:流程可以分支(根据条件走不同路)、循环(失败了回头重试)、中断恢复(跑到一半存档,下次接着来)。这些能力在构建需要多轮推理、人工审核、自动重试的 Agent 应用时非常关键。

核心要素

要素作用
State(状态)所有节点共同读写的共享数据结构,是节点间传递信息的唯一通道
Node(节点)执行具体逻辑的 Python 函数,读取 State、返回需要更新的字段
Edge(边)定义节点间的跳转路径,分为固定跳转和按条件分支两种

State(状态)

State 是整个图的共享数据结构,通常用 Python 的 TypedDict(类型化字典)定义。每个节点执行后返回一个 dict,框架会自动把返回值合并回 State,后续节点就能读到更新后的数据。

from typing import TypedDict

class MyState(TypedDict):
    question: str   # 用户问题
    answer: str     # 生成的回答
    retries: int    # 已重试次数

State 相当于一块共享白板:节点 A 写上去,节点 B 能看到。

Node(节点)

节点是执行实际工作的 Python 函数。函数签名固定:接收当前 State,返回需要更新的字段(不用返回整个 State)。

def generate(state: MyState) -> dict:
    # 读取用户问题,生成回答
    return {"answer": f"关于 {state['question']} 的回答"}

def check(state: MyState) -> dict:
    # 累加重试次数
    return {"retries": state["retries"] + 1}

Edge(边)

边定义节点间的跳转方式:

  • 普通边:固定跳转,A 完了一定去 B
  • 条件边(Conditional Edge):根据 State 的当前值动态决定下一步去哪
# 条件函数:返回字符串键名,映射到对应节点
def should_retry(state: MyState) -> str:
    if state["retries"] < 3 and state["answer"] == "":
        return "retry"   # 重试
    return "done"        # 结束

核心要素关系图

正在渲染 Mermaid 图表…

三者的关系:State 决定「存什么数据」,Node 决定「做什么处理」,Edge 决定「接下来去哪」。

基础用法

安装:

pip install -U langgraph

最小可运行示例(基于 langgraph==1.1.3 验证,截至 2026-03):

from typing import TypedDict
from langgraph.graph import StateGraph, START, END

# 1. 定义共享状态
class MyState(TypedDict):
    text: str

# 2. 定义节点函数
def step_a(state: MyState) -> dict:
    return {"text": state["text"] + " -> 经过节点A"}

def step_b(state: MyState) -> dict:
    return {"text": state["text"] + " -> 经过节点B"}

# 3. 构建图:添加节点和边
builder = StateGraph(MyState)
builder.add_node("a", step_a)
builder.add_node("b", step_b)
builder.add_edge(START, "a")
builder.add_edge("a", "b")
builder.add_edge("b", END)

# 4. 编译并运行
graph = builder.compile()
result = graph.invoke({"text": "开始"})
print(result["text"])

预期输出:

开始 -> 经过节点A -> 经过节点B

带条件边的示例(循环重试):

from typing import TypedDict
from langgraph.graph import StateGraph, START, END

class RetryState(TypedDict):
    value: int
    count: int

def increment(state: RetryState) -> dict:
    return {"value": state["value"] + 1, "count": state["count"] + 1}

# 条件函数:count < 3 继续循环,否则结束
def check(state: RetryState) -> str:
    return "loop" if state["count"] < 3 else "done"

builder = StateGraph(RetryState)
builder.add_node("inc", increment)
builder.add_edge(START, "inc")
builder.add_conditional_edges("inc", check, {"loop": "inc", "done": END})

graph = builder.compile()
result = graph.invoke({"value": 0, "count": 0})
print(result)  # {'value': 3, 'count': 3}

同类工具对比

维度LangGraphLangChain (LCEL)AutoGen
核心定位图编排,状态机式流程控制LLM 应用组件库,链式调用多 Agent 对话协作框架
编程范式有向图 + 共享状态管道式链 (Pipe)消息驱动的多角色对话
循环/分支原生条件边,一行代码搞定需要自己在外部写循环逻辑以对话轮次驱动,非显式图结构
中断恢复内置 Checkpoint 检查点机制无内置支持无内置支持
适合场景多步骤工作流、需要精确控制执行路径快速搭建原型、简单 LLM 调用链多 Agent 角色分工讨论

核心区别:

  • LangGraph:解决「流程怎么走」的问题——步骤之间的顺序、分支、循环、中断
  • LangChain (LCEL):解决「组件怎么接」的问题——LLM、工具、Prompt 的组装
  • AutoGen:解决「Agent 怎么聊」的问题——多个 Agent 角色之间的对话协作

LangGraph 和 LangChain 通常配合使用:在 LangGraph 的节点里调用 LangChain 的组件。

常见误区

误区准确理解
LangGraph 是 LangChain 的替代品两者互补。LangChain 提供 LLM 调用、工具等组件,LangGraph 负责把这些组件按流程编排起来
所有 Agent 任务都应该用 LangGraph单步骤、无分支的简单任务直接写函数更清晰。LangGraph 的价值在流程复杂时才体现
节点越大越省事,逻辑都塞一个节点里节点应保持单一职责。拆细后便于单独测试、复用和调试,流程结构也更清晰

优劣势分析

优势劣势
流程结构显式定义,执行路径清晰可追踪简单任务引入额外的结构开销,杀鸡用牛刀
原生支持分支、循环、重试,无需手写控制逻辑入门需理解状态机、有向图等概念,有一定学习门槛
Checkpoint 机制支持中断恢复,适合长时间运行任务节点拆分过细时,图的连线本身也会变复杂
与 LangChain / LangSmith 生态无缝集成Python >= 3.10,对低版本 Python 不友好

思考题

初级:State、Node、Edge 三者分别负责什么?为什么缺一不可?

参考答案:

  • State:保存共享数据,是节点间传递信息的唯一通道。没有 State,节点之间无法通信。
  • Node:执行具体逻辑,读取并更新 State。没有 Node,图中没有任何实际计算。
  • Edge:定义跳转路径,决定下一步去哪。没有 Edge,节点之间没有连接,图无法运行。

三者缺一不可:State 是数据载体,Node 是处理单元,Edge 是执行路径。

中级:如何用条件边实现「失败重试,最多 3 次」的逻辑?

参考答案:

  1. 在 State 中加一个 retry_count: int 字段
  2. 执行节点每次运行后将 retry_count 加 1
  3. 用条件边的路由函数判断:失败且 retry_count < 3 时返回 "retry" 映射回执行节点;成功或超次数时返回 "done" 映射到 END

核心思路:循环控制不在节点内部实现,而是通过条件边 + State 字段在图层面控制。

中级:LangGraph 的 Checkpoint 机制解决什么问题?什么场景下需要用?

参考答案:

Checkpoint(检查点)在每个节点执行后自动保存当前 State 的快照。解决的核心问题是:长时间运行的工作流如果中途失败或需要人工介入,可以从上次保存的位置恢复,不用从头跑。

典型场景:需要人工审核后才能继续的流程、运行时间较长容易超时的任务、需要跨会话保持状态的对话系统。

参考资料

  1. 官方文档:https://langchain-ai.github.io/langgraph/
  2. GitHub 仓库:https://github.com/langchain-ai/langgraph(27.4k stars,MIT 许可证)
  3. PyPI 包页面:https://pypi.org/project/langgraph/
  4. LangChain 官网:https://www.langchain.com/

目录

快速定位正文内容

  • 基础概念
  • 基础用法
  • 同类工具对比
  • 常见误区
  • 优劣势分析
  • 思考题
  • 参考资料

这页有错、不清楚、或想看更深?

继续浏览

相关主题

  • State Management(Agent 状态管理)

    Agent 执行过程中对共享信息的定义、更新、传递和持久化管理机制。

  • Agent Harness(Agent 脚手架 / 运行时控制层)

    让模型能稳定作为 Agent 运行的一层工程化控制系统,负责调度、约束、反馈与恢复。

  • AutoGen(微软多Agent框架)

    微软开源的多智能体协作框架,通过异步消息驱动多个 Agent 角色分工完成复杂任务。

延伸阅读

优先展示同分类且标签更接近的内容,方便继续串联学习。

工程篇难度 3⏱ 10 分钟概念
01

State Management(Agent 状态管理)

Agent 执行过程中对共享信息的定义、更新、传递和持久化管理机制。

State Management状态管理LangGraphCheckpointReducer
更新于 2026-03-25state-management
工程篇难度 3⏱ 13 分钟概念
02

Agent Harness(Agent 脚手架 / 运行时控制层)

让模型能稳定作为 Agent 运行的一层工程化控制系统,负责调度、约束、反馈与恢复。

Agent HarnessHarness Engineering运行时控制层Agent RuntimeGuardrails
更新于 2026-04-12agent-harness
工程篇难度 3⏱ 9 分钟工具
03

AutoGen(微软多Agent框架)

微软开源的多智能体协作框架,通过异步消息驱动多个 Agent 角色分工完成复杂任务。

AutoGen微软多Agent对话式GroupChat
更新于 2026-03-26autogen