# 102 分钟的 LangGraph 课，答了客户最先问的两个问题

> Harrison Chase 和 Rotem Weiss 讲透了 Agent 在哪停、由谁审批，服务器中途宕机怎么办只开了个头。

原文: https://fdetimes.net/zh/books-courses/ai-agents-in-langgraph-course-review/

客户看 Agent 演示时，最常问的问题很少是“它有多聪明”。他们问的是：它在哪里停下来？输出发出去之前由谁审批？服务器跑到一半崩了怎么办？DeepLearning.AI 的短课“AI Agents in LangGraph”把前两个问题讲得很透，第三个问题只开了个头。

两位讲师分别是 LangChain 联合创始人兼 CEO Harrison Chase，以及 Tavily 联合创始人兼 CEO Rotem Weiss。课程页标注为 Intermediate 级别，时长 1h42m，面向能写中级水平 Python、想构建更可控的 Agent 的开发者。

对前线部署工程师（FDE）来说，“可控”本身就是工作内容。把 Agent 放进客户的业务流程，却说不清它正处在哪一步，和风控团队的那场会你就过不去。

## 为什么用图，而不是链？

LangChain 在 2024 年 1 月推出 LangGraph，定位是构建在 LangChain 之上、用于搭建循环图的模块。动机很实际：在此之前，链只能一路跑到底，没有干净的办法加入循环。可每个 Agent 都需要循环：调用工具，读取结果，再决定是继续调用还是停止。

按照发布博客的说法，开发者常常需要更精细地控制执行流程，LangGraph 让他们可以把这个流程写成一个用图表达的状态机。

课程沿用了同样的思路：先用 Python 从零写一个 Agent，再把它迁移到 LangGraph。LangChain 团队自己也用 LangGraph 重写了标准的 AgentExecutor，所以这个练习不是玩具，而是框架的主要方向。

从零构建的那一课不要快进。只有亲手写过一遍工具调用循环，你才看得出 LangGraph 替你省掉了什么，也才能向客户解释为什么不再继续手写。

## 值得记住的三个观点

第一个上文已经讲过：Agent 是一个状态机。客户问“它在干什么”时，你指向图上的某个节点，而不是一大段日志。

第二个是持久化。LangGraph 文档把 checkpointer 视为四项能力的基础：连续对话、人在回路（human-in-the-loop）、时间回溯和容错。课程的 Persistence and Streaming 一课专门讲这部分，值得看两遍。

第三个是人在回路。文档对它的定义是：在任意时刻检查并修改 Agent 的状态。Human in the Loop 一课讲的正是这个。

**要点:** 客户最终信任的 Agent，是能在正确位置停下、之后还能接着跑的 Agent。

## 套到真实案例上

设想你要为一家保险公司的理赔团队做一个起草退款邮件的 Agent。图上有四个节点：读取卷宗、核对保单条款、起草邮件、发送。你在“发送”节点之前设一个停止点，让工作人员打开状态，金额有误就改正，然后放行。

再假设进程在等待审批时挂掉了。LangGraph 文档把容错列为 checkpointer 提供的能力之一。但 Agent 能否恢复，取决于状态是否保存在重启后仍然存在的地方。所以在向客户承诺任何事情之前，先确认你的 checkpointer 实际把状态存在哪里。

如果希望 Agent 不重新读取卷宗、直接回到审批点，就需要持久化的 checkpointer，而这恰恰是课程没有教的部分。

因此，第一次给客户做演示时，展示审批停止点，同时讲清楚生产环境中故障恢复需要什么。对“崩了怎么办”给出诚实的回答，比一个过度承诺的演示更能赢得信任。

智能体搜索（agentic search）一节用 Tavily 的搜索工具给 Agent 补充知识。这部分有用，但要记住，Tavily 是其中一位讲师的公司。在客户现场，数据源通常是内部系统，所以要学的是怎样把工具接到图上，而不是记住 Tavily 本身。

## 学什么、放下什么、按什么顺序

比较合理的顺序是：先读 2024 年 LangGraph 的发布博客，理解为什么需要循环；再学这门课；然后读官方文档的 Persistence 页面。如果 Python 基础还弱，先补上，因为课程默认你是中级水平。

要放下的是“学完课程就能部署”的想法。LangGraph 文档现在把它描述为面向长时间运行、有状态 Agent 的运行时，并列出了 Klarna、Uber、J.P. Morgan 等用户。但一门不到两小时的课程，教不了与之配套的运维工作：持久化 checkpointer，以及通过 store 实现的长期记忆。

求职方面，读 FDE 岗位描述时，留意“stateful agents”“human-in-the-loop”这类说法。简历上不要写“学完了 LangGraph 课程”。像“带人工审批环节、故障后可从持久化检查点恢复的 Agent”这样一句话，再附上代码仓库链接，分量要重得多。

这门课目前在平台公测期间限时免费，报名前请再确认一次。花不到两小时学会让 Agent 在正确的位置停下，投入非常小；真正的难点，是 Agent 要在客户现场连续跑上一周的时候。

**本周动手试试:**

- 学完从零构建那一课后，先在纸上把你的 Agent 画成节点和边，再动手写 LangGraph 代码
- 在会产生真实影响的节点（发邮件、写数据）之前加一个审批停止点，然后试着修改状态，再让 Agent 继续执行
- 阅读 LangGraph 文档的 Persistence 页面，记下为真实客户部署时你会选用哪种 checkpointer

## 信源

- [AI Agents in LangGraph - DeepLearning.AI](https://www.deeplearning.ai/short-courses/ai-agents-in-langgraph/)

- [LangGraph (LangChain blog)](https://www.langchain.com/blog/langgraph)

- [LangGraph overview - LangChain docs](https://docs.langchain.com/oss/python/langgraph/overview)

- [Persistence - LangChain docs (LangGraph)](https://docs.langchain.com/oss/python/langgraph/persistence)
