Active Prompting

prompt提示词2026年6月7日1

Active Prompting(Diao et al., 2023)的目标是:不再随机/人工凭经验挑 few-shot exemplars,而是用一个“主动学习(active learning)”式流程,优先挑出模型最不确定、最容易出错的训练问题,让人类把这些问题的示例(尤其是 CoT 解释)改写得更清晰、更具指导性,最终用这些“高价值示例”去做推理,从而提升效果。


1) 核心流程(概念版)

  1. 从训练题池中选一批初始示例/问题(可以是随机种子 exemplars)
  2. 让 LLM 对这些问题进行多次采样作答(生成多条 CoT + 最终答案)
  3. 计算不确定性(uncertainty)
    论文里用的是 disagreement(答案分歧):同一道题,多次采样得到的最终答案越不一致 → 模型越不确定
  4. 挑选不确定性最高的若干题(top-N)
  5. 请人类标注者“重写这些 exemplars”
    通常包括:给出正确答案、写出更高质量/更可学习的 CoT 推理、修正歧义表述等
  6. 用重写后的 exemplars 构建 few-shot prompt,在测试/部署时给新问题推理

一句话:用模型的“不确定”来指导“该让人改写哪些示例”,把人工成本花在刀刃上。


2) “不确定性=分歧”是怎么量化的

对每个候选问题 (q),采样 (K) 次得到答案集合 ({a_1,\dots,a_K})。

常见的分歧度量方式:

  • 多数票比例:
    (p = \max_a \frac{#(a)}{K})
    (p) 越低 → 越不确定
  • 离散熵(entropy):对答案频率分布算熵,熵越高 → 越不确定
  • “是否一致”指标:比如是否所有样本都给同一答案

论文描述里强调的是“disagreement”,本质就是用上述任何一种统计方式衡量“答案分散程度”。


3) 人类“重写 exemplars”具体改什么

被挑中的高不确定题,通常问题不在“模型不会”,而在:

  • 题干有歧义、信息组织差
  • 推理步骤需要关键中间结论,但模型经常漏掉
  • 容易混淆概念/单位/条件
  • 多跳事实链条不清晰

因此重写 exemplars 常包含:

  • 更明确的分步推理(CoT):补足中间步骤、显式写出关键约束
  • 更好的格式:例如先列已知条件→再逐步推导→最后给答案
  • 纠正常见错误点:强调“不要把 X 当 Y”“注意单位换算”等

最终这些 exemplars 被放进 few-shot prompt,成为模型推理时可模仿的“高信息密度示例”。


4) 它和其它 CoT 提升技术的区别

  • vs Self-Consistency:Self-Consistency是推理阶段的“多采样投票”;Active Prompting 是训练/准备阶段的“主动选题+人工改写示例”。
  • vs Complexity-based Prompting:Complexity-based 用“题目复杂度”挑示例;Active Prompting 用“模型不确定性/分歧”挑示例(更贴近模型真实薄弱点)。
  • vs Contrastive CoT:Contrastive 是在 prompt 里放正误对比;Active Prompting 是决定“哪些例子值得被写进 prompt”。

5) 适用场景与代价

适用:

  • 你有一个训练题池(不一定很大),且能做多次采样评估分歧
  • 你愿意投入一定人工标注/改写成本来换取更强 few-shot 提示

代价/局限:

  • 需要人类参与(成本、周期)
  • 需要额外调用模型进行多次采样来估计不确定性(推理前置成本)
  • 不确定性度量依赖“答案可规范化”(多选/短答案最方便;开放式生成更难)

如果你希望我“更像论文方法”给出一份完整伪代码(含:初始化、K 次采样、分歧计算、top-N 选择、人工重写接口、最终 prompt 构建),告诉我你的任务类型(多选/数学数值/短文本答案)以及希望的不确定性指标(多数票比例/熵)。我可以直接写成可实现的流程。