输入“/”快速插入内容

小七姐:PromptAgent 论文精读翻译

2023年12月12日修改
📍
作者:小七姐
可以在以下地址关注她,主页内容更丰富:小七姐的prompt学习社群
本文为论文《PromptAgent: Strategic Planning with Language Models Enables Expert-level Prompt Optimization》的中文精校解读
PromptAgent: Strategic Planning with Language Models Enables Expert-level Prompt Optimization
提示词智能体:结合语言模型的策略性规划实现专家级提示词优化
摘要
高效的、针对特定任务的提示词往往由专家精心设计,整合详细的指令和领域见解,这基于对大型语言模型(LLM)的本能和目标任务的复杂性的深入了解。然而,如何自动化地生成这样的专家级提示词仍然是一个挑战。现有的提示词优化方法往往忽视领域知识的深度,且难以高效地探索专家级提示词的巨大空间。为了解决这一问题,我们提出了 PromptAgent,这是一种优化方法,可以自主地设计与专家手工制作的同等质量的提示词。
PromptAgent 的核心观点是将提示词优化视为一个策略性规划问题,并采用一种基于蒙特卡洛树搜索的原则性规划算法,策略性地导航专家级提示词空间。受到人类试错探索的启发,PromptAgent通过反思模型的错误并生成有建设性的错误反馈,诱导出精确的专家级见解和深入的指令。这种新颖的框架允许智能体迭代地检查中间提示词(状态),基于错误反馈(行为)对其进行细化,模拟未来的回报,并寻找通往专家提示词的高回报路径。我们将PromptAgent应用于跨越三个实际领域的12个任务:BIG-Bench Hard (BBH)、特定领域的NLP任务以及通用的NLP任务,结果显示它显著地超越了强大的Chain-of-Thought以及最近的提示词优化基线。深入的分析强调了其制定专家级、详细和富有领域洞察力的提示词的高效性和普适性。
1.
引言
提示词工程旨在为大型语言模型(LLM)制定有效的提示词,从而充分发挥其潜力。最近的自动提示词工程,即提示词优化,已经成功地研究了训练软提示词(Lester等人,2021;Hu等人,2021;Wang等人,2022),或者通过利用LLM的内部状态或梯度来寻找离散标记的最佳组合(Shin等人,2020;Deng等人,2022;Zhang等人,2022)。
对于像GPT-4(OpenAI,2023b)这样的尖端专有API基础的LLM,提示词工程主要依赖于某种特定的人机互动。因此,人类提示词专家需要对LLM的领域知识和直觉进行独特的融合,以设计出最有效的提示词。例如,如图1所示,来自人类专家的理想提示词可能会整合任务描述、领域知识、解决方案指导等细微元素,所有这些都大大提高了提示词的质量和性能。
图1:专家级提示词 vs. 普通人编写的提示词 以及 基于抽样方法的提示词(即,自动提示词工程,Zhou等人,2022)。该任务属于生物医学领域,用于提取疾病实体(NCBI,Do˘gan等人,2014)。专家提示词提供的领域特定详细信息和结构化指导比其他两者都要丰富得多,从而导致正确的预测。
在API基础的LLM上自动化专家级的提示词工程带来了重大挑战,这主要是由于专家级提示词的复杂性,如图1所示。尽管最近的提示词优化方法已经开始利用迭代抽样或进化算法等技术,如蒙特卡洛搜索(Zhou等人,2022)或吉布斯抽样(Xu等人,2023),但它们主要采用启发式方法,如文本编辑或释义,生成候选提示词(Zhou等人,2022;Prasad等人,2023)。
这些方法也通常依赖于简单的迭代算法,并缺乏一个有原则的策略来指导探索。因此,它们倾向于从普通用户那里确定提示词的局部变体,很少能够达到专家级提示词的卓越和细微之处。关键是,这些方法中的许多都忽视了提示词工程本质上是一个需要人参与的应用。在这个过程中,人们通过修复中间的错误并通过迭代互动整合必要的领域知识来完善提示词。这个迭代完善的过程体现了人类专家如何制定出色提示词的优点。然而,挑战仍然存在,即人类的探索虽然有效,但在同时处理多个错误以探索提示词空间时可能成本高昂且效率较低,从而妨碍了专家级提示词的可扩展性。
为了解决上述挑战并结合人类似的探索和机器效率,我们在本文中介绍了PromptAgent。从人类的试错过程中汲取灵感,PromptAgent无缝地结合了有原则的规划方法,特别是蒙特卡洛树搜索(MCTS),来策略性地优化提示词过程。值得注意的是,PromptAgent将提示词优化重新定义为一个策略性规划问题,以解决专家级提示词空间的复杂性。
在这个规划框架下,它通过试错迭代来检索模型错误,并利用LLM的自反能力(Jang,2023;Shinn等人,2023;Pan等人,2023)来生成有洞察力的错误反馈。这个反馈反过来在有效引导领域知识和深入提示词的过程中起到了关键作用。通过策略性规划,PromptAgent迭代地利用有洞察力的错误反馈(操作)来完善每个版本的提示词(状态)。从一个初始提示词(状态)开始,PromptAgent系统地在树结构中扩展提示词空间,并优先考虑高回报的路径,以导航专家级提示词的广阔空间。基于原则的MCTS规划使PromptAgent能够预先考虑并模拟未来的回报,然后将这些回报反向传播,更新对当前提示词的信念,从而使PromptAgent能够在以后探索更有前景的替代方案。
图2:不同基础模型间的提示词比较。
我们证明,通过将PromptAgent应用于涵盖三个实用且不同领域的12个任务:BIG-Bench Hard (BBH) (Suzgun等人, 2022),以及特定领域和一般的NLP任务,PromptAgent能够发现有生产力的专家级提示词。从一个初始的人工编写的提示词和一小组训练样本开始,PromptAgent不仅大大提高了初始人类提示词的性能,而且还显著超越了强大的Chain-of-Thought (CoT) 和近期的提示词优化基线。
例如,图2显示PromptAgent在GPT-3.5、GPT-4和PaLM 2中始终优于人类和自动提示词工程师(APE) (Zhou等人, 2022)的基线,分别比APE提高了9.1%、7.7%和6%。大量的定性结果进一步突显了优化提示词的专家级方面,表明PromptAgent有效地弥补了具有挑战性任务中的领域差距,提供了极高的探索效率和普遍性。随着我们预期更为强大的LLM的出现,这些LLM能够理解复杂的指令,我们相信专家级的提示词引导将引领提示词工程的下一个时代,在这一研究方向中,PromptAgent站在了一个开创性的步骤上。