LangGraph 构建 AI Agent 工作流:从状态机到智能客服(零基础 Python 教程)
📌 新手提示:本文结尾提供了一键脚本(Windows / macOS / Linux 通用),会自动装好依赖、配好 API Key、生成可直接跑的"客服分流"Demo。动手党直接拉到文末。 导读:为什么需要 Agent “工作流”? 你可能用过 ChatGPT 或 Claude——你问一句它答一句,这叫单次问答。它的"大脑"不知道你是连续对话里的第几句,也不知道上一轮说过的话,除非你把历史记录一起发过去。 但现实中的 AI 应用往往不是简单的"一问一答"。客服系统需要先判断用户意图(咨询?投诉?退款?),再路由到不同处理流程;翻译助手需要先提取原文、翻译成目标语言、再做格式润色。AI Agent 的工作流就是把一系列步骤编排成一张"流程图"——每一步的输出一部分交给下一步,像流水线一样传递信息。 这篇教程教你用 LangGraph 来做这件事。LangGraph 是 LangChain 团队开源的状态机框架:你把业务逻辑拆成"节点"(函数),用"边"把它们连起来,遇到分支就加"条件边"让 LLM 自己决定走哪条路。一句话总结——用状态机的方式组织 AI 的流程,而不是写一堆 if-else。 📚 参考文档:https://github.com/langchain-ai/langgraph(GitHub 主页,国内访问可能需要镜像:ghfast.top/https://github.com/langchain-ai/langgraph)。官方文档:https://docs.langchain.com。 一、核心概念速览(3 分钟看懂术语) 术语 白话解释 StateGraph(状态图) 你的整个工作流程的"蓝图"——规定了有哪些步骤、每步怎么处理数据 Node(节点) 一个个功能小函数(比如"分类用户意图"、“调用大模型回答”) Edge(边) 节点的连接线——“做完 A 之后去做 B” Conditional Edge(条件边) 带条件的分叉路口——让 LLM 判断:“根据当前内容,决定去节点 X 还是节点 Y” START / END 固定入口和出口。每张图必须有明确的起点和终点 compile() 把画好的蓝图变成可运行的程序(类似 Python 编译代码) invoke() 执行程序、给它输入数据 checkpointer(检查点) 记忆的"记事本"——记住上一次聊到什么,下次接着来 MessagesState:这是 LangGraph 内置的一种状态类型,自带一个消息列表(messages),每次调完 LLM 的结果自动追加进去。相当于给每个节点都发了同一份"聊天记录"。 ...