LangGraph 介绍:可靠度与自主性的平衡
这篇是 LangGraph 专题第 01 篇——先回答「为什么还要学 Graph」,再留下选型三句话。三要素与写图放到下一篇。
小明的 Agent「太自由」了
小明把客服挂上 create_agent,工具、检索、闲聊都能聊。演示前老板加了一条硬规矩:
「制度类问题:必须先查知识库;没命中,禁止瞎编,直接拒答。」
他加了 system prompt,又叠了一层 Middleware。大多数时候听话,偶尔还是会:
小明找到老张:「LangChain 不是已经能做 Agent 和 RAG 了吗?为啥还要学LangGraph?」
老张说:”因为你现在的控制力,大半写在提示词里。提示词是软约束;企业要的拒答、必经安检,往往得变成硬拓扑。LangGraph 要解决的,正是这件事——但先别急着敲代码,把『AI 应用怎么长到今天』画清楚。”
AI 应用怎么长到「又要自主、又要稳」
老张在白板上画了三格演进:
「早期应用就是调一次模型。后来人为加步骤——检索、工具——串成 Chain,这也是 LangChain 名字的由来:跑一千次路径一样,但离『真智能体』还远。
真正的 Agent,是让模型规划工作流。问题来了——」
| 维度 | 程序控流程(Chain) | 模型控流程(Agent) |
|---|---|---|
| 稳定性 | 高,路径可预期 | 低,偶发跳步/绕路 |
| 自主性 | 低 | 高 |
| 硬约束(强制拒答等) | 好做成分支 | 多靠提示词,易漏 |
| 审计 | 路径一眼可见 | 要另记账才清晰 |
小明:”所以只能二选一?”
老张摇头:”通常只能在两端之间选平衡点。
LLM 自主控制得越多,应用稳定程度往往越小。
你要的,不是退回死链条,也不是把一切交给黑盒——而是:自主尽量留,稳定要抬上去。“
LangGraph 到底解决什么
老张在「可靠度 × 自主性」坐标上点了一笔:
LangGraph 的作用,是在保持 Agent 自主控制程度的同时,提高稳定程度。
怎么做到?核心一句话——
允许你自己定义工作流(Workflow)里的每一个 Node(节点)。
模型仍可在某个节点里做决策、调工具;但『能不能跳过检索』『无命中走哪』『要不要停给人审』,由图上的边与节点说了算。软约束变硬拓扑。」
先看一眼:节点就是你写的函数
老张写了一个最小例子——故意还不接 LLM——看看「图骨架」长什么样。
老张逐点敲:
-
State:图上流转的数据(这里是 text+steps)。 -
Node:普通函数;读 State,返回要更新的字段(部分更新),不是你手改全局变量。 -
Edge: START → normalize → shout → END——路径写死在图上,跑一万次也是这条。
「这还不是 Agent。它只回答一个问题:LangGraph 让你显式拥有工作流里的每一步。下一篇会把条件边、工具环、记忆接进来;今天先建立这个心智。」
运行程序
小明:”输入带空格的 Hello,出来大写加叹号,步骤列表也记了。这不就是函数管道吗?”
老张:”今天是管道。等你加上『分类后走天气/制度/闲聊』『有 tool_calls 就进 tools 再回来』,管道就变成路由表和循环——那是图比 a(b(c(x))) 强的地方。”
选型:三句话就够用
| 维度 | create_agent |
LangGraph StateGraph |
|---|---|---|
| 控制流 | 隐式 ReAct 循环 | 显式 Node / Edge |
| 上手 | 快 | 多写几行,换可控性 |
| 硬分支 / 强制拒答 | 提示词 + Middleware | 条件边 / 拒答节点一等公民 |
| 插审核、计费、检索闸门 | 能,但像打补丁 | 任意节点直接挂 |
| 适合 | 开放任务、工具自选 | 合规路径、可审计、固定流水线 |
老张让小明抄进笔记本——Agent vs Graph 选型三句话(本模块可验证产出):
-
工具自己选、路径可飘一点 → 优先 create_agent。 -
步骤必须可控、无命中必须拒答、要给人审 → 上 StateGraph。 -
生产常见形态 → Graph 做外壳(闸门/路由/拒答),局部节点里仍可嵌 Agent / LLM 决策。
三个常见坑(介绍阶段)
坑 1:以为学了 Graph 就要扔掉 create_agent
症状:所有 Demo 强行改成手写图,进度变慢,收益不明显。
原因:把「能画图」当成「必须画图」。
修法:开放探索期继续 Agent;出现硬约束再抽成图。二者是选型,不是替代。
坑 2:只用提示词落实「必须拒答」
症状:演示偶发瞎编,老板不信任。
原因:软约束遇强生成欲望会漏。
修法:拒答做成图上的分支节点(后文 Day5:retrieve → generate | refuse);提示词做辅助,不作唯一闸门。
坑 3:一上来就堆并行、子图、Studio
症状:概念爆炸,Hello 图都没跑通。
原因:把进阶能力塞进介绍课。
修法:本专题顺序:介绍(本篇)→ 三要素入门 → 常见 WorkFlow → 客服 Email 项目。Studio / Postgres 放选修。
总结
老张说:”第 01 篇只办一件事——让你知道 LangGraph 站在哪条坐标轴上。”
“三个核心理解:
-
演进 —— LLM → Chain(稳)→ Agent(自主);两端对拉,生产要平衡点 -
定位 —— LangGraph 用显式 Node/Edge,在尽量保留自主的同时抬高稳定度 -
选型 —— 自选工具用 Agent;硬路径与拒答用 Graph;常见是 Graph 外壳 + 局部智能”
LangGraph 专题进度:
小明合上本子:「选型三句话我背住了。下周把 State、边、条件路由写明白。」
别只训练模型『听话』。自主留给节点里的智能,稳定留给图上的拓扑。
转载请注明来源:LangGraph 介绍:可靠度与自主性的平衡







