第 1 章:LangGraph 概述

内容纲要

一、核心定位

LangGraph 是面向 Agent 的低层级编排框架与运行时,用于构建、管理和部署长时间运行、有状态的智能体,帮助设计能可靠处理复杂任务的 Agent。

维度 说明
定位 专注 Agent 编排(Orchestration),不抽象 Prompt 或架构
层级 低层级,需先了解 modelstools 等基础组件
独立性 可不依赖 LangChain 使用,但文档中常用 LangChain 集成模型与工具
适用对象 需要精细控制编排逻辑的开发者;入门或追求高层抽象可优先用 LangChain 的 agents

二、核心能力

能力 说明
Durable execution(持久化执行) 故障后可恢复,支持长时间运行,从断点继续
Human-in-the-loop(人机协同) 在任意节点检查、修改 Agent 状态,引入人工审核
Comprehensive memory(完整记忆) 短期工作记忆 + 跨会话长期记忆,支持有状态 Agent
LangSmith 调试 可视化执行路径、状态流转与运行时指标
生产部署 面向有状态、长时工作流的可扩展部署能力

三、生态与安装

安装

pip install -U langgraph

生态组件

  • LangSmith:追踪请求、评估输出、监控部署
  • LangSmith Agent Server:长时、有状态工作流的部署与扩展平台
  • LangChain:模型与工具集成,高层 Agent 抽象基于 LangGraph 构建

四、快速示例

from langgraph.graph import StateGraph, MessagesState, START, END

def mock_llm(state: MessagesState):
    return {"messages": [{"role": "ai", "content": "hello world"}]}

graph = StateGraph(MessagesState)
graph.add_node(mock_llm)
graph.add_edge(START, "mock_llm")
graph.add_edge("mock_llm", END)
graph = graph.compile()

graph.invoke({"messages": [{"role": "user", "content": "hi!"}]})

五、设计渊源

  • PregelApache Beam 启发
  • 公开接口参考 NetworkX
  • 由 LangChain Inc 开发,可独立于 LangChain 使用

参考LangGraph Overview

滚动至顶部