LangGraph实战教程:构建会思考、能记忆、可人工干预的多智能体AI系统

  本文介绍了使用LangGraph和LangSmith构建企业级多智能体AI系统的完整流程。从简单的ReAct智能体开始,逐步扩展至包含身份验证、人工干预、长期内存管理和性能评估的复杂架构。文章详细讲解了状态管理、工具集成、条件流程控制等关键技术,并对比了监督者架构与群体架构的优劣。通过系统化的方法,展示了如何构建可靠、可扩展的AI系统,为现代AI应用开发提供了坚实基础。*作者:Fareed Khan*

  通过组合几个较小的子智能体来创建强大的 AI 智能体已成为一种趋势。但这也带来了挑战,例如减少幻觉、管理对话流程、在测试期间密切关注智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。

  在本文中,我们将使用监督者方法构建一个多智能体系统。在此过程中,我们将介绍基础知识、在创建复杂的 AI 智能体架构时可能面临的挑战,以及如何评估和改进它们。

  LangChain、LangGraph 模块构成了一个完整的架构,但是如果我一次性导入所有库,肯定会造成混淆。

  LangSmith 对你来说可能是一个新术语。如果你不知道它是什么,我们将在下一节讨论它的用途。如果你已经知道了,可以跳过他。

  要获取 LangSmith API 密钥,你可以访问他们的网站并创建一个帐户。之后,在设置下,你会找到你的 API 密钥。

  当我们使用 LLM 构建 AI 智能体应用程序时,LangSmith 可以帮助你理解和改进它们。它就像一个仪表板,显示应用程序内部发生的情况,并允许你:

  我们刚刚从 LangSmith 导入了稍后将使用的 utils,并且追踪设置为 true,因为我们之前设置了环境变量

  我们将使用Chinook 数据库,这是一个用于学习和测试 SQL 的流行示例数据库。它模拟了数字音乐商店的数据和运营,例如客户信息、购买历史和音乐目录。

  它有多种格式,如 MySQL、PostgreSQL 等,但我们将使用 SQLite 版本的数据,因为它也有助于我们了解 AI 智能体如何与数据库交互,这对于刚接触本 AI 智能体指南的人尤其有用。

  它从 GitHub 下载 SQL 脚本,在内存中创建数据库,运行脚本以用表和数据填充它,然后返回一个连接到此数据库的 SQLAlchemy 引擎。

  现在我们初始化了数据库,下一步就是寻找组合(LangGraph + LangSmith)的第一个优势,即两种不同类型的内存可用性,但首先要了解什么是内存。

  在任何智能体中,内存都扮演着重要的角色。就像人类一样,AI 智能体需要记住过去的交互以保持上下文并提供个性化的响应。

  这里将从一个简单的 ReAct 智能体开始,并在工作流中添加额外的步骤,模拟一个逼真的客户支持示例,展示人工介入、长期记忆和 LangGraph 预构建库。

  我们将逐步构建多智能体工作流的每个组件,因为它包含两个子智能体,两个专门的 ReAct(推理和行动)子智能体,然后它们将组合起来创建一个包含额外步骤的多智能体工作流。

  第一个子智能体将是一个音乐目录信息智能体。其主要职责是协助客户处理与我们的数字音乐目录相关的查询,例如搜索艺术家、专辑或歌曲。

  我们的智能体将如何记住信息、决定做什么并执行操作?这使我们想到了三个基本的 LangGraph 概念:状态 (State)、工具 (Tools)和节点 (Nodes)。

  在 LangGraph 中,状态 (State)保存流经图的当前数据快照,基本上是智能体的内存。

  接下来使用工具 (Tools)来扩展智能体的能力。工具是一些函数,可以让 LLM 做一些它自己无法做的事情,比如调用 API 或访问数据库。

  状态 (State)已经定义并且工具 (Tools)已经准备就绪,现在就可以定义图的节点 (Nodes)。

  节点是 LangGraph 应用程序中的核心处理单元,它们将图的当前状态作为输入,执行一些逻辑,并返回更新后的状态。

  为对话提供了一个唯一的 thread_id,我们的问题是关于与滚石乐队相似的音乐推荐,看看 AI 智能体将使用什么工具来响应。

  虽然从头开始构建 ReAct 智能体对于理解基础知识非常有用,但 LangGraph 也为常见架构提供了预构建库。

  它允许快速设置像 ReAct 这样的标准模式,而无需手动定义所有节点和边。可以在 LangGraph 文档中找到这些预构建库的完整列表。

  invoice_subagent_prompt = 你是一个助手团队中的子智能体。你专门负责检索和处理发票信息。你被分配处理与发票相关的问题部分,因此只响应这些问题。 你可以使用三个工具。这些工具使你能够从数据库中检索和处理发票信息。以下是这些工具: - get_invoices_by_customer_sorted_by_date: 此工具检索客户的所有发票,按发票日期排序。 - get_invoices_sorted_by_unit_price: 此工具检索客户的所有发票,按单价排序。 - get_employee_by_invoice_and_customer: 此工具检索与发票和客户关联的员工信息。 如果你无法检索发票信息,请告知客户你无法检索该信息,并询问他们是否想搜索其他内容。 核心职责: - 从数据库中检索和处理发票信息 - 当客户询问时,提供有关发票的详细信息,包括客户详细信息、发票日期、总金额、与发票关联的员工等。 - 始终保持专业、友好和耐心的态度 你可能拥有其他上下文信息,应用于帮助回答客户的查询。它将在下面提供给你:

  仅用几行代码,就拥有了一个功能齐全的 ReAct 智能体,这是使用 LangGraph 的优势。

  到目前为止,我们已经构建了一个多智能体系统,可以将客户查询路由到专门的子智能体。然而在现实世界的客户支持场景中,并不总是能够轻易获得 customer_id。

  在这一步中,将通过添加客户验证层来增强我们的工作流。这将涉及一个人工介入 (human-in-the-loop)组件,如果客户的帐户信息缺失或未经验证,系统可能会暂停并提示客户提供该信息。

  定义一个用于解析用户输入的 Pydantic 模式和一个用于 LLM 可靠地提取此信息的系统提示。

  接下来,需要一个辅助函数来获取提取的标识符(可以是客户 ID、电话号码或电子邮件),并在 Chinook 数据库中查找它以检索实际的

  这个实用程序函数能够智能地解析提供的标识符,无论是直接的客户ID、电话号码还是电子邮件地址,然后查询数据库以获取相应的数字化客户ID。

  进行验证。验证成功时,它会更新状态并发送确认消息;验证失败时,它会使用主要LLM和系统指令礼貌地向用户请求信息。

  函数是LangGraph的强大功能特性。执行时,它会暂停图的执行并发出需要人工干预的信号。后续的执行函数需要通过提供新输入来处理此中断以恢复图的运行。

  得到验证并保存在状态中,它将在整个对话过程中持续存在。这意味着智能体在同一线程的后续问题中不会再次要求验证。

  我们在短期和长期内存部分已经初始化了用于长期内存的InMemoryStore。现在将其完全集成到多智能体工作流中。长期内存的强大之处在于它允许智能体回忆和利用过去对话中的信息,从而实现随时间推移的个性化和上下文感知交互。

  首先定义一个辅助函数,用于将用户存储的音乐偏好格式化为可读字符串,以便轻松注入LLM的提示中:

  节点。此节点将使用LLM-as-a-judge模式来分析对话历史和现有内存,然后使用任何新识别的音乐兴趣更新

  评估帮助衡量智能体的表现如何,这对于开发至关重要,因为即使是很小的提示或模型更改,LLM的行为也可能发生显著变化。评估为我们提供了一种结构化的方法来捕获故障、比较版本并提高系统可靠性。

  评估包含三个核心组件:数据集是一组测试输入和预期输出;目标函数是正在测试的应用程序或智能体,它接收输入并返回输出;评估器是对智能体输出进行评分的工具。

  常见的智能体评估类型包括:最终响应评估检查智能体是否给出了正确的最终答案;单步评估评估一个步骤(例如,是否选择了正确的工具);轨迹评估评估智能体为达到答案所采取的完整推理路径。

  评估智能体最直接的方法之一是评估其在任务上的整体表现。这就像将智能体视为一个黑盒子,并简单地评估其最终响应是否成功解决了用户的查询并满足了预期标准。输入是用户的初始查询,输出是智能体最终生成的响应。

  这里定义了四个示例场景,每个场景都有一个问题(智能体的输入)和一个预期响应(我们认为正确的最终输出)。然后在LangSmith中创建一个数据集,并用这些示例填充它。

  可以使用LLM作为真实答案和AI智能体响应之间的裁判。现在所有组件都已编译完成,让我们运行评估:

  LangSmith仪表板包含我们的评估结果,显示正确性、最终结果、它们的比较等参数。还有其他评估技术也可以使用,开发者可以在相关文档中找到更详细的介绍。

  到目前为止,我们已经使用监督者(Supervisor)方法构建了一个多智能体系统,其中中央智能体管理流程并将任务委派给子智能体。

  另一种选择是群体架构(Swarm Architecture),如LangGraph文档中所述。在群体架构中,智能体相互协作并直接传递任务,没有中央协调器。

  监督者架构具有一个指导流量的中央智能体,充当专业子智能体的管理者角色,遵循分层且更可预测的路径,控制权通常返回给监督者。群体架构由对等智能体组成,它们在没有中央授权的情况下直接相互移交任务,采用分散的和智能体驱动的方式,允许直接、自适应的协作和可能更具弹性的操作。

  监督者架构更适合需要明确控制流程和集中决策的场景,而群体架构则在需要灵活协作和分布式处理的环境中表现更佳。选择哪种架构取决于具体的应用需求、复杂性要求和系统的可维护性考虑。

  本文详细介绍了使用LangGraph和LangSmith构建企业级多智能体AI系统的完整流程。从基础的单个ReAct智能体开始,逐步构建了一个包含身份验证、人工干预、长期内存管理和性能评估的完整多智能体架构。

  通过这个系统化的构建过程,展示了现代AI应用开发中的关键技术要素:模块化的智能体设计、状态管理、工具集成、条件流程控制以及全面的监控评估机制。这些技术组合为构建可靠、可扩展的AI系统提供了坚实的技术基础。

  LangGraph和LangSmith的组合为多智能体系统的开发提供了强大的工具支持,从预构建组件的快速原型开发到生产环境的全面监控,都能够满足企业级应用的复杂需求。随着AI技术的不断发展,这种系统化的多智能体架构将在更多领域发挥重要作用。

  基于合合信息开源智能终端工具—Chaterm的实战指南【当运维遇上AI,一场效率革命正在发生】

  在云计算和多平台运维日益复杂的今天,传统命令行工具正面临前所未有的挑战。工程师不仅要记忆成百上千条操作命令,还需在不同平台之间切换终端、脚本、权限和语法,操作效率与安全性常常难以兼顾。尤其在多云环境、远程办公、跨部门协作频繁的背景下,这些“低效、碎片化、易出错”的传统运维方式,已经严重阻碍了 IT 团队的创新能力和响应速度。 而就在这时,一款由合合信息推出的新型智能终端工具——Chaterm,正在悄然颠覆这一现状。它不仅是一款跨平台终端工具,更是业内率先引入 AI Agent 能力 的“会思考”的云资源管理助手。

  本文介绍了Spring AI框架如何帮助Java开发者轻松集成和使用大模型API。文章从Spring AI的初探开始,探讨了其核心能力及应用场景,包括手动与自动发起请求、流式响应实现打字机效果,以及兼容不同AI服务(如DeepSeek、通义千问)的方法。同时,还详细讲解了如何在生产环境中添加监控以优化性能和成本管理。通过Spring AI,开发者可以简化大模型调用流程,降低复杂度,为企业智能应用开发提供强大支持。最后,文章展望了Spring AI在未来AI时代的重要作用,鼓励开发者积极拥抱这一技术变革。

  本方案针对船厂复杂工业场景,设计了五层分布式AI安防系统架构:数据采集层(海康摄像头+气体传感器)、预处理层(动态光照补偿)、特征引擎层(YOLOv8s检测+ESRGAN增强+ByteTrack跟踪)和规则决策层。同时,实现交通违规检测、龙门吊防撞及人员滞留监测等关键模块,并通过两阶段小目标检测、工业干扰优化与边缘计算加速解决工程挑战。系统采用边缘-中心协同架构,支持REST API与MQTT/ZMQ通信,技术验证数据显示其准确率高达92.4%,障碍物识别延迟平均仅850ms。

  何谓AI编程建官网实战【01】AI编程企业官网建设实践-以优雅草星云智控为例-优雅草卓伊凡

  何谓AI编程建官网实战【01】AI编程企业官网建设实践-以优雅草星云智控为例-优雅草卓伊凡

  智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答

  智能体(AI Agent)开发实战之【LangChain】(二)结合大模型基于RAG实现本地知识库问答

  原创重磅新作tauri2.0+vite6+deepseek-v3+arco-design实战客户端AI流式聊天对话系统。整合 Tauri2.x 接入 DeepSeek-V3 大模型。支持多窗口浅色+暗黑主题、代码高亮、本地会话缓存。

  随着科技发展,人工智能成为经济转型的关键驱动力,AI数字人软件系统在各行业广泛应用。本文探讨其开发与部署策略,助力企业和开发者参考。开发策略包括需求分析、技术选型、模块化设计、数据驱动及安全性保障;部署策略涵盖硬件环境、软件配置、分布式与云端部署以及运维保障,推动系统智能化与稳定性提升。

  Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。

  Post-Training on PAI (2):Ray on PAI,云上一键提交强化学习

  革新智能驾驶数据挖掘检索效率!某国内新能源汽车未来出行领导者选择阿里云Milvus构建多模态检索引擎

  FFA 2025 新加坡站全议程上线|The Future of AI is Real-Time

关键词:实战教程

相关推荐