于飞
发布于 2026-04-18 / 1 阅读
0
0

别再被AI新词忽悠了:图编排、DeepAgents、ReAct到底是什么关系

起因:一个关于DeepAgents的疑问

最近研究AI Agent开发时,接触到了LangChain团队开源的deepagents框架。官方介绍里提到它基于"图编排"实现,能处理复杂长周期任务。这让我产生了一连串的追问:

图编排是什么?和传统工作流的分支有什么区别?我自己写while循环加if分支不也能实现吗?这不就是ReAct范式吗?

经过一番研究,我发现了一个真相:这些花哨的新词,本质上都是在给朴素的分支、循环、状态管理穿上一层学术外衣。

一层层剥开这些新词

图编排:带存档功能的while循环

当框架说"图编排"时,翻译成人话就是:

把程序拆成节点(函数)和边(跳转条件),运行时允许在节点之间来回跳跃。

从代码层面看,LangGraph的"图"长这样:

graph = StateGraph()
graph.add_node("agent", 调用LLM思考)
graph.add_node("tools", 执行具体工具)
graph.add_conditional_edges("agent", 根据LLM输出决定去哪)
graph.add_edge("tools", "agent")  # 这行是关键:允许回头

如果是传统工作流引擎,add_edge("tools", "agent")这行会直接报错——因为工作流要求DAG(有向无环图),不允许循环。而LangGraph允许,所以叫"图编排"而不叫"工作流编排"。

但如果你自己写代码,这就是一个while循环:

while True:
    action = llm.think(messages)
    if action == "END":
        break
    result = tools.execute(action)
    messages.append(result)

为什么还要用LangGraph? 因为框架帮你做了三件自己写很烦的事:

  1. 断点续传:任务跑了几小时中断了,能自动从断点恢复
  2. 人工介入:需要确认时释放CPU,等人响应后再继续
  3. 可视化调试:把循环过程画成图,方便排查问题

DeepAgents:配齐装备的ReAct豪华版

ReAct是Agent开发的经典范式,核心就是思考→行动→观察→再思考的循环。

deepagents没有发明新范式,它只是给ReAct加了四个开箱即用的工具:

内置工具 作用 对应ReAct的哪个环节
规划工具 write_todos 把思考过程写成待办清单 把隐式的Thought显式化
文件系统 处理长文本时自动存文件 给Observation加存储能力
子智能体 把子任务派发给独立Agent Action的并行化
持久化记忆 跨会话记住用户偏好 扩展Observation的时间范围

其中最有意思的是write_todos。传统ReAct的"思考"是存在模型上下文里的,窗口一满就丢了。deepagents把它变成了工具调用的结果,写在"纸上",断了能续、错了能改。

所以deepagents = ReAct + 四个内置工具 + 图编排引擎

规划范式:从替代品变成插件

你可能听过"Plan-and-Execute"这种独立的Agent架构——先规划好完整步骤,再逐步执行,过程绝不修改计划。

deepagents没有采用这种死板的方式,而是把"规划"降级成了一个工具。模型可以在执行过程中随时调用write_todos更新计划——发现某步做完了就划掉,遇到阻碍就重写后半部分。

这种设计更务实:规划从"一成不变的圣旨"变成了"可以随时改的草稿"

新词速查表:翻译成朴素技术

把这些AI框架的营销词汇翻译一下:

新词 朴素翻译
图编排 带存档和可视化的 while + if
智能体 (Agent) 能自己调工具的 LLM 程序
认知架构 循环调 LLM 的流程设计
工具调用 解析 LLM 输出,执行对应的函数
状态管理 一个 dict 变量,每步自动存盘
多智能体协作 多个 while 循环,互相发消息

为什么要造这么多词?

学术圈的论文压力:不发论文就评不上职称,发论文必须有"创新点"。while循环不叫创新,叫"基于图的状态机编排"才算。

工程圈的品牌需求:框架融了几个亿,不能说"我们做了一个好用的while循环封装",得说"我们发明了认知架构"。

抽象层的命名困境:框架确实比原生代码多了自动存档、可视化、断点续传这些能力,需要一个名字来概括。"图编排"确实比"带存档功能的循环跳转管理器"好记。

保持清醒

这些框架确实有用——自动存档、断点续传、可视化调试,自己从零写确实累。但穿透词汇看本质,它们的核心技术就是你早就知道的:

分支、循环、状态、函数调用。

理解这一点后,再去学任何新框架,思路都很清晰:先找它底层是while还是for,再看它帮你存了什么状态,最后看它加了哪些语法糖。

剩下听不懂的词,一半是营销,一半是学术八股,不用太当真。


评论