8.2 从链到图:流程编排进化

本节通过一个典型生态的演进路径,解释智能体框架为何从“链式调用”走向“图编排/状态机”:前者上手快,后者更适合表达循环、分支、回退与检查点等生产级控制流。

8.2.1 从链式调用到图编排

早期:链式编排

早期框架的核心抽象常是 链(Chain)——将多个 LLM 调用串联起来:

# 早期的链式调用

from langchain import LLMChain, PromptTemplate

chain = LLMChain(
    llm=llm,
    prompt=PromptTemplate.from_template("将以下文本翻译成{language}: {text}")
)

result = chain.run(language="英文", text="你好世界")

问题:Chain 是线性的,无法表达分支、循环和复杂的控制流。

中期:引入智能体执行器

为了支持智能体的 ReAct 循环,一些框架引入了“智能体执行器”抽象:

问题:执行器往往是“黑盒”,难以定制控制流、添加中间步骤或实现人工审核节点。

现在:图编排/状态机

图编排把工作流建模为 有向图,提供更强的控制力:

使用示例

具体示例如下:

8.2.4 高级特性

子图

将复杂逻辑封装为可复用的子图:

流式输出

具体示例如下:

8.2.5 小结

图编排框架的核心优势:

特性
说明

图结构

支持循环、分支、并行

状态管理

类型安全的状态传递

检查点

支持暂停、恢复、回放

人机协同

原生支持 Human-in-the-loop

可观测性

可与日志/指标/追踪系统集成

这类图编排框架适合构建生产级智能体,下一节将讨论数据/RAG 驱动的框架形态。


下一节: 8.3 数据驱动的 RAG 框架

Last updated