很多人一聊 Agent 框架,第一反应就是:

LangChain、LangGraph。

这当然没问题。
因为它们在很多场景里确实很好用,尤其是:

✅ 工具调用
✅ 多步骤任务执行
✅ RAG 链路编排
✅ 状态管理
✅ 持久化执行

但最近我越研究越觉得一个问题很关键:

⚠️ 不是所有真实场景,都适合硬拆成工作流

  • 很多 AI 产品,尤其一旦进入真实业务,问题就来了

✅ LangGraph 强在哪?

先说结论:

LangGraph 更擅长“任务流编排”

它适合那种路径比较明确的问题,比如:

📌 审批流
📌 表单补全
📌 售后流程
📌 订单查询
📌 RAG:检索 → 重排 → 生成
📌 多工具串联调用

这类任务有个共同点:

可以拆成 节点 + 状态 + 路由 + 条件边

也就是说,流程是相对清晰的。
你知道下一步大概率会发生什么,也知道异常情况大概怎么兜底。

所以这类场景,LangGraph 很强,甚至很适合生产落地。


❌ 但真实产品,很多时候根本不是“流程型”的

问题就在这。

很多人前期做 demo,会觉得工作流特别顺。
但一旦往真实业务走,就会越来越发现:

用户根本不会按你的流程说话

尤其是这些场景:

💬 智能客服
💬 销售顾问
💬 导购助手
💬 问诊助手
💬 企业内部 AI 助手

用户经常会出现这种情况:

一句话里同时提多个意图
说着说着突然改需求
中途插入别的话题
不按你设计好的槽位顺序表达
前一轮在问 A,下一轮突然跳到 B
系统还得自己判断:现在该调什么工具、遵守什么规则、优先回什么内容

这时候,如果你还想把所有情况都提前画成图,后面会越来越痛苦。


🤯 纯工作流思路,最大的问题是什么?

我觉得核心就两个。

1. 图会越来越肿

刚开始你画流程图的时候很优雅:

A → B → C
条件1走 D
条件2走 E

看起来很清晰。

但只要业务一复杂,马上就会出现:

🔁 回退分支
🔁 澄清分支
🔁 兜底分支
🔁 合规分支
🔁 异常分支
🔁 多意图分支

最后图会越来越大,维护成本直线上升。


2. 行为修改,最后变成结构修改

这点在真实项目里特别明显。

很多时候产品经理说的只是:

“这里再加一条规则吧”
“这种用户要优先这么回答”
“遇到这个情况不要调那个工具”

听起来只是行为变化。

但如果你全靠流程图来承载,最后往往会变成:

改状态
改节点
改条件
改路由
改异常处理

也就是说:

本来是业务规则变化,最后变成了图结构变化

这就是为什么很多项目前期图很好看,后期越来越难维护。


🧠 那 Parlant 的思路是什么?

我觉得它最有意思的一点就是:

它不是先定义“整条流程怎么走”

而是先定义“当前该遵守什么行为规则”

这个差别非常大。

它更关注的是:

当前这轮对话里,哪些规则应该生效?
当前这轮,哪些工具应该开放?
当前这轮,需要注入哪些上下文?
当前这轮,哪个意图优先级更高?
当前这轮,系统应该怎么说?

这个视角,和传统工作流思路不一样。


🔍 说白了,Parlant 更像是在做“对话控制”

而不是单纯做“任务编排”。

这是我最近理解它时,感受最深的一点。

很多人理解 Agent,只停留在:

怎么把多个工具串起来

但真实产品里,很多更难的问题其实是:

面对开放式用户输入,系统到底该怎么表现?

比如:

什么时候该追问?
什么时候该拒答?
什么时候该先处理投诉,再处理推荐?
什么时候该换一种话术?
什么时候该把某些工具隐藏掉?

这些问题,本质上不是“流程执行”问题。
而是行为控制问题。


📦 它解决的是:动态上下文装配

这个点我觉得特别重要。

很多人做 AI 产品时,最容易犯的一个问题就是:

把所有规则全塞进 system prompt

看起来很稳,实际上问题很多:

❌ prompt 越来越长
❌ 规则互相打架
❌ 模型注意力分散
❌ 成本越来越高
❌ 并不是每条规则都和当前轮相关

而 Parlant 更像是在做一件事:

每一轮都动态判断,当前真正需要什么

比如:

当前哪些规则相关
当前哪些工具可用
当前哪些业务术语需要注入
当前哪些背景知识要带上
当前哪些内容不该进入 prompt

这就不是“一套超长提示词打天下”了。

而是:

一轮一轮地做 context engineering

这一点,其实特别适合真实业务产品。


🚗 举个非常真实的例子

比如用户说:

我想看看这款车还有没有现货,如果没现货给我推荐同价位的,另外我上次投诉那个销售一直没回我。

这句话里其实同时包含了:

库存查询
替代推荐
投诉升级

而且还不一定有固定顺序。

这时候如果你用纯工作流思路去覆盖,流程图会很复杂。
因为你得提前设计很多分支。

但如果是 Parlant 这种思路,它会更自然地处理:

✅ 当前识别到了多个意图
✅ 判断哪个优先级更高
✅ 当前该激活哪些规则
✅ 当前该开放哪些工具
✅ 回复里先处理投诉,再处理推荐还是先查库存

这个就更接近真实对话系统。


🏗️ 所以我现在更认可一种“分层思路”

我觉得真正落地时,不是:

LangGraph 对
Parlant 错

也不是:

Parlant 出来
LangGraph 就没用了

而是:

它们解决的问题,本来就不是同一层


上层:Parlant 管“怎么聊” 💬

负责的是:

当前轮行为控制
当前规则激活
当前上下文装配
当前意图优先级判断
当前该如何说
当前该开放哪些工具


下层:LangGraph / LangChain 管“怎么执行” ⚙️

负责的是:

工具流编排
RAG 检索链路
API 调用
状态持久化
失败重试
Human-in-the-loop


📌 我现在的理解很简单

LangGraph 更像“执行层”

它解决的是:

任务怎么跑

Parlant 更像“对话控制层”

它解决的是:

当前该怎么聊

前者偏工程执行,后者偏对话行为控制。


🚨 真正难的,不是流程,而是开放对话下的行为控制

很多人做 Agent,最开始都在研究:

工作流怎么编排
工具怎么串
节点怎么拆
图怎么画

但真到了产品阶段,往往更难的是:

面对不按套路出牌的用户,系统到底该怎么控制行为?

这时候你会发现:

工作流不是万能抽象

conversation-level 的 context engineering,才是很多真实场景的关键


✅ 我的结论

如果让我一句话总结:

LangGraph 解决的是“任务怎么跑”

Parlant 解决的是“当前该怎么聊”

真实生产里,二者很可能不是二选一,
而是组合使用。


💭 最后聊聊你怎么看

我现在越来越觉得:

做 Agent,前期大家都在拼流程。

到了后期,拼的其实是行为控制。

你们更看好哪种路线?

1️⃣ LangGraph 这类工作流编排

2️⃣ Parlant 这类对话控制框架

3️⃣ 两层结合,行为控制 + 执行编排


备注:

这篇先把思路讲清楚。
如果大家希望我下一篇继续往下拆,

我可以直接做:

手撕代码 + 从0讲解 + 企业级项目落地实战

不是停留在概念层,
而是真的带大家看怎么从:

框架理解
架构设计
核心模块
到代码实现

一步一步搭起来。

如果大家想看,欢迎评论区留言支持一下。
想看的人多,我就开直播,从代码开始完整讲。

更多推荐