跳到内容

使用 LangGraph 进行智能体开发

LangGraph 为构建基于智能体的应用提供了低级原语和高级预构建组件。本节重点介绍预构建的可复用的组件,旨在帮助您快速可靠地构建智能体系统,而无需从头开始实现编排、记忆或人工反馈处理。

什么是智能体?

一个智能体由三个组件组成:一个大型语言模型(LLM)、一套它可以使用的工具,以及一个提供指令的提示

LLM 以循环方式运行。在每次迭代中,它选择一个工具来调用,提供输入,接收结果(一个观察),并利用该观察来指导下一步行动。循环持续到满足停止条件为止——通常是当智能体收集到足够信息以响应用户时。

image

智能体循环:LLM 选择工具并使用其输出以满足用户请求。

主要特性

LangGraph 包含构建强大、生产就绪的智能体系统所必需的几项功能

  • 记忆集成:原生支持短期(基于会话的)和长期(跨会话持久的)记忆,从而实现聊天机器人和助手的有状态行为。
  • 人工干预控制:执行可以无限期地暂停,以等待人工反馈——这与受限于实时交互的基于 WebSocket 的解决方案不同。这使得在工作流的任何时候都能进行异步审批、纠正或干预。
  • 流式传输支持:实时流式传输智能体状态、模型令牌、工具输出或组合流。
  • 部署工具:包括无需基础设施的部署工具。LangGraph 平台支持测试、调试和部署。
  • Studio:用于检查和调试工作流的可视化 IDE。
  • 支持多种部署选项以用于生产环境。

高级构建块

LangGraph 提供了一套预构建组件,用于实现常见的智能体行为和工作流。这些抽象构建在 LangGraph 框架之上,提供了更快的生产路径,同时保持了高级定制的灵活性。

使用 LangGraph 进行智能体开发,您可以专注于应用程序的逻辑和行为,而不是构建和维护状态、记忆和人工反馈的支持基础设施。

包生态系统

高级组件被组织成几个包,每个包都有一个特定的重点。

描述 安装
langgraph 预构建组件,用于创建智能体 npm install @langchain/langgraph @langchain/core
langgraph-supervisor 用于构建主管智能体的工具 npm install @langchain/langgraph-supervisor
langgraph-swarm 用于构建集群多智能体系统的工具 npm install @langchain/langgraph-swarm
langchain-mcp-adapters MCP 服务器的接口,用于工具和资源集成 npm install @langchain/mcp-adapters
agentevals 用于评估智能体性能的实用工具 npm install agentevals

可视化智能体图

使用以下工具可视化由createReactAgent生成的图,并查看相应代码的概要。它允许您探索智能体基础设施,根据以下存在情况进行定义:

  • tools:智能体可以用来执行任务的工具(函数、API 或其他可调用对象)列表。
  • preModelHook:在模型调用之前调用的函数。它可以用于精简消息或执行其他预处理任务。
  • postModelHook:在模型调用之后调用的函数。它可以用于实现防护措施、人工干预流程或其他后处理任务。
  • responseFormat:用于约束最终输出类型的数据结构(通过 Zod schemas)。

特性

graph image

以下代码片段展示了如何使用createReactAgent创建上述智能体(及底层图)