Prompt

链式提示(Prompt Chaining)

一、概念

把一个复杂任务拆成多个子任务,每个子任务一个提示词,上一步的输出作为下一步输入的一部分,串成一条链输出最终结果。

本质:串行拆解——不是用一个超详细的大提示硬扛,而是”分而治之”,每步只做一件明确的子操作。

二、类型

维度单个复杂提示链式提示
任务复杂度LLM 可能撑不住靠拆分逐步完成
透明度黑盒,难定位问题每步可单独检查、定位是哪一环节出错
控制性中间过程不可控可对中间结果做转换/清洗
可靠性一步错全错分阶段验证、改进
索引性无法定位能分析改进每个阶段的性能

三、机制

任务 → 子任务1 → 子任务2 → ... → 子任务N → 最终结果
        (提示1)    (提示2)         (提示N)
          ↓输出      ↓输出            ↓输出
        作为提示2输入  作为提示3输入   作为最终回应

两个关键点:

  1. 提示链对生成的回应执行转换或其他处理,直到达到期望结果。
  2. 拆出的每一步都是一个独立可验证的环节——这是”控制性、透明度、可靠性”的来源。

四、实例

一个典型的”多操作/多转换”场景。长文档问答被拆成两步:

步骤 1 — 提取(Extraction)

  • 任务:从文档中找出与问题相关的引文
  • 输出要求:用 <quotes></quotes> 标记包裹的引文列表;找不到就回”未找到相关引文!”
  • 用 #### 包裹文档占位符 {{文档}}

步骤 2 — 生成(Generation)

  • 输入:<quotes></quotes> 里的引文 + 原始文档(#### 分隔)
  • 任务:基于引文构建准确、友好、有帮助的回答

可扩展的第三步(练习版)

作者提示可以再加一个提示,在最终回应发给用户前移除引用标志(如 [27])——即”清洗/后处理”环节,进一步验证”每一步都是独立转换”的设计思想。

模型/上下文说明

  • 长上下文任务用了 gpt-4-1106-preview(也适用于 Claude 等长上下文 LLM)
  • 灵感来源于 Anthropic 的 prompt-chaining 文档

五、场景

  • 文档问答/长文本处理(提取 → 生成,多步转换)
  • 构建 LLM 驱动的对话助手
  • 提升个性化用户体验的 App
  • 任何需要多个操作/多次转换才能完成的任务

链式提示是把复杂任务串行拆成子任务,上一步输出喂给下一步,逐步转换直到最终结果。

分四点:

  1. 为什么:复杂任务单个提示撑不住;拆开能提升性能、透明度、控制性、可靠性。
  2. 怎么做:确定子任务 → 每步写一个提示 → 输出作为下一步输入的一部分。
  3. 典型例子:文档问答拆成「提取引文 → 基于引文生成回答」两步。
  4. 适用:对话助手、个性化体验、需要多步转换的任务。

一点研究向思考

  • 链式提示是”流程控制”层面的设计,不同于 CoT 那种”单次推理内”的引导——链式是在多次调用之间编排,CoT 是在一次调用内部引导推理。
  • 拆链时每一步的输出格式要结构化约束(如 <quotes> 标记),否则下一步输入会脏(如引用标志 [27] 污染)——这引出了”清洗步骤”作为独立环节的设计。
  • 与 Self-consistency(同题多次采样+投票,偏并行)相对,链式提示是串行的;两者可组合。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇