从单体到模块化:段级自动提示词优化
摘要
本文介绍了SAPO,一种分段级自动提示优化方法,它将提示分解为角色、上下文、任务和输出格式,然后基于弱示例和强示例进行针对性改进。在多个基准测试上的评估表明,SAPO在GPT-3.5-Turbo和GPT-4o-mini上优于包括APE、OPRO、EvoPrompt、GEPA和StraGO在内的强APO基线。
arXiv:2608.11219v1 公告类型:新
摘要:自动提示优化(APO)通常整体重写提示,这可能在改善某一行为的同时损害其他行为。我们提出SAPO,一种段级APO方法,它将提示分解为角色、上下文、任务和输出格式,然后基于表现最优的5个示例和表现最差的5个示例进行针对性改进。优化循环使用单个LLM,配合静态元提示和结构化输出,完成分段、弱点分析和候选生成。我们描述了一种训练/验证协议和两阶段生成过程:(1)段级诊断与推荐提取;(2)受弱/强段信号约束的候选合成。在使用GPT-3.5-Turbo和GPT-4o-mini对SQuADv2、TweetEval、XSUM、CommonGen和GSM8K进行的评估设置中,SAPO相对于Zero-shot以及包括APE、OPRO、EvoPrompt、GEPA和StraGO在内的强APO基线,取得了最佳平均分数。
查看缓存全文
缓存时间: 2026/08/13 15:21
# 从整体式到模块化:段级提示自动优化
来源:https://arxiv.org/html/2608.11219
Viktor Zhuravlev2、Artur Khairullin3、Sergey Muravyov4、Ilya Makarov5、Daniil Sukhorukov6、Ekaterina Averkova7 1,2,3,4,7ITMO University 5,6AXXX nikita\.kulin@itmo\.ru1, vnzhuravlev@itmo\.ru2, arkhairullin@itmo\.ru3, smuravyov@itmo\.ru4, iamakarov@hse\.ru5, d\.sukhorukov@axxx\.tech6, ekaterina\.averkova@itmo\.ru7
###### 摘要
自动提示优化(APO)通常以整体方式重写提示,这可能在改善某一行为的同时损害其他行为。我们提出了 SAPO,一种段级 APO 方法,它将提示分解为角色、上下文、任务和输出格式,然后基于前5个和后5个示例进行有针对性的改进。优化循环使用一个带有静态元提示和结构化输出的 LLM,用于分段、弱点分析和候选生成。我们描述了一个训练/验证协议和一个两阶段生成过程:(1)段级诊断与建议提取,(2)受弱/强段信号约束的候选合成。使用跨 SQuADv2、TweetEval、XSUM、CommonGen 和 GSM8K 的评估设置,在 GPT-3.5-Turbo 和 GPT-4o-mini 上,SAPO 相较于 Zero-shot 以及包括 APE、OPRO、EvoPrompt、GEPA 和 StraGO 在内的强 APO 基线取得了最佳平均得分。
## 1 引言
大型语言模型(LLM)日益被用作 NLP 任务的通用接口,包括指令遵循、推理和生成(Brown等人,2020 (https://arxiv.org/html/2608.11219#bib.bib1);Wei等人,2022 (https://arxiv.org/html/2608.11219#bib.bib2);Ouyang等人,2022 (https://arxiv.org/html/2608.11219#bib.bib3))。在许多实际场景中,适配已从微调转向提示设计,即通过自然语言指令来控制系统行为(Zhou等人,2023 (https://arxiv.org/html/2608.11219#bib.bib4))。因此,提示质量成为主要的可靠性瓶颈:微小的措辞变化可能导致巨大的行为偏移,而人工迭代调整提示既昂贵又不稳定(Zhou等人,2023 (https://arxiv.org/html/2608.11219#bib.bib4);Pryzant等人,2023 (https://arxiv.org/html/2608.11219#bib.bib5))。
自动提示优化(APO)通过从数据和模型反馈中迭代生成并选择改进后的提示来解决这一问题(Zhou等人,2023 (https://arxiv.org/html/2608.11219#bib.bib4);Pryzant等人,2023 (https://arxiv.org/html/2608.11219#bib.bib5);Yang等人,2024 (https://arxiv.org/html/2608.11219#bib.bib6);Guo等人,2024 (https://arxiv.org/html/2608.11219#bib.bib7);Agrawal等人,2026 (https://arxiv.org/html/2608.11219#bib.bib25))。这类方法尤其有吸引力,因为它们便于部署,且兼容黑盒 API。
然而,一个持续存在的局限性是,许多 APO 流程仍将提示作为整体字符串来优化。实际上,提示是组合式产物:角色设定、上下文锚定、任务指令和输出格式约束对下游行为的贡献各不相同。先前工作报告了迭代优化中的提示漂移和不稳定性,即修复某一子集案例的编辑可能会损害先前已正确的行为(Wu等人,2024 (https://arxiv.org/html/2608.11219#bib.bib11))。其他研究表明,优化器的有效性对模型能力和设置选择很敏感(Zhang等人,2024 (https://arxiv.org/html/2608.11219#bib.bib9);Ma等人,2024 (https://arxiv.org/html/2608.11219#bib.bib10)),并且在复合系统中收益可能依赖于具体场景(Zhang等人,2026 (https://arxiv.org/html/2608.11219#bib.bib16))。因此,核心挑战不仅仅是生成更多提示变体,而是控制编辑应用在*何处*以及*如何*进行。
本文提出了段级 APO(SAPO),一种基于显式提示段的模块化优化策略。该方法不是进行全局重写,而是从排序后的证据中诊断弱段和强段,并合成既保留优势又修复弱点的候选提示。在这里,**强段**指在排名靠前示例中与正确模型行为关联的段,**弱段**指在排名靠后示例中与错误行为关联的段。
参考图注 图1:SAPO 循环。从初始提示 \(P^{(0)}\) 开始,该方法首先将指令分段为角色/上下文/任务/输出格式,然后在训练数据上进行对比证据提取,以诊断弱段和强段。接下来,它生成保留强段同时修改弱段的受约束候选,在验证数据上评估它们,在得分相同时以编辑距离作为平局判定,并且仅在验证性能提升时接受更新;否则保留当前提示。与先前的自动提示方法相比,SAPO 的贡献在于:
1. 1. 段显式优化目标:提示被分解为角色、上下文、任务和输出格式,从而支持有针对性的编辑,而非整体式改写。
2. 2. 受约束的候选合成与选择:候选提示保留强段、修改弱段,并使用编辑距离平局判定来实现保守更新。
3. 3. 对比式诊断阶段:更新决策基于前/后证据,包括对离散逐示例指标的类别感知处理。
我们在五个不同任务类型的数据集上评估 SAPO:SQuADv2、TweetEval、XSUM、CommonGen 和 GSM8K,并报告在 GPT-3.5-Turbo 和 GPT-4o-mini 两个模型主干上的结果。SAPO 在 APE、OPRO、EvoPrompt、GEPA 和 StraGO 等基线中取得了最佳平均得分。相对于按平均得分计算的最强竞争基线,在 GPT-3.5-Turbo 上提升 +5.13%,在 GPT-4o-mini 上提升 +7.25%。
## 2 相关工作
#### 基于搜索的 APO 方法。
早期且广泛使用的 APO 方法将提示改进表述为对文本候选的迭代搜索。APE 通过生成和选择来优化指令候选(Zhou等人,2023 (https://arxiv.org/html/2608.11219#bib.bib4)),而 ProTeGi 应用文本梯度并结合束搜索和类似赌博机的选择(Pryzant等人,2023 (https://arxiv.org/html/2608.11219#bib.bib5))。OPRO 和 EvoPrompt 进一步扩展了搜索,分别引入轨迹条件优化和进化算子(Yang等人,2024 (https://arxiv.org/html/2608.11219#bib.bib6);Guo等人,2024 (https://arxiv.org/html/2608.11219#bib.bib7))。GEPA 引入了反思式提示进化,通过优化提供模块化修改(Agrawal等人,2026 (https://arxiv.org/html/2608.11219#bib.bib25))。尽管这些方法有效,但它们主要作为全局提示级重写,而非显式的段约束更新(Zhou等人,2023 (https://arxiv.org/html/2608.11219#bib.bib4);Yang等人,2024 (https://arxiv.org/html/2608.11219#bib.bib6);Guo等人,2024 (https://arxiv.org/html/2608.11219#bib.bib7);Fernando等人,2023 (https://arxiv.org/html/2608.11219#bib.bib8))。
#### 结构化与模块化优化趋势。
与此同时,该领域正朝着结构化优化流程发展。DSPy 和 TextGrad 将优化表述为程序化或基于图的形式,而不是单一的提示重写(Khattab等人,2023 (https://arxiv.org/html/2608.11219#bib.bib12);Yuksekgonul等人,2024 (https://arxiv.org/html/2608.11219#bib.bib13))。Promptomatix 强调模块化编排和成本感知的细化(Murthy等人,2025 (https://arxiv.org/html/2608.11219#bib.bib14))。最近,节局部优化明确地作用于固定提示组件,并在小模型设置中报告了更优的鲁棒性(Sharma and Henley,2026 (https://arxiv.org/html/2608.11219#bib.bib15))。总体而言,这一系列工作表明,结构分解可以提高可解释性并减少编辑之间的破坏性干扰。
#### 差距总结。
现有文献要么提供强大的搜索性能,要么提供改进的鲁棒性诊断(Yang等人,2024 (https://arxiv.org/html/2608.11219#bib.bib6);Guo等人,2024 (https://arxiv.org/html/2608.11219#bib.bib7);Wu等人,2024 (https://arxiv.org/html/2608.11219#bib.bib11);Sharma and Henley,2026 (https://arxiv.org/html/2608.11219#bib.bib15);Agrawal等人,2026 (https://arxiv.org/html/2608.11219#bib.bib25)),但关于简单黑盒流程的证据仍然有限,这些流程需要同时实现段级可控性、保留已知较强的提示组件,并在统一的多任务协议下保持轻量实现。
#### SAPO 的定位。
SAPO 处于静态元提示与结构感知优化的交汇点。它保留了黑盒 APO 的部署简洁性,同时引入了显式的段级诊断和受约束更新,从而保留强组件并限定修改范围。
## 3 方法
### 3.1 问题定义
图1 (https://arxiv.org/html/2608.11219#S1.F1) 提供了高层流程视图,而算法1 (https://arxiv.org/html/2608.11219#alg1) 给出了可执行的优化过程。
设初始提示模板为 \(P^{(0)}\),其中包含占位符 \{input\}。数据集被划分为训练部分和验证部分:
\[
\mathcal{D}_{train}=\{(x_{i},y_{i})\}_{i=1}^{N_{tr}},\quad \mathcal{D}_{val}=\{(x_{j},y_{j})\}_{j=1}^{N_{val}}.
\] (1)
给定一个 LLM \(\mathcal{M}\) 和任务相关指标 \(Q_{\tau}\),优化目标为:
\[
P^{*}=\arg\max_{P\in\mathcal{P}}Q_{\tau}(P;\mathcal{D}_{val},\mathcal{M}).
\] (2)
在迭代 \(t\) 时,优化器对当前提示应用更新算子 \(\mathcal{U}\):
\[
P^{(t+1)}=\mathcal{U}\!\left(P^{(t)},\mathcal{D}_{train},\mathcal{D}_{val}\right).
\] (3)
该算子是**接受约束的**:如果在第 \(t\) 次迭代生成的最佳候选未能提升验证质量,则提示保持不变。这将整个过程转化为一个在提示空间上的单调、验证门控搜索,直接针对破坏性重写的鲁棒性。
提示结构表示为四个显式段:
\[
S(P)=\{s_{role},s_{context},s_{tasks},s_{output\_format}\}.
\] (4)
### 3.2 算法概述
优化循环可概括为:
1. 1. 将当前提示分解为 \{role, context, tasks, output\_format\} 段。
2. 2. 运行阶段 A:在训练集上评估,提取前5/后5证据,推断弱段/强段和建议。
3. 3. 运行阶段 B:生成 \(K\) 个受约束的提示候选。
4. 4. 在验证集上评估候选;按得分选择最佳候选,并以编辑距离作为平局判定。
5. 5. 仅当验证得分提升时接受候选;否则保留当前提示。
图1 (https://arxiv.org/html/2608.11219#S1.F1) 和算法1 (https://arxiv.org/html/2608.11219#alg1) 对这一循环进行了形式化描述。
**算法 1** 段级 APO(SAPO)。
1: 初始提示 \(P\),训练集 \(\mathcal{D}_{train}\),验证集 \(\mathcal{D}_{val}\),候选数 \(K\),迭代次数 \(T\)
2: \(P^{*}\leftarrow P\); \(Q^{*}\leftarrow -\infty\)
3: **for** \(t=1\) **to** \(T\) **do**
4: 将当前提示分段为 \{role, context, tasks, output\_format\}
5: 阶段 A:在 \(\mathcal{D}_{train}\) 上评估 \(P\),构建前5/后5证据,推断弱段/强段和建议
6: 阶段 B:生成 \(K\) 个改进候选
7: 在 \(\mathcal{D}_{val}\) 上评估候选并选择最佳候选 \(\tilde{P}\)(平局时:最小编辑距离)
8: **if** \(Q_{\tau}(\tilde{P};\mathcal{D}_{val}) > Q_{\tau}(P;\mathcal{D}_{val})\) **then**
9: \(P\leftarrow \tilde{P}\)
10: **end if**
11: **if** \(Q_{\tau}(P;\mathcal{D}_{val}) > Q^{*}\) **then**
12: \(P^{*}\leftarrow P\); \(Q^{*}\leftarrow Q_{\tau}(P;\mathcal{D}_{val})\)
13: **end if**
14: **end for**
15: **return** \(P^{*}\)
### 3.3 提示段设计
SAPO 优化四个段,因为它们对应基于指令的 LLM 使用中不同且可操作分离的控制维度。
#### 角色(\(s_{role}\))。
该段定义行为立场(例如,分类器、摘要器、分析器)。先前的提示工程文献表明,指令框架会实质性地影响下游行为(Zhou等人,2023 (https://arxiv.org/html/2608.11219#bib.bib4);Pryzant等人,2023 (https://arxiv.org/html/2608.11219#bib.bib5))。
#### 上下文(\(s_{context}\))。
该段编码任务锚定、输入注入和领域约束(包括 \{input\} 的位置)。它控制哪些信息可用以及模型如何基于这些信息进行条件生成。
#### 任务(\(s_{tasks}\))。
该段规定可操作的要求和决策规则。它是纠正不明确或模糊指令的主要位置。
#### 输出格式(\(s_{output\_format}\))。
该段管理响应模式和格式约束。在指标结果依赖严格标签/输出约定(例如,分类标签或短式答案)的任务中,它至关重要。
选择这四个段是因为它们提供了一种紧凑的分解方式,既足以表达异构 NLP 任务,又足够小以支持稳定、低成本的迭代优化。这一设计选择与更广泛的提示结构分类法以及近期结构化、节局部提示优化的趋势一致(Liu等人,2021 (https://arxiv.org/html/2608.11219#bib.bib23);Schulhoff等人,2024 (https://arxiv.org/html/2608.11219#bib.bib24);Khattab等人,2023 (https://arxiv.org/html/2608.11219#bib.bib12);Yuksekgonul等人,2024 (https://arxiv.org/html/2608.11219#bib.bib13);Sharma and Henley,2026 (https://arxiv.org/html/2608.11219#bib.bib15))。
### 3.4 两阶段生成流程
#### 阶段 A:证据提取与段级诊断。
在第 \(t\) 次迭代时,当前提示 \(P^{(t)}\) 首先在 \(\mathcal{D}_{train}\) 上进行评估:
\[
\hat{y}_{i}=\mathcal{M}(P^{(t)},x_{i}),\quad q_{i}=Q_{\tau}\!\left(P^{(t)};(x_{i},y_{i}),\mathcal{M}\right).
\] (5)
示例按 \(q_{i}\) 排序,并提取两个对比证据集:
\[
\mathcal{B}_{good}^{(t)}=\text{Top-5}(q_{i}),\quad \mathcal{B}_{bad}^{(t)}=\text{Bottom-5}(q_{i}).
\] (6)
对于离散的逐示例指标(例如,\(q_{i}\in\{0,1\}\) 的 ExactMatch),我们使用类别感知的证据选择:\(\mathcal{B}_{good}^{(t)}\) 首先从正例(\(q_{i}=1\))中抽取,\(\mathcal{B}_{bad}^{(t)}\) 首先从负例(\(q_{i}=0\))中抽取。如果某一侧少于五个示例,则从全局排序中补齐剩余部分。给定 \((\mathcal{B}_{good}^{(t)},\mathcal{B}_{bad}^{(t)})\) 和段分解 \(S(P^{(t)})\),一个使用静态元提示的 LLM 推断出结构化的诊断输出:`weak_segments`、`strong_segments` 和 `recommendations`。直观地说,强段与持续成功的证据相关联,而弱段与失败案例相关联,并成为修订的主要目标。
#### 阶段 B:候选合成。
同一个 LLM 接收当前提示、段分解以相似文章
SePO:用于系统提示优化的自进化提示智能体
SePO(自进化提示优化)提出了一种自指涉提示智能体,通过进化搜索同时优化任务智能体的系统提示和自身的系统提示。在包括 AIME'25、ARC-AGI-1 和 GPQA 在内的五个基准测试中,SePO 的表现优于 Manual-CoT、TextGrad 和 MetaSPO。
自监督提示优化
本文提出了一种名为自监督提示优化(SPO)的框架,该框架通过输出对比来优化大语言模型的提示词,无需外部参考,显著降低了成本和数据需求。
@leanxbt: https://x.com/leanxbt/status/2070852461494202609
一篇详细介绍Loop Prompt Engineering的文章,这是一种通过基于数据集评估迭代重写提示来自动化提示优化的方法,重点强调避免递归陷阱。
RLMOpt:基于递归语言模型的自适应提示优化
RLMOpt 是一种提示优化器,它使用递归语言模型来驱动搜索策略本身,在多个基准测试上优于 GEPA 等现有方法,同时使用更少的 rollouts 并生成更短的提示。
提示优化为何有效,为何有时无效:基于因果启发的编辑级分析
本文对自动化提示优化进行了基于因果启发的分析,涵盖多种框架、大语言模型和任务,识别出特定编辑类型(如复杂度增加型、元指令型)根据任务特征具有系统的负面或正面效应,从而解释了泛化失败的原因。