2026 · 07 · 25 10:20

LangGraph 怎么用?五步把任务拆成一张图

LangGraph 怎么把一个活拆成一张图?五步:定状态 State(从头带到尾的工单)、切节点 Node(一个工位只干一件事)、连边 Edge 加条件分岔、铺 checkpoint 存档点、在花钱删数据等关口插真人闸门。视频拿 Klarna 客服工单走一遍完整流程,并说清什么活不值得画图。

同期发布在

这期讲了什么

文字稿

一个活,五步拆成一张图

上一期我用医院打过比方,说 Graph 这条路就是 AI 干活也画张流程图,一站管一件事,要命的关口得真人签字。那期聊的是是什么、跟 Loop 怎么选。今天不重复那个,再往前迈一步——一个活儿摆在你面前,你怎么一步步把它拆成一张图。这期是给想动手的人准备的,我拿最有名的那个开源框架 LangGraph 当例子,它现在更到 1.2.9 版了,是这条路上市面上用得最多的一个。

拆图这件事,我总结成 5 步,顺序别弄乱。

第一步,先把咱那张工单定下来。行话管它叫状态,State。它就是一本从头带到尾的病历,每一站都能翻,都能往上写。动手之前你得先想明白这张工单上有哪些栏——用户问的啥、查到的资料、写出来的草稿、审核的意见。栏没想明白,后面每个工位都乱抓数据。这本工单还有个讲究:有的栏是覆盖的,来一条新的就把旧的盖掉,比如当前状态;有的栏是累加的,像聊天记录,一句一句往下续。哪栏覆盖、哪栏累加,你也得在画单子的时候就定死。

第二步,把活儿切成一个个工位。行话叫节点,Node。一个节点就是一个只干一件事的小工位:查资料是一站,起草是一站,打分是一站,改写也是一站。你要是发现一个节点里塞了 3 件事,那就是没切干净,拆开它。中间这些工位干的活儿来来回回就 3 类:叫一次模型,调一次工具,或者自己写段代码算一下。另外有一头一尾两个工位不用你操心,图从入口进,从终点出,中间才是你排的活儿。

第三步,把工位连起来,还得在路口装上分岔。工位之间的箭头,行话叫边,Edge。最简单的边是死的:A 干完铁定走 B。可真实活儿总有岔路口,这就得用条件边——到了路口,瞅一眼工单上写了啥,再决定往左还是往右。审核过了走发布,没过打回重写,就是这么个岔。这一步的窍门:把往哪走的判断从工位里搬出来,挪到路口上。背后就是一个小小的看路函数,工位一干完,它瞄一眼工单,吐出下一站的名字。这么一来,工位只管埋头干自己那件事,路怎么走全交给图来管。

第四步,给每一站装上存档点。行话叫 checkpoint。每走完一站,就把整本工单拍张照存下来。跑到一半断了,从最近的存档接着来,不用从头跑。第七站发现错了,回档到第六站重来。存档还有个附带好处:换个会话过两天再回来,它还记着上回聊到哪儿,跨着聊天都能接上。而且下一步那道真人闸门能停下来等人,靠的就是这个存档垫底。

第五步,在要命的关口插一道真人闸门。哪些算要命?花钱的、对外发消息的、删数据的。在这种工位前头卡一道关,图跑到这儿先停,把控制权交到人手上。你点头它接着走,你不点它就停那儿等着——工单已经存好档了,等多久都不丢。这道关平时就干 3 件事:批高风险的动作,纠模型写岔的地方,补它缺的那点信息。

5 步说完:先定工单,再切工位,再连边装分岔,再铺存档,最后插真人关。把这个顺序记住,你心里就有拆图的章法了。

图长什么样,跟着一张工单走一遍

图可不是只有一种模样。最简单的,直线链:几站一字排开,A 到 B 到 C,不拐弯,适合步骤定死的活儿,比如固定格式的抽取、走流程的审批。复杂一点,条件分岔:路口看工单分流,一个客服问题进来,先判是退款还是查物流,再分到不同支线上去。

再往上,图里带环:一条边指回前面的工位,转圈。比如写完让另一个工位打分,不合格就打回去重写再打分,来回磨到合格才放行。这就是图比老式直线链强的地方——它允许你把一段路走回去,转着圈磨。

还有并行扇出:从一个工位分出好几条边同时开跑,比如一口气检索 3 个来源,跑完再汇到一起;也可以让 3 个工位各写一版方案,最后投票挑最好的那一版。最后一种,子图:把一整段图打包成一个工位塞进更大的图里。做多智能体经常这么干——一个研究子图,一个写作子图,主图负责来回调度它们。

光说形态太干,我拿一张客服工单把 5 步串一遍。Klarna 这家公司的客服助手,就是拿 LangGraph 搭的。一个退款请求进来,先落到工单上:谁问的、要退哪笔、金额多少。第一站是分诊——这里用条件边,判出来是退款,就分到退款支线。第二站查订单,这是个工具调用,把这笔单子的详情写回工单。第三站起草回复,让模型照着工单里的信息写一段答复。到这儿要紧关口来了:退款金额要是超过一个数,图不往下发,先插一道真人闸门,停下来等主管点头。主管点了,才走最后一站,把回复和退款发出去。金额小的就不惊动人,直接放行。

你看,一张工单从进到出,5 步全用上了:工单是状态,每一站是节点,分诊那个路口是条件边,中途能停能续靠的是存档点,超额那道关是真人闸门。整个过程你还能盯着它一站一站走,哪步慢了、哪步卡在等人,一眼就能看见。像 Replit、Elastic 这几家公司,也都在拿它搭自己的生产流程。

什么活别画图,普通人能拿走什么

讲到这儿你可能觉得,图这么能干,那都画上图得了。打住,我得泼盆冷水。图有它的代价,就俩字:预先设计。节点、边、工单上的栏,你得提前一样一样想清楚画出来。这是它可靠、可存档、可插人的本钱,也是它的包袱。要是一个活儿本身步骤就不固定、纯探索、走一步看一步,你硬给它套张图,反倒把手脚捆住了。

再说一层,不少活儿根本不配画图。单轮问答、一次性的抽取、一个提示词就能搞定的小活儿,你画什么图,直接调一下就完事了。做 Claude 的那家公司 Anthropic 写过一篇很有名的教搭智能体的文章,里面有句话我特别同意:先找最简单能用的方案,需要时才加复杂度——很多时候你根本不用搭什么智能体系统。那篇文章还有一条我也很服气:让 AI 的每一步都露在明面上,别搞成黑箱;就算你上了 LangGraph 这类框架,也得搞懂它底下那几行代码在干嘛,对框架瞎猜,是新手最常摔的跟头。

所以拆图之前先问自己一句:这活儿值不值得画图?步骤多、要分岔、要留痕、要人把关的,值。一锤子买卖的简单活儿,不值,别折腾。小活儿、探索的活儿,用 Loop 放手让它自己转;要紧的、要留痕的活儿,才轮到今天这套画图的功夫。

那不写代码的普通人能从这一期拿走点啥?我给 2 条。头一条,是一套拆活儿的脑子。以后碰上一个复杂任务,别一股脑丢给 AI 让它自己闷头干。你先在脑子里把它画成图——这活儿分几站?哪一站完了要看情况分岔?哪一步错了我得能倒回去?光是这么拆一遍,你把活儿交出去的时候心里就有谱得多。

第二条,给自己留一道关。花钱的、对外发的、不可逆的动作——转账、发邮件、删文件——你就当那是图里的真人闸门,自己按下确认键再放行。你不用会写代码,这道关就是你亲手给自己的 AI 任务装上的那道闸。

收个尾。用图搭工作流就这 5 步:定工单、切工位、连边分岔、铺存档、插真人关。图的好处全建立在你愿意提前画好这张图上——要紧的、多步骤的、要留痕的活儿值得画;一锤子的简单活儿,别画。

常见问题

LangGraph 的节点和边是什么?

节点(Node)是一个只干一件事的小工位:查资料、起草、打分、改写各是一站,干的活就三类——叫一次模型、调一次工具、写段代码。边(Edge)是工位之间的箭头,条件边会在路口看一眼工单再决定往哪走,把「往哪走」的判断从工位里挪到路口上。

LangGraph 里的 checkpoint 有什么用?

checkpoint 是存档点:每走完一站就把整本工单拍张照存下来。跑到一半断了能从最近存档接着跑,发现错了能回档重来,换个会话过两天还能接上上次进度,真人闸门能停下来等人也靠它垫底。

什么任务适合用 LangGraph 画图?

步骤多、要分岔、要留痕、要人把关的活值得画,比如客服退款、多步审批。单轮问答、一次性抽取、一个提示词能搞定的小活别画——图的代价是预先设计,纯探索、走一步看一步的活套上图反而捆住手脚,那种用 Loop 放手让它自己转更合适。

LangGraphAI 工作流智能体工作流编排Graph
专题 Agent Harness 与 Loop 工程