题目
PromptAgent:使用语言模型进行战略规划可实现专家级的提示优化
论文地址:https://arxiv.org/html/2310.16427
项目地址:https://github.com/XinyuanWangCS/PromptAgent
摘要
高效的、特定于任务的提示通常由专家进行大量设计,以基于对大型语言模型 (LLM) 的直觉和目标任务的复杂性的深刻理解,整合详细的说明和领域洞察力。然而,自动生成这种专家级提示仍然难以捉摸。现有的提示优化方法往往忽视了领域知识的深度,难以有效地探索专家级提示的广阔空间。为了解决这个问题,我们提出了 PromptAgent,这是一种优化方法,可以自主制作质量与专家手工制作的提示相当的提示。PromptAgent 的核心是将提示优化视为一个战略规划问题,并采用植根于蒙特卡洛树搜索的原则性规划算法,以战略性地导航专家级提示空间。受类似人类的试错探索的启发,PromptAgent 通过反思模型错误并生成建设性错误反馈,诱导精确的专家级洞察和深入指导。这样一个新颖的框架允许代理迭代地检查中间提示(状态),根据错误反馈(操作)对其进行优化,模拟未来的奖励,并寻找导致专家提示的高回报路径。我们将 PromptAgent 应用于跨越三个实践领域的 12 项任务:BIG-Bench Hard (BBH),以及特定领域和一般的 NLP 任务,表明它的性能明显优于强大的 Chain-of-Thought 和最近的提示优化基线。广泛的分析强调了它以极高的效率和可推广性制作专家级、详细和具有领域洞察力的提示的能力。
介绍
提示工程旨在制作有效的提示,以充分利用大型语言模型 (LLM) 的潜力。最近的自动提示工程,即提示优化,已经成功地研究了训练软提示(Lester 等人,2021;胡 et al.,2021;Wang 等人,2022),或搜索离散标记的最佳组合(Shin 等人,2020;邓等人,2022;Zhang 等人,2022),通过利用 LLM 的内部状态或梯度。对于基于 GPT-4 的尖端、专有 LLM(OpenAI,2023b),提示工程在很大程度上依赖于某种临时的人机交互。因此,人工提示专家需要领域知识和直觉的独特组合,以便 LLM 设计最有效的提示。例如,如图 1 所示,来自人类专家的理想提示可能会集成细微的元素,如任务描述、领域知识、解决方案指导等,所有这些都大大提高了提示的质量和性能。
图 1:专家级提示与普通人工编写的提示和基于采样的方法的提示(即 Automatic Prompt Engineer、周 et al. (2022)). 该任务在生物医学领域提取疾病实体(NCBI、Doğan 等人 (2014)). 与其他两个提示相比,专家提示提供了更丰富的特定于域的详细信息和结构化指导,从而得出正确的预测。
图 2:在不同基础模型之间进行快速比较。
在基于 API 的 LLM 上自动化专家级提示工程带来了重大挑战,这主要是由于专家级提示的复杂性,如图 1 所示。尽管最近的提示优化方法已经开始利用迭代采样或进化算法等技术,例如 Monte Carlo 搜索(周 et al.,2022)或 Gibbs 采样(Xu 等人,2023),它们主要采用启发式方法(如文本编辑或释义)来生成候选提示(周 et al.,2022;Prasad 等人,2023)。这些方法通常还依赖于简单的迭代算法,并且缺乏指导探索的原则性策略。因此,他们倾向于满足于普通用户提示的本地变体,很少上升到专家级提示的卓越性和细微差别。至关重要的是,这些方法中的许多都忽略了提示工程本质上是一种人机协同应用程序。在此过程中,人类通过修复中间错误并通过迭代交互集成必要的领域知识来优化提示。这种迭代优化过程描述了人类专家如何制作卓越提示的优点。然而,挑战仍然存在,即人工探索虽然有效,但在同时处理多个错误以探索提示空间时可能成本高昂且效率较低,从而阻碍了专家级提示的可扩展性。
为了解决上述挑战并将类人探索与机器效率相结合,我们在本文中介绍了 PromptAgent。PromptAgent 从人类试错过程中汲取灵感,无缝地结合了原则性规划方法,特别是蒙特卡洛树搜索 (MCTS),以战略性地优化提示过程。值得注意的是,PromptAgent 将提示优化重新作为一个战略规划问题,以解决专家级提示空间的复杂性。在这个规划框架下,它进行试错迭代以检索模型错误,并利用 LLM 的自我反思能力(张,2023;Shinn 等人,2023;Pan 等人,2023)生成有洞察力的错误反馈。反过来,这些反馈在有效诱导领域知识和指导深入提示方面发挥着关键作用。通过战略规划,PromptAgent 迭代地利用有洞察力的错误反馈(操作)来优化每个版本的提示(状态)。从初始提示(状态)开始,PromptAgent 系统地在树结构中增加提示空间,并确定高奖励跟踪的优先级,以导航专家级提示的广阔空间。原则化的 MCTS 规划允许 PromptAgent 向前看并模拟未来的奖励,然后反向传播以更新对当前提示的看法,以便 PromptAgent 以后可以探索更有前途的替代方案。
我们证明,PromptAgent 可以通过将其应用于跨越三个实际和不同领域的 12 项任务来发现高效的专家级提示:BIG-Bench Hard (BBH)(Suzgun 等人,2022),以及特定于领域的和一般的 NLP 任务。从最初的人工编写的提示和一小部分训练样本开始,PromptAgent 不仅大大提高了初始人工提示的性能,而且大大超过了强大的思维链 (CoT) 和最近的提示优化基线。例如,图 2 显示 PromptAgent 的性能始终优于人工和自动提示工程师 (APE)(周 et al.,2022)GPT-3.5、GPT-4 和 PaLM 2 的基线,比 APE 分别提高了 9.1%、7.7% 和 6%。广泛的定性结果进一步突出了优化提示的专家级方面,表明 PromptAgent 有效地弥合了具有挑战性任务的领域差距,提供了极大的探索效率和通用性。由于我们预计会出现更强大的 LLM,它们可以理解复杂的指令,我们相信专家级提示将引领提示工程的下一个时代,其中 PromptAgent 是该研究方向的开创性一步。
相关作品
提示优化。自动发现最佳提示已成为 LLM 时代的核心挑战。对于开源 LLM,可以利用其内部状态或梯度来训练其他参数,例如软提示(李和梁,2021;Lester 等人,2021;胡 et al.,2021;Wang 等人,2022),或通过基于梯度的搜索来搜索离散提示(Shin 等人,2020;温等人,2023)或强化学习(邓等人,2022;Zhang 等人,2022)。然而,这种方法对于闭源 LLM 来说不太可行,这促使人们研究无梯度提示优化,通常假设只有 API 和有限的训练集可用。大多数无梯度方法都遵循提示采样的迭代过程,即从初始提示开始,它们对提示候选者进行迭代采样并对其进行评分,以选择最适合下一次迭代的提示。许多方法强调提示候选者的多样化——示例包括基于编辑的方法,如删除或交换短语(Prasad 等人,2023)、回译(Xu 等人,2022)、进化操作(Guo et al.,2023;Fernando 等人,2023),或者更准确地说,基于自然语言反馈的 LLM 重写(周 et al.,2022;Pryzant 等人,2023;Yang 等人,2023)。此外,还探索了蒙特卡洛搜索等替代抽样程序(周 et al.,2022)、Gibbs 采样(Xu 等人,2023)或 Beam 搜索(Pryzant 等人,2023)。尽管如此,PromptAgent 在两个方面与上述所有方法有着根本的不同。首先,虽然已经研究了主要搜索算法(周 et al.,2022;Xu 等人,2023;Pryzant 等人,2023),我们是第一个将战略规划引入提示优化研究的公司。这项创新提供了一种结构化的方式,可以有效地导航错综复杂的提示空间,具有前瞻和回溯等原则性功能。其次,以前的大多数方法都会生成提示候选者,因为本地变体(例如释义或 LLM 采样)未能纳入细粒度的领域洞察。相反,我们将提示生成作为状态转换,并战略性地将错误反馈转换为新状态,从而产生专家级的提示。
通过自我反思和规划来增强 LLM。尽管现代 LLM 具有非凡的能力,但它们表现出一定的局限性,例如长期连贯性(Malkin 等人,2022),缺少内部世界模型(Hao 等人,2023 年一)、无法在现实世界中行动等。因此,用推理和工具等外部模块增强 LLM 最近引起了广泛关注(Mialon 等人,2023;Ozturkler 等人,2022;Hao 等人,2023b;Jojic 等人,2023),其中两种常见的策略在这里是相关的:自我反省和与 LLM 一起规划。自我反省鼓励 LLM 反省、批评其成果,并随后提出更精细的解决方案(张,2023;Pan 等人,2023)。这已被用于增强各种应用程序,从复杂的计算机任务(Shinn 等人,2023)、文本生成(Welleck 等人,2022)推理(Paul 等人,2023).
此外,使用 LLM 进行规划有助于评估和增强这些模型。从本质上讲,规划是智能代理在实现特定目标时生成一系列行动的基本能力(McCarthy 等人,1963;拜兰德,1994)。一条研究路线是直接提示和评估 LLM 的规划任务(Liu 等人,2023)。例如,基于翻译的方法将自然语言指令转换为可执行程序(例如,规划域描述语言)以运行经典的规划算法。另一个更紧密的研究路线是通过基于规划的算法来增强 LLM 的战略推理能力。例如,Tree of Thoughts (ToT) 应用 DFS/BFS 来增强 CoT 提示,而 CoRe(Zhu 等人,2022)和 RAP(Hao 等人,2023 年一)利用 MCTS 来导航更丰富的推理路径。然而,与 LLM 增强方面的现有努力相比,PromptAgent 是第一个将自我反省的精神和专为及时优化量身定制的规划协同结合的新型框架。
方法论
给定一个基本的LLM B和一个目标任务T,提示工程师手头的工作是设计一个优化的自然语言提示pt,使B对T的性能最大化,新手和专家提示工程师之间的差距可能很大,特别是对于需要专业领域专业知识的任务,例如在生物医学领域。我们的主要目标是自主地提炼任务提示pt来弥合这一知识鸿沟,最大限度地减少人为