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