基于LangGraph的Agent
LangGraph是一个专为AI智能体开发设计的框架,具有可靠性、可控性和可扩展性。它通过审核检查和人工干预确保智能体行为合规,支持长时间工作流持久化,并提供低层级原语构建自定义智能体。LangGraph支持流式传输,让用户实时了解智能体推理过程,并具备短期和长期记忆功能。开发者可以创建自主运行的智能体系统,结合推理逻辑与外部工具访问。框架提供本地开发环境搭建指南,包括虚拟环境创建、依赖安装和服务
LangGraph 专为希望构建强大、适应性强的 AI 智能体的开发者而设计。开发者选择 LangGraph 的原因是:
- 可靠性和可控性。通过审核检查和人工干预审批来指导智能体行为。LangGraph 可为长时间运行的工作流持久化上下文,使您的智能体保持正常运行。
- 低层级和可扩展性。使用完全描述性的低层级原语构建自定义智能体,不受限制自定义的僵化抽象约束。设计可扩展的多智能体系统,其中每个智能体都为您的用例量身定制特定角色。
- 一流的流式传输支持。通过逐令牌流式传输和中间步骤流式传输,LangGraph 让用户实时清晰地了解智能体的推理和行动过程。
LangGraph支持两种对于构建对话代理至关重要的内存类型:
- 短期内存:通过在会话中维护消息历史来跟踪正在进行的对话。
- 长期内存:在不同会话之间存储用户特定或应用程序级别的数据。


什么是Agent?
人类在复杂的模式识别任务中表现卓越,但通常需要借助工具(如书籍、搜索引擎或计算器)来补充先验知识以得出结论。同理,生成式AI模型可通过训练使用工具获取实时信息或建议的实际动作。例如:
- 模型可利用数据库检索工具获取客户购买历史以生成个性化购物推荐
- 基于用户查询,模型可通过API调用发送邮件或完成金融交易
为实现此能力,模型需具备:
- 外部工具集访问权限
- 自主规划与执行任务的推理能力
这种结合推理逻辑与外部信息访问的系统,即构成智能体(Agent)。
智能体的认知架构中有三个基本组件:模型(Model)、工具(Tools)和以及一个提供指令的提示。
LLM 在一个循环中运行。在每次迭代中,它会选择一个要调用的工具,提供输入,接收结果(一个观察),并利用该观察来指导下一个动作。循环会一直持续,直到满足停止条件——通常是Agent已经收集到足够的信息来响应用户时。

Agent vs. Workflow(图)
Anthropic将Agent系统划分为两类:
- 第一类是workflow。遵循预定义的工作流,编排LLM和工具,固定代码路径。
- Agent:此类Agent被定义为完全自主的系统,这些系统在较长时间内独立运行,可以动态地指导自身流程和工具使用的系统。通过自身的推理、规划能力,自主控制,完成任务。
注意:在LangGraph中,一切都是图,Agent是图中的一个节点。使用 create_react_agent 创建一个Agent,并且也得到了一个图。

以下代码片段展示了如何使用 create_react_agent 创建上述Agent
|
Python |
1、LangGraph本地服务
LangGraph CLI 是一个多平台命令行工具,用于在本地构建和运行 LangGraph API 服务器。生成的服务器包含您的图的所有运行、线程、助手等的 API 端点,以及运行您的代理所需的其他服务,包括用于检查点和存储的托管数据库。

安装和使用步骤
1.1、创建Python虚拟环境
虚拟环境的安装步骤
- 安装好python解释器: Python >= 3.11 is required.
- 安装虚拟环境库,在cmd中输入:
|
Plain Text |
- 创建虚拟环境,在cmd中切换到需要创建虚拟环境的目录下,执行:

|
Plain Text |
- 激活虚拟环境,在cmd中进入到 第三步创建的 env_name/Scripts 目录下,执行:
|
Plain Text |
执行成功后,在cmd中,当前输入行前面会有 (env_name) 的前缀
在当前状态下,使用 pip 就是在虚拟环境中安装第三方库了
5. 退出虚拟环境,cmd中输入:
|
Plain Text |
1.2、安装LangGraph CLI
|
Python |
1.3、创建 LangGraph 应用
从 new-langgraph-project-python 模板或 new-langgraph-project-js 模板创建一个新应用。此模板演示了一个单节点应用,您可以根据自己的逻辑进行扩展。
注意:如果您使用 langgraph new 命令时未指定模板,将显示一个交互式菜单,允许您从可用模板列表中进行选择。
|
Python |
1.4、安装项目依赖
在您的新 LangGraph 应用的根目录下,以编辑模式安装依赖项,以便服务器使用您的本地更改。
在 LangGraph 中,pyproject.toml 代传统的 setup.py 和 requirements.txt.可能包含以下扩展配置:
- 依赖分组:如 [project.optional-dependencies] 定义 dev(开发工具)和 test(测试框架)依赖。
- 动态版本控制:通过 requires-python = ">=3.9" 指定 Python 版本兼容性。
- CI/CD 集成:通过 [tool.*] 配置与 GitHub Actions 或 GitLab CI 的交互

|
Python |
1.5、修改graph.py的代码
|
Python |
1.6、启动LangGraph服务器
langgraph dev 命令以内存模式启动 LangGraph 服务器。此模式适用于开发和测试目的。对于生产用途,请部署 LangGraph 服务器并使其能够访问持久存储后端。
|
Python |
选项

点击图片可查看完整电子表格

1.7、测试和访问agent的API
- LangGraph Studio 是一个专用 UI,您可以将其连接到 LangGraph API 服务器,以在本地可视化、交互和调试您的应用。通过访问 langgraph dev 命令输出中提供的 URL,在 LangGraph Studio 中测试您的Agent和图。
- PythonSDK测试
|
Shell |
异步测试:
|
同步测试:
|
Python
|
- JavaScript SDK测试
安装 LangGraph JS SDK
|
Shell |
向LangGraph服务区发送消息:
|
JavaScript
|
- REST API测试:
|
Shell
|
更多推荐



所有评论(0)