Prompt Chaining(提示链)
Prompt Chaining(提示链) 是一种 Agentic System Patterns(智能体设计模式)中的工作流模式。核心思想是:将复杂任务分解为一系列顺序子步骤,每次 LLM 调用只处理上一步的输出,而不是试图一次完成全部内容。
这是五种主要工作流模式中最简单的一种,也是理解其他模式的起点。
工作机制
典型的 Prompt Chain 流程:
flowchart LR
In((输入)) --> C1[LLM Call 1]
C1 -->|Output 1| G{Gate}
G -->|Pass| C2[LLM Call 2]
C2 -->|Output 2| C3[LLM Call 3]
C3 --> Out((输出))
G -.->|Fail| Exit((Exit))
其中 Gate(门控) 是可选的程序检查点——在将上一步输出传入下一步之前,用代码逻辑验证是否满足继续条件。Gate 不依赖 LLM 判断,而是用确定性程序逻辑(如正则匹配、Schema 校验、数值阈值)保证流程正确。
为何分步比一步更好
直觉上,一次 LLM 调用完成所有事似乎更高效。但 Prompt Chaining 的核心逻辑是:每次让 LLM 做更简单的任务,反而能提升整体精度。
原因有三:
- 注意力集中:模型在单次调用中同时处理过多目标时,容易顾此失彼;分步让每次调用聚焦一件事
- 中间验证:Gate 在每步产出后立即检查,比让错误随链条传递要早发现、早纠正
- 输出格式控制:每步可以有自己的输出格式约束,减少 LLM 需要同时记住的约束数量
代价是延迟增加:链条越长,总时间越长(每步串行等待)。适合精度优先、延迟不敏感的场景。
适用场景
- 任务可以清晰分解为固定的子步骤,且子步骤之间有明确的前后依赖
- 追求以延迟换精度,对响应速度不敏感
- 需要在某些中间步骤用程序逻辑做质量控制(Gate)
典型示例(Anthropic 给出的例子):
- 先生成营销文案,再翻译成另一种语言(翻译只在内容确定后才有意义)
- 先生成文档提纲,用程序检查提纲是否满足某些标准(Gate),再按提纲写全文
与并行化的区别
Prompt Chaining 是串行的:每步等待上步完成。Agentic System Patterns(智能体设计模式)中的 Parallelization 模式则是并行的:独立子任务同时执行。
选择依据:如果子任务之间有依赖(下游需要上游结果),用 Prompt Chaining;如果子任务相互独立,用 Parallelization。
与 ReAct 的区别
ReAct 也是顺序执行,但子步骤在运行时动态决定(每步推理后决定下一步)。Prompt Chaining 的步骤则是设计时预先固定的。
Prompt Chaining 更像流水线,ReAct 更像动态导航。
在更大框架中的位置
Prompt Chaining 是 Agentic System Patterns(智能体设计模式)中最基础的工作流模式。可以与其他模式组合:
- 链条中的某一步可以用 Parallelization 并行完成
- 链条的某一步可以用 Evaluator-Optimizer 循环精修
- 多个链条可以通过 Routing 分流,导向不同的子链
相关概念
- Agentic System Patterns(智能体设计模式) — 五种工作流模式的总览
- Evaluator-Optimizer(评估器-优化器) — 另一种循环迭代精修的工作流
- ReAct — 相关的顺序执行模式,但步骤动态决定
- Plan-and-Execute(规划与执行) — 先规划后执行,与 Prompt Chaining 串行思路不同
- Context Engineering(上下文工程) — 管理链条中逐步积累的上下文