Automatic Prompt Engineer (APE) — 自动化提示工程 (APE)

From Systems analysis wiki
Jump to navigation Jump to search

自动化提示工程APE,Automatic Prompt Engineer)是一种用于自动生成和优化文本指令(提示词)的方法,旨在控制大型语言模型 (LLM)的行为。该方法由周永超Yongchao Zhou)领导的研究团队于2022年提出[1]

APE 方法不采用手动选择和迭代改进提示词的方式,而是将提示工程形式化为一个优化问题。在此任务中,提示词被视为一种自然语言“程序”,需要通过合成来最大化某个质量函数(例如,模型回答的准确性或真实性)[2]

基本概念与方法

APE 方法结合使用两种语言模型:生成模型目标模型。该过程是一个迭代的搜索与选择(search-and-select)循环:

  1. 候选生成。生成模型接收若干目标任务的“输入-输出”对作为示例,并基于这些示例创建大量可能的候选提示词。
  2. 评估。每个生成的候选提示词被传递给目标 LLM。目标模型在一组新的测试数据上执行指令,其回答根据预定义的指标(如准确率、完整度、F1 分数)进行评估。
  3. 选择。选择在评估中表现最佳的提示词。
  4. 迭代(可选)。循环可以重复。生成模型接收到改进最佳提示词的指令,为其创建变体,然后重复评估和选择过程,以达到最高效率[1]

这种方法能够自动复现手动调整提示词的过程,利用 LLM 生成假设(提示词)并对其进行后续评估。

关键方法论

提示工程的自动化通过多种算法方法实现。

基于 LLM 的自动化

这是上文描述的经典 APE 方法,其中一个 LLM 用于为另一个(或同一个)LLM 生成和评估提示词。这种方法对于离散的文本提示词非常有效[1]

演化方法

使用遗传算法或集束搜索(beam search)来创建和选择提示词,特别是长而复杂的提示词。例如,APEXAutomatic Engineering of Long Prompts)框架应用演化算法来逐步“培育”和改进复杂的指令[3]

梯度方法 (Soft Prompts)

这种方法处理连续提示词(soft prompts),它们是可训练的向量(嵌入),而不是文本指令。这些向量通过梯度下降直接在目标任务上进行优化。这包括 Prompt Tuning 和 Prefix-Tuning 等技术。

强化学习

在此范式中,LLM 扮演代理(agent)的角色,生成提示词(动作),而环境则返回对回答质量的评估(奖励)。目标是通过强化学习(RL)方法找到最优的提示词生成策略,以最大化累积奖励[2]

结果与发现

APE 原始研究中的实验表明,自动生成的指令在大多数情况下优于人类编写的提示词。

  • 在对 24 个自然语言处理(NLP)任务的测试中,APE 生成的提示词在 24 个案例中的 19 个 都比人类编写的更有效[1]
  • APE 能够自动“发现”一种更有效的思维链(Chain-of-Thought)风格的提示词表述。APE 没有使用标准的“Let's think step by step”(让我们一步一步地思考),而是生成了一个更详尽、更有效的指令:“Let's work this out in a step by step way to be sure we have the right answer”(让我们一步一步地解决这个问题,以确保我们得到正确的答案)。这种表述提高了在 MultiArith 和 GSM8K 等数据集上解决数学问题的准确性[1]

应用与优势

应用

  • 改进 few-shot learning:自动选择最佳示例和指令。
  • 提高模型的可信度:可配置 APE 来寻找能最小化“幻觉”并在 TruthfulQA 等基准测试上最大化回答真实性的提示词。
  • 自动化开发:加速聊天机器人、信息提取系统及其他 LLM 应用的开发[4]

优势

  • 可扩展性:能够自动生成并评估成百上千个提示词,无需人工干预。
  • 适应性:轻松将 LLM 调整到新的、高度专业化的领域。
  • 节约资源:显著减少手动选择提示词所花费的时间和精力。

发展与相关方法

APE 的概念在不断发展。出现了像 APETAutomatic Prompt Engineering Toolbox)这样的完全自主系统,它允许 LLM(例如 GPT-4)独立应用复杂的提示策略(Expert PromptingChain of ThoughtTree of Thoughts),并在没有外部干预的情况下动态改进指令[5]

APE 是自动化与 LLM 交互这一更广泛趋势的一部分,该趋势还包括:

  • AutoPrompt:一种早期方法,使用基于梯度的搜索来寻找特定的“触发”词元(token)。
  • OPRO (Optimization by PROmpting): 由 DeepMind 提出的一种与 APE 类似的方法,也利用 LLM 来优化提示词。

链接

参考文献

  • Zhou, Y. et al. (2022). Large Language Models Are Human-Level Prompt Engineers. arXiv:2211.01910.
  • Li, W. et al. (2025). A Survey of Automatic Prompt Engineering: An Optimization Perspective. arXiv:2502.11560.
  • Hsieh, C.-J. et al. (2024). Automatic Engineering of Long Prompts. Findings of ACL 2024. 2024.findings-acl.634.
  • Hsieh, C.-J. et al. (2023). Automatic Long Prompt Engineering. arXiv:2311.10117.
  • Shin, T. et al. (2020). AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts. arXiv:2010.15980.
  • Yang, C. et al. (2023). Large Language Models as Optimizers (OPRO). arXiv:2309.03409.
  • Liu, Y. et al. (2024). Revisiting OPRO: The Limitations of Small-Scale LLMs as Optimizers. arXiv:2405.10276.
  • Kepel, D.; Valogianni, K. (2024). Autonomous Prompt Engineering in Large Language Models (APET). arXiv:2407.11000.
  • Yang, C. et al. (2024). Optimizing Instructions and Demonstrations for Multi-Stage LM Programs. arXiv:2406.11695.
  • Hsieh, C.-J. et al. (2024). APEX (code repository and results). PDF.

注释

  1. 1.0 1.1 1.2 1.3 1.4 Zhou, Y. et al. «Large Language Models Are Human-Level Prompt Engineers». arXiv:2211.01910, 2022. [1]
  2. 2.0 2.1 Li, W. et al. «A Survey of Automatic Prompt Engineering: An Optimization Perspective». arXiv:2502.11560, 2025. [2]
  3. Hsieh, C.-J. et al. «Automatic Engineering of Long Prompts». Findings of the Association for Computational Linguistics: ACL 2024. [3]
  4. Fernandez-garcia, A. et al. «Automatic Prompt Engineering for Foundation Models: A Survey». MDPI Electronics, 2025. [4]
  5. Kepel, D. & Valogianni, K. «Autonomous Prompt Engineering in Large Language Models». arXiv:2407.11000, 2024. [5]