Prompt Chain

prompt提示词2026年6月7日1

Prompt Chain(提示链/提示串联;prompt chaining)指把一个任务拆成两个或以上的提示模板按顺序执行:前一步的输出作为后一步提示的输入参数,如此迭代直到完成全部步骤(Wu et al., 2022)。

它的价值在于:把“一个大而杂的任务”拆成多个更简单、目标更明确的子任务,从而提升稳定性、可控性与可调试性。


1) 基本形式(抽象定义)

一个 prompt chain 通常长这样:

  • Prompt 1(抽取/理解/计划)→ 输出 x
  • Prompt 2(基于 x 生成/推理/校验)→ 输出 y
  • Prompt 3(润色/格式化/安全过滤/最终交付)→ 输出 final

其中每一步都有自己的 prompt template,且下一步会把上一步结果填进模板变量里(parameterize)。


2) 为什么 prompt chaining 有用

相较于单一大 prompt,一条链的优势常见有:

  • 降低认知负担:每一步只要求模型做一件事(抽取、推理、写作、校对)
  • 可控性更强:你能对关键中间产物加格式约束(JSON、表格、列表)
  • 可调试:哪一步错了很清楚,方便定位和替换某一步模板
  • 可插入工具:任一步可加入检索、计算器、代码执行、规则引擎
  • 减少幻觉:先“抽证据/列事实”,再“只基于事实回答”

3) 常见链式模式(你可以直接套用)

模式 A:Plan → Solve → Verify(规划-求解-校验)

  1. 生成解题计划/列约束
  2. 按计划求解
  3. 自检:对照约束、边界条件、单位、是否回答了问题

模式 B:Retrieve → Read → Answer(检索-阅读-作答,RAG 常用)

  1. 生成检索 query / 调用搜索
  2. 对证据做结构化摘录(带 chunk_id)
  3. 仅基于摘录回答,并输出引用

模式 C:Extract → Transform → Load(抽取-转换-落库,信息抽取常用)

  1. 从文本抽取字段(JSON)
  2. 标准化(时间、单位、枚举映射)
  3. 校验并输出可入库格式

模式 D:Draft → Critique → Revise(写作:初稿-批改-修改)

  1. 生成初稿
  2. 按 rubric 批评(列问题与改进点)
  3. 按批评重写(保留优点,修正问题)

4) 一个具体示例(两步链)

任务:根据用户需求生成会议纪要邮件,但先确保抓全约束。

Prompt 1(抽取需求与约束)

从用户输入中抽取:会议主题、时间、参与者、待办事项、截止日期、风险点。
输出 JSON,字段缺失用 null。
用户输入:{text}

输出(示例):

{
  "topic": "...",
  "time": "...",
  "attendees": ["..."],
  "todos": [{"task":"...","owner":"...","due":"..."}],
  "risks": ["..."]
}

Prompt 2(生成邮件)

你将基于以下结构化信息撰写一封会议纪要邮件。
要求:简洁、专业、列出 todos(含负责人和截止日期),不发明 JSON 里没有的信息。
JSON:{json_from_step1}


5) 工程实现要点(落地时最关键的坑)

  • 中间结果要结构化:尽量用 JSON/表格,避免自由文本导致“参数难填”
  • 每一步都要有验收标准:例如 JSON schema、必须字段、最大长度
  • 做失败分支:若 step1 缺关键字段,让 step2 先发澄清问题或走回退模板
  • 控制上下文膨胀:链长了 token 会爆;中间产物要“压缩但不丢约束”
  • 安全/合规最好单独一步:在最终输出前加“policy filter/redaction”步骤

6) 与“单轮多步骤提示”的区别

  • 单轮提示:在一个 prompt 里写“第一步…第二步…”,模型仍可能混在一起、难以约束中间产物。
  • Prompt chain:真的分多次调用,你能拿到每一步输出,做校验、修正、再喂给下一步,因此更可控、也更容易和工具/规则集成。

如果你告诉我你要串联的任务类型(RAG 问答/写作/抽取/代码/客服流程),我可以帮你设计一条 2–5 步的 prompt chain:每步模板、输入输出字段、以及失败回退策略。