logo
LangChain 框架指南
AI Engineer

LangChain 框架指南

LangChain 是构建 LLM 应用的流行框架,提供了链式调用、Agent、RAG 等丰富的功能模块。

LangChain 框架指南LangGraph

LangGraph: 构建复杂、循环的 AI 代理

LangGraph 是 LangChain 生态中最重要的进阶工具。它允许你将 AI 逻辑定义为图 (Graph) 结构,非常适合构建具有循环(Cycles)、状态管理(State)和多代理协作(Multi-agent)的应用。

#1. 为什么需要 LangGraph?

传统的 Chain 是线性的(A -> B -> C)。但在实际开发中,我们往往需要循环:

  • 循环调试:模型写完代码 -> 运行报错 -> 回到模型进行修复 -> 再次运行。
  • 反思模式:模型生成答案 -> 另一个模型审核 -> 审核不通过则回到生成节点。

#2. 核心概念

  • Nodes (节点):普通的 Python 函数,负责处理数据。
  • Edges (边):连接节点的路径。
  • State (状态):在节点间传递的共享数据(通常是一个 TypedDict)。
  • Conditional Edges (条件边):根据逻辑判断下一步走向哪个节点。

#3. 基础代码示例

python
from typing import TypedDict, Annotated from langgraph.graph import StateGraph, END # 1. 定义状态 class State(TypedDict): input: str output: str # 2. 定义节点 def call_model(state: State): # 这里调用 LLM return {"output": "模型生成的答案"} # 3. 构建图 workflow = StateGraph(State) workflow.add_node("model", call_model) # 设置起点和终点 workflow.set_entry_point("model") workflow.add_edge("model", END) # 4. 编译并运行 app = workflow.compile() result = app.invoke({"input": "你好"})

#4. LangGraph 的独特优势

#A. 状态持久化 (Persistence)

内置 Checkpointer。即使程序崩溃或需要用户人工确认(Human-in-the-loop),它也能从断点处精准恢复。

#B. 多代理协作 (Multi-agent)

你可以轻松定义多个代理节点(如:Researcher 节点, Writer 节点, Reviewer 节点),并让它们在图中按照逻辑流转。

#C. 可视化

LangGraph 支持导出图形结构,方便调试和展示逻辑流。

#5. LangGraph Studio (开发利器)

如果你在本地安装了 Docker,可以使用 LangGraph Studio。它提供了一个可视化的 IDE,可以让你实时观察节点状态的变化、手动回滚步骤以及调试复杂的逻辑循环。


总结:如果你正在构建一个简单的 RAG 或聊天机器人,LCEL 足够了。但如果你在构建一个真正的 AI Agent(代理),LangGraph 是必选工具

相关路线图