使用预构建组件进行智能体开发¶
LangGraph 提供了底层原语和高级预构建组件,用于构建基于智能体的应用程序。本节重点介绍预构建的即用型组件,旨在帮助您快速可靠地构建智能体系统——无需从头实现编排、内存或人工反馈处理。
什么是智能体?¶
智能体 由三个组件组成:大型语言模型 (LLM)、一组可使用的 工具,以及提供指令的 提示。
LLM 在一个循环中运行。在每次迭代中,它选择要调用的工具,提供输入,接收结果(观察结果),并使用该观察结果来指导下一个动作。循环持续直到满足停止条件——通常是当智能体收集了足够的信息来响应用户时。
关键特性¶
LangGraph 包含构建健壮、生产就绪的智能体系统所必需的多种功能:
- 内存集成:对短期(基于会话)和长期(跨会话持久化)内存的原生支持,使聊天机器人和助手能够实现有状态的行为。
- 人工循环控制:执行可以无限期暂停以等待人工反馈——不同于仅限于实时交互的基于 WebSocket 的解决方案。这允许在工作流程的任何点进行异步批准、更正或干预。
- 流式支持:智能体状态、模型标记、工具输出或组合流的实时流式传输。
- 部署工具:包含无需基础设施的部署工具。LangGraph Platform 支持测试、调试和部署。
- Studio:用于检查和调试工作流的可视化 IDE。
- 支持生产的多种 部署选项。
高级构建块¶
LangGraph 提供了一套预构建组件,实现了常见的智能体行为和工作流。这些抽象构建在 LangGraph 框架之上,提供了更快的生产路径,同时保持对高级定制的灵活性。
使用 LangGraph 进行智能体开发使您可以专注于应用程序的逻辑和行为,而不是构建和维护状态、内存和人工反馈的支持基础设施。
包生态系统¶
高级组件被组织成多个包,每个包都有特定的重点。
包名 | 描述 | 安装命令 |
---|---|---|
langgraph-prebuilt (langgraph 的一部分) |
用于 创建智能体 的预构建组件 | pip install -U langgraph langchain |
langgraph-supervisor |
用于构建 主管 智能体的工具 | pip install -U langgraph-supervisor |
langgraph-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
创建上述代理(及其底层图):