使用预构建组件进行智能体开发¶
LangGraph 提供了用于构建基于智能体的应用程序的底层原语和高级预构建组件。本节重点介绍这些即用型预构建组件,它们旨在帮助您快速可靠地构建智能体系统,而无需从头开始实现编排、记忆或人机交互处理。
什么是智能体(agent)?¶
一个*智能体*由三个部分组成:一个**大型语言模型(LLM)**、一组可供其使用的**工具**,以及一个提供指令的**提示(prompt)**。
LLM 在一个循环中运行。在每次迭代中,它选择一个要调用的工具,提供输入,接收结果(一次观察),并利用该观察来指导下一步行动。这个循环会一直持续,直到满足停止条件——通常是当智能体收集到足够的信息来回应用户时。
主要特性¶
LangGraph 包含多项构建健壮、生产就绪的智能体系统所必需的功能:
- 记忆集成:原生支持*短期*(基于会话)和*长期*(跨会话持久化)记忆,从而在聊天机器人和助手中实现有状态的行为。
- 人机协同控制:执行可以*无限期*暂停以等待人类反馈——这与仅限于实时交互的基于 websocket 的解决方案不同。这使得在工作流程的任何节点都可以进行异步的批准、纠正或干预。
- 流式传输支持:实时流式传输智能体状态、模型令牌、工具输出或组合流。
- 部署工具:包括无需基础设施的部署工具。LangGraph 平台支持测试、调试和部署。
- Studio:一个用于检查和调试工作流程的可视化 IDE。
- 支持多种部署选项以用于生产环境。
高级构建模块¶
LangGraph 提供了一套预构建的组件,用于实现常见的智能体行为和工作流程。这些抽象构建在 LangGraph 框架之上,为快速投入生产提供了捷径,同时保留了高级定制的灵活性。
使用 LangGraph 进行智能体开发,您可以专注于应用程序的逻辑和行为,而无需为状态、记忆和人类反馈构建和维护支持性基础设施。
包生态系统¶
高级组件被组织在几个包中,每个包都有特定的侧重点。
包 | 描述 | 安装 |
---|---|---|
langgraph-prebuilt (langgraph 的一部分) |
用于创建智能体的预构建组件 | pip install -U langgraph langchain |
langgraph-supervisor |
用于构建监督者(supervisor)智能体的工具 | pip install -U langgraph-supervisor |
langgraph-swarm |
用于构建集群(swarm)多智能体系统的工具 | pip install -U langgraph-swarm |
langchain-mcp-adapters |
用于工具和资源集成的MCP 服务器接口 | pip install -U langchain-mcp-adapters |
langmem |
智能体记忆管理:短期和长期 | pip install -U langmem |
agentevals |
用于评估智能体性能的工具 | pip install -U agentevals |
可视化智能体图¶
使用以下工具可以可视化由 create_react_agent
生成的图,并查看相应代码的概要。它允许您通过以下参数的设置来探索智能体的基础设施:
tools
:智能体可用于执行任务的工具列表(函数、API 或其他可调用对象)。pre_model_hook
:在调用模型之前调用的函数。可用于压缩消息或执行其他预处理任务。post_model_hook
:在调用模型之后调用的函数。可用于实现护栏、人机协同流程或其他后处理任务。response_format
:用于约束最终输出类型的数据结构,例如一个pydantic
的BaseModel
。
特性
图
以下代码片段展示了如何使用 create_react_agent
创建上述智能体(及其底层图)。