ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

长期跑的代理一崩溃就回不去了?LangGraph 用状态解决这个问题

长期跑的代理一崩溃就回不去了?LangGraph 用状态解决这个问题 长期跑的代理一崩溃就回不去了LangGraph 用状态解决这个问题【免费下载链接】langgraphBuild resilient agents.项目地址: https://gitcode.com/GitHub_Trending/la/langgraphLangGraph 为长期运行、有状态的 AI 代理提供低层级编排框架适合需要让代理连续跑数小时、随时被人打断介入、还要记住跨会话上下文的工程师。Klarna、Replit、Elastic 已经在生产环境使用它。 先看清长期代理的真实麻烦能跑通 30 秒的演示代理谁都会写真正的问题出现在生产里进程崩溃或网络断开跑了 10 分钟的任务只能从头再来流程走到一半想让人确认一步代理却已经一路执行到底第二天的对话里代理完全不记得昨天用户说过什么。LangGraph 的思路是把代理的整个执行过程建模成一张可执行、可暂停、可落盘的状态图节点是处理步骤边是状态流转每一步的输入输出都写入存储。崩溃后重跑、等人拍板、跨天记忆都是这个模型的直接推论而不是额外打补丁的功能。 用状态图搭一个代理先定义状态结构通常是消息列表、计数器之类再用StateGraph声明哪些节点处理这份状态、它们之间如何流转。核心实现在 libs/langgraph/ 目录其中 channels 层负责定义多个节点并发写入同一份状态时如何合并——这是多数工作流框架没有单独暴露的细节也是 LangGraph 被称作低层级编排的原因。嫌底层繁琐也没关系libs/prebuilt/ 直接提供create_react_agent、ToolNode等现成组件ReAct 循环不用手写。 三步跑通第一个代理安装要求 Python 3.10pip install -U langgraph再写一个最短的 ReAct 代理from langgraph.prebuilt import create_react_agent from langchain_openai import ChatOpenAI agent create_react_agent(ChatOpenAI(modelgpt-4o), tools[search]) result agent.invoke({messages: [(user, LangGraph 最新版本是什么)]})最后装 CLI 并在项目根目录执行langgraph dev本地 API 服务会带 Web 界面一起启动。CLI 位于 libs/cli/项目需要一个langgraph.json指明对外提供哪个 graph仓库里 examples 目录下都有现成模板可参考。 状态存到哪检查点系统崩溃后自动续跑依赖检查点机制每个超步执行完毕LangGraph 就把当前状态写进 checkpointer进程随时死掉都能从最近快照继续而不是从头开始。仓库内按实现拆分基础接口在libs/checkpoint/另有开箱即用的 SQLite 版libs/checkpoint-sqlite/和 Postgres 版libs/checkpoint-postgres/。本地开发挂 SQLite生产换 Postgres业务代码一行不用改。 随时暂停等人、跨天携带记忆两个高频生产场景LangGraph 都做成了一等能力人在环代理走到花钱发消息这类步骤时调用interrupt暂停等待审批人确认后再继续期间状态完整冻结在检查点里审批人甚至可以先修改状态再放行。长期记忆除单会话内的工作记忆外还有跨会话持久化的 Store用来存用户偏好、历史结论让第二次对话不再是初次见面。️ 让 Studio 把代理行为摊开给你看多节点代理行为诡异时第一问题永远是它到底走到哪一步了。跑langgraph dev后LangGraph Studio 会把 graph 实时画出来当前执行到哪个节点、状态沿边如何流转、每个线程的输入输出分别是什么。图中是一个示例代理_start_ → callModel → _end_的完整路径右侧面板可以看到该线程的输入参数与结构化输出调试时无需再靠打印语句猜执行顺序。 从示例走向生产examples/customer-support/ 里有一个完整的客服代理 notebook能处理多轮对话并按需调用工具examples/multi_agent/则展示了多代理协作的写法。需要说明的是这个目录官方已标记为归档性质新示例以官方文档为准仓库中的这些 notebook 作为参考实现仍然可用。上生产的路径由 CLI 铺好langgraph build把 graph 打成 Docker 镜像langgraph up一条命令起完整服务。因为状态全部外置到数据库实例本身无状态横向扩节点即可应对长期运行的工作流。下一步装好 CLI用langgraph new从模板生成项目在 Studio 里把第一个 graph 跑起来。【免费下载链接】langgraphBuild resilient agents.项目地址: https://gitcode.com/GitHub_Trending/la/langgraph创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进