LangGraph 智能体框架
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/langgraph-zh。
技能介绍
为什么用图而不是「一条链」
多步智能体一旦涉及工具调用、分支决策和可恢复会话,纯 Prompt 链或隐式循环很难看清执行路径,也容易出现无出口循环或状态丢失。LangGraph 把流程建模为有向图:节点做一步工作,边(含条件边)决定下一步,状态在边上流动并可持久化——这和生产环境里「可观测、可调试、可断点续跑」的需求是对齐的。
技能会怎么引导你
本技能以 LangGraph 智能体架构师 视角工作,重点包括:
- 图构建:用
StateGraph定义节点与边,把 ReAct 式「推理 → 调工具 → 再推理」落成清晰结构 - 状态与归约器:多节点更新同一状态时,用自定义 reducer 合并更新,而不是各自覆盖
- 条件路由:根据状态字段选择不同路径(例如任务完成、
END,或继续agent) - 检查点与持久化:配合 checkpoint 恢复对话与长任务
- 人在环路:在关键节点插入人工确认或补全
- 工具集成与异步:工具绑定、流式与异步执行
常见模式包括:带工具的单一智能体、共享状态的 multi-agent 更新、以及多工作流分支。技能也会明确反模式——例如必须在路由里设 退出条件(迭代上限、task_complete、超时),避免只循环不设 END;节点应返回状态更新而非「无状态函数」;状态体不宜臃肿,宜用输入/输出模式与私有字段分离关注点。
适用边界
当前以 Python 3.9+ 与 langgraph 包为主(TypeScript 仍偏早期)。需要理解图与状态归约的概念,调试复杂图时仍要借助 tracing 与可视化。与 crewai、autonomous-agents、langfuse、structured-output 等技能组合时,LangGraph 更适合担任显式编排与状态机那一层。
使用场景
- 要把带工具调用的 ReAct 智能体落成 StateGraph,并在路由里设迭代上限与 END,避免线上无出口循环耗 Token
- 多个节点或子智能体同时更新同一会话状态,需用自定义 reducer 合并消息、计数等字段而非互相覆盖
- 同一任务入口需按状态走不同分支(完成结束、失败重试、转人工),用条件边替代硬编码 if-else 链
- 长会话或批处理智能体需在进程重启后从 checkpoint 续跑,并保留可回溯的执行路径
适合人员
- 负责 LLM 工具智能体上线的后端工程师,需要可调试图结构与明确退出条件
- 设计多智能体协作平台的架构师,要处理共享状态、条件路由与检查点持久化
- 做审批/客服类产品工程师,需在关键节点插入人在环路再执行危险工具
- 从 LangChain 链式脚本迁移的开发者,分支与循环已难以维护且缺少会话恢复