虽然LangGraph的功能可以组合出无限变化,但所有工作流本质上都是基于三种核心逻辑单元的组合。

📊 核心模式扩展详表

模式 核心目标与本质 关键信号词 LangGraph 核心机制 典型场景 常见子类型/变体
顺序工作流 按预定义路径执行,完成一系列步骤。 “先…然后…最后…” add_edge() 文档处理、数据ETL、固定审批链。 线性流水线:A→B→C。
带并行分支:A后同时执行B1和B2,再汇聚到C(需异步支持)。
条件路由工作流 根据动态信息选择不同执行路径。 “如果是A情况就…,否则就…” add_conditional_edges() 客服分类、内容审核、动态决策。 基于规则路由:用if-else判断。
基于LLM路由:用LLM分析并返回分支名。
基于向量路由:用嵌入相似度选择分支。
代理循环工作流 通过“思考-行动”循环,自主调用工具解决问题。 “思考需要什么工具…使用它…然后继续思考…” 循环 + ToolNode (或自定义工具节点) 能上网搜索、查数据库、操作系统的智能助手。 单代理循环:经典ReAct模式。
多代理协作:多个具备不同能力的代理循环,通过路由或顺序协作。

🔄 核心模式的衍生与组合

正如上表所示,复杂的应用都是基本模式的组合。下图展示了一个更复杂的 “路由 -> 代理”组合模式 的工作流程,它完美体现了基本模式的嵌套:

如何理解这个组合图:

  1. 第一层是条件路由:根据输入,决定派往哪个处理分支。

  2. 第二层是代理循环技术客服代理账单查询代理各自内部都是一个完整的“思考-行动”循环,他们会自主调用知识库、数据库等工具来解决问题。

  3. 最后是顺序汇聚:各分支处理完成后,都汇聚到汇总/记录节点,然后结束。

💡 高级模式/特性(非独立新模式)

还有一些重要的概念,它们不是独立的工作流模式,而是增强现有模式能力的特性或设计模式

概念 本质 服务于哪种核心模式 关键作用
子图/嵌套图 图的模块化。将复杂节点内部再封装为一个完整的子图。 三者均可 管理复杂性,实现层级化、可复用的业务模块。
持久化与检查点 状态记忆与回溯。将图运行到某节点的状态完整保存。 代理循环、长周期顺序流 实现长对话记忆、工作流中断恢复、版本回溯。
人工审核节点 人机交互。在流程中暂停,等待人工输入或确认。 顺序流、条件路由 关键决策点加入人类判断,构建人机协作流程。
异步执行 性能优化。让多个节点或工具调用并行执行。 顺序流(带分支时) 提升工作流整体执行效率。

✅ 实战选择清单

当你面对一个新项目时,可以按顺序问自己:

  1. 任务可以拆解成一系列固定步骤吗?

    • 是 -> 以 顺序工作流 为骨架。

    • 否 -> 进入问题2。

  2. 任务需要根据输入内容,走完全不同的处理逻辑吗?

    • 是 -> 以 条件路由工作流 为骨架。

    • 否 -> 进入问题3。

  3. 任务目标是否需要一个“智能体”去自主规划并调用外部工具(API、搜索、计算等)来实现?

    • 是 -> 以 代理循环工作流 为骨架。

    • 否 -> 你可能只需要一个简单的单次LLM调用。

  4. 你的骨架流程中,某一步骤是否本身就很复杂?

    • 是 -> 在该步骤中,嵌套另一种模式(例如,在顺序流的“处理”步骤中,嵌入一个代理循环)。

✍️ 总结

所以,答案是:从原子逻辑上看,只有三种核心模式。但通过组合与增强,你可以描述和构建任意复杂的AI工作流。

掌握这三种模式,就像掌握了编程中的顺序执行、条件判断和循环这三种基本结构。任何复杂的程序,最终都是由它们构建而成。

你目前正在构思的工作流,更接近哪一种核心模式,或者哪种组合模式呢?分享出来,我们可以直接以它为案例,进行具体的设计。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐