如何使用LangGraph构建一个智能体

使用 LangGraph 构建智能体时,首先要将任务分解为称为 节点 的离散步骤。然后,需要描述每个节点不同的决策逻辑和状态转换方式。最后,通过一个 共享状态 将各个节点连接起来,每个节点都可以读写该状态。


要在 LangGraph 中实现智能体,通常需要遵循五个步骤。

第一步:将你的工作流程分解成一个个独立的步骤。

首先,确定流程中的各个步骤。每个步骤都将成为一个节点(一个执行特定操作的函数)。然后,绘制这些步骤之间的连接图。

第二步:明确每个步骤需要做什么

对于图中的每个节点,确定它代表什么类型的操作以及它需要什么上下文才能正常工作。

一般有以下4种类型的操作步骤:

  • LLM 步骤:用于某个步骤需要理解、分析、生成文本或做出推理决策时。
  • 数据步骤:用于某个步骤需要从外部来源检索信息时。
  • 动作步骤:用于某个步骤需要执行外部操作时。
  • 用户输入步骤:用于某个步骤需要人工干预时。

分类详解与实例

步骤类型 核心职能 典型节点示例 所需上下文(举例)
LLM 步骤 (大脑) 理解、推理、决策、生成 分类节点 :分析用户意图。 • 起草回复节点:生成回复内容。 • 原始用户输入 • 分类结果 • 公司回复风格指南
数据步骤 (记忆) 信息检索、数据查询 文档搜索节点 :从知识库查找答案。 • 客户历史查询:从数据库获取过往记录。 • 查询关键词(如订单号) • 搜索范围/权限
动作步骤 (手脚) 执行实际操作、改变外部状态 发送回复节点 :将最终回复邮件发出。 • 创建工单节点:在追踪系统中创建Bug工单。 • 最终审定的回复内容 • 目标邮箱地址 • 工单详细信息
用户输入步骤 (监督) 引入人类判断、处理异常 人工审核节点:将敏感或复杂回复交由人工审批。 • 需要审核的回复草稿 • 触发送审的原因(如高金额退款)

第三步:设计你的共享状态

状态是你的智能体中所有节点都可以访问的共享记忆。你可以将其想象成你的智能体在处理流程中所使用的笔记本,用来记录它在此过程中了解到的一切信息和做出的所有决定。

设计状态就是为你的智能体 设计数据结构。一个精心设计的"共享笔记本"(状态)是构建一个高效、可靠且易于理解的智能体工作流的基石。它决定了节点之间如何通信,以及工作流的上下文如何得以保持。

哪些数据要保存在状态中?

这个数据是否需要跨步骤保持?如果需要,则将其置于状态中。如果能从其他数据中推导出,则在需要时计算,而不是将其存储在状态中。

💡 一个关键原则:你的状态应该存储原始数据,而不是格式化的文本。需要时,在节点内部进行格式化。

第四步:构建节点

构建节点就是我们将每个步骤实现为一个函数。LangGraph 中的一个节点就是一个 Python 函数,它接收当前状态并返回更新后的状态。

如何妥善处理节点中可能发生的错误?

错误类型 谁来修复它 修复策略 何时使用
瞬态错误(网络问题、速率限制) 系统(自动) 重试策略 临时故障,通常在重试后解决。
LLM 可恢复错误(工具故障、解析问题) LLM 将错误存储在状态中并循环返回 LLM能够发现错误并调整其方法
用户可修正的错误(信息缺失、说明不清晰) 人类 暂停 需要用户输入才能继续
意外错误 开发者 让错误冒泡吧 未知问题需要Debug

第五步:将节点连接起来

现在,我们将节点连接成一个可运行的工作流图。由于我们的节点能够处理自身的路由决策,我们只需要定义几条必要的边即可。

总结一下

通过以上步骤我们总结一下 LangGraph 的思维方式:

  • 将任务分解成若干个独立的步骤,每个节点专注于做好一件事。
  • 状态是共享的记忆,保存了原始数据。
  • 每个节点都是一个函数,输入状态,输出更新后的状态。
  • 错误是流程预设的一部分,通过多种策略修复它。
  • 人工干预具有最高权限,等待人工干预时暂停执行,保存所有状态。
  • 只需少量的必要连接,图结构由节点自行构建出来。
相关推荐
counterxing5 小时前
Agent 跑起来之后,难的是复用、观测和评测
node.js·agent·ai编程
uccs5 小时前
大模型底层机制与Agent开发
agent·ai编程·claude
YDS8296 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
counterxing6 小时前
我把 Codex 里的 Skills 做成了一个 MCP,还支持分享
前端·agent·ai编程
冬奇Lab8 小时前
Agent 系列(一):Agent 是什么——不只是「会调工具的 LLM」
人工智能·llm·agent
小歪不歪我是AI10 小时前
MCP 完全解读:当 AI 想要「动手」的时候,需要一把万能钥匙
agent·mcp
阿里云大数据AI技术11 小时前
Hologres CLI 与 Skills 担当 Agent-Ready 基础设施,共建数仓智能新生态
人工智能·agent
视觉&物联智能11 小时前
【杂谈】-企业人工智能超越实验:安全拓展的实践路径
人工智能·安全·aigc·agent·agi
OpenBayes贝式计算12 小时前
教程上新丨狂揽 41k stars,港大团队开源超轻量 AI 助手 nanobot,4000 行代码实现 OpenClaw 核心功能
人工智能·agent
阿里云大数据AI技术12 小时前
Hologres CLI与Skills担当Agent-Ready 基础设施,共建数仓智能新生态_
人工智能·阿里云·agent·hologres·skills