🧩 模块说明:LangGraph 进阶篇 - 构建企业级智能 Agent 系统
📌 核心知识点:Human-in-the-Loop 人工干预|Graph-as-a-Tool 子图封装|Multi-Agent 多智能体协作|Supervisor 总控调度|复杂工作流编排
1. s01_human_approval.py (人工审批机制)
实现带有人工干预的智能体工作流,为敏感操作添加审批环节。
-
✅ 掌握点:
- 在 LangGraph 中使用
interrupt_before=["tools"]设置中断点 - 通过
app.get_state(config)获取工作流当前状态 - 实现用户交互审批流程,控制高危操作的执行
- 结合 MemorySaver 实现持久化状态管理
- 在 LangGraph 中使用
-
输出:
- 当智能体尝试执行敏感操作(如发送邮件)时,系统会暂停并请求用户确认
- 用户输入 "yes" 批准执行,输入其他取消操作
- 完整展示执行过程的日志和最终结果
💡 此示例适用于需要人工监督的场景,如金融交易、系统配置修改等高风险操作。
2. s02_graph_as_a_tool.py (子图工具化封装)
演示如何将一个完整的 LangGraph 子工作流封装为单个工具(Graph-as-a-Tool 模式)。
-
✅ 掌握点:
- 定义独立的子图状态结构(如
RetryState) - 构建包含重试逻辑的子图工作流
- 使用
@tool装饰器将子图封装为可调用工具 - 在主工作流中像使用普通工具一样调用子图
- 定义独立的子图状态结构(如
-
效果:
- 子图内部实现了失败重试逻辑,对调用者完全透明
- 主工作流可以无缝集成复杂的子流程,保持代码整洁
- 模拟实现了不稳定 API 调用的容错处理
💡 这种模式特别适合封装具有复杂内部逻辑的操作,如网络请求、数据库事务等可能需要重试或错误处理的场景。
3. s03_multi_agent_orchestration.py (多智能体协作系统)
构建由总控节点协调多个专家智能体的协作系统,实现专业化分工。
-
✅ 掌握点:
- 定义共享的多智能体状态结构(
AgentState) - 创建不同功能的专家节点(RAG专家、网络研究员、代码编写者)
- 实现 Supervisor 总控节点,负责任务分配和流程协调
- 为每个专家配置专属工具和系统指令
- 设计复杂的条件路由逻辑,支持多节点协作
- 定义共享的多智能体状态结构(
-
效果:
- 系统会根据用户问题自动选择最合适的专家处理
- 专家可以调用专业工具获取信息
- 总控节点监控对话进度,决定是否完成任务或切换专家
- 完整展示多智能体交互过程和决策路径
💡 此架构适用于需要多领域专业知识协作解决的复杂问题,如技术咨询、客户服务等场景。
4. s04_supervisor_agent_ops_system.py (企业级运维智能体系统)
整合前述所有高级特性,构建一个完整的企业级 IT 运维智能体系统。
-
✅ 掌握点:
- Graph-as-a-Tool:封装 SSH 日志分析子图,处理连接重试逻辑
- Human-in-the-Loop:对重启服务等高危操作实施人工审批
- Multi-Agent 协作:实现日志专家和运维专家的专业分工
- Supervisor 调度:根据问题类型和解决进度智能分配任务
- 状态持久化:使用 MemorySaver 维护跨轮次的会话状态
-
效果:
- 完整模拟 IT 故障处理流程:报警 → 日志分析 → 故障定位 → 人工审批 → 执行修复
- 自动化程度高,但保留人工干预的安全机制
- 各组件松耦合,易于扩展和维护
- 支持 LangSmith 全流程追踪和调试
💡 这是一个接近生产环境的综合示例,展示了 LangGraph 构建复杂智能体系统的强大能力。
🔔 全局注意事项
- 学习路径建议:
s01.(人工干预) →s02.(子图封装) →s03.(多智能体基础) →s04.(企业级综合应用) - 所有
.py文件均依赖根目录.env中的OPENAI_API_KEY和LANGCHAIN_API_KEY - LangSmith 追踪功能已默认开启,可在 LangSmith UI 实时查看执行流程
s04_supervisor_agent_ops_system.py是一个整合性示例,建议在理解前三个文件的基础上学习
💡 建议
- 尝试扩展
s04_supervisor_agent_ops_system.py,添加更多专业角色(如安全专家、性能分析师) - 实验不同的 Supervisor 决策逻辑,优化任务分配策略
- 将真实的运维工具或 API 集成到系统中,构建实用的运维助手
- 探索在生产环境中部署此类系统的最佳实践,如性能优化、错误处理和监控
- 考虑添加更复杂的工作流模式,如并行执行、超时处理等高级特性