从整体到模块:SAPO 分段级自动提示词优化方法
自动提示词优化(APO)通常采用整体重写的方式,这可能导致模型在某个任务上表现提升,却在其他方面出现退化。针对这一痛点,研究团队在最新论文中提出了 SAPO(Segment-level Automatic Prompt Optimization),将提示词分解为角色、上下文、任务和输出格式等模块,并基于最优和最差的示例进行针对性优化。该方法在多个基准测试中超越了现有强基线,为提示词工程提供了新思路。
从“一刀切”到“精准施策”
传统的 APO 方法往往将整个提示词视为一个黑盒,进行整体改写。这种“一刀切”的方式虽然操作简单,但容易引发“按下葫芦浮起瓢”的问题——优化了一个行为,却可能破坏其他功能。SAPO 的核心创新在于 模块化分解:它将提示词拆分为角色(role)、上下文(context)、任务(task)和输出格式(output format)四个独立部分,然后分别进行诊断和优化。
具体而言,SAPO 的优化循环使用一个 LLM,配合静态元提示词和结构化输出,完成分段、弱点分析和候选生成。整个过程分为两个阶段:
- 分段级诊断与建议提取:LLM 分析当前提示词在 top-5 和 bottom-5 示例上的表现,找出每个模块的强项和弱点。
- 候选合成:基于强弱信号,生成针对性的改进候选提示词,确保优化有的放矢。
实验验证:全面超越基线
研究团队在 SQuADv2、TweetEval、XSUM、CommonGen 和 GSM8K 五个数据集上,使用 GPT-3.5-Turbo 和 GPT-4o-mini 两个模型进行了评估。结果显示,SAPO 在平均得分上优于零样本基线以及 APE、OPRO、EvoPrompt、GEPA、StraGO 等强 APO 基线。这表明模块化优化策略不仅更精细,而且具有更强的泛化能力。
意义与展望
SAPO 的提出标志着提示词优化从粗放走向精细。通过将提示词拆解为可独立优化的模块,它能够更精准地定位问题,避免全局改写带来的副作用。这一方法尤其适用于复杂任务,例如需要明确角色设定和输出格式的场景。
值得注意的是,SAPO 目前仍依赖于 LLM 的自我诊断能力,其效果可能受到模型推理能力的影响。未来,研究团队计划探索更细粒度的分段策略,以及如何将 SAPO 扩展到多模态提示词优化中。该论文已被 IJCAI-ECAI 2026 Workshop on RobustifAI 接收,相关代码和数据尚未公开,但这一方向无疑为提示词工程社区注入了新的活力。