大模型自动提示优化(APO)综述笔记
自大型语言模型(LLMs)出现以来,提示工程一直是各种自然语言处理(NLP)任务中激发期望响应的关键步骤。然而,由于模型的快速进步、任务的多样性和相关最佳实践的变化,提示工程对最终用户来说仍然是一个障碍。为了缓解这一问题,自动提示优化(APO)技术应运而生,这些技术使用各种自动化方法来提高LLMs在各种任务上的表现
论文名称:A Systematic Survey of Automatic Prompt Optimization Techniques
研究内容:对APO技术的全面综述,总结了该领域的最新进展和剩余挑战。文章提供了一个APO的正式定义和一个五部分的统一框架,并根据其显著特征对所有相关工作进行了严格的分类。
作者:Kiran Ramnath et al. (Amazon Web Services)
统一框架:APO流程分为五部分——种子初始化、推理评估与反馈、候选生成、筛选保留策略、迭代深度

1. 初始化种子提示(Seed Initialization)
目标:生成初始提示池作为优化起点。
技术细节及论文对比:
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| 人工指令 | 基于人工编写的示例生成强基线提示,成本较高但可解释性强。 | ProteGi (Pryzant et al., 2023)、GPS (Xu et al., 2022)、SPRIG (Zhang et al., 2024b) |
| LLM指令归纳 | 利用LLM从少量示例或任务文档中归纳可读指令,覆盖任务多样性和语义泛化。 | APE (Zhou et al., 2022)、DAPO (Yang et al., 2024c)、SCULPT (Kumar et al., 2024)、UniPrompt (Juneja et al., 2024) |
| 结构化模板填充 | 将任务拆解为结构化模板(如README、任务类型、输出格式),由LLM填充内容。 | UniPrompt (Juneja et al., 2024) |
技术比较:
- 人工指令依赖领域专家,适用于高精度场景;
- LLM指令归纳成本低但需平衡示例质量与泛化能力;
- 结构化模板提升逻辑一致性,但灵活性较低。
2. 推理评估与反馈(Inference Evaluation & Feedback)
目标:评估候选提示性能并生成反馈以指导优化。
技术细节及论文对比:
数值评分反馈
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| 任务准确率 | 直接使用分类准确率、BLEU-N(文本生成)、BERTScore(语义相似度)等。 | APE (Zhou et al., 2022)、PACE (Dong et al., 2024b) |
| 奖励模型 | 训练XGBoost或LLM模型预测提示质量,支持多目标优化(如性能+安全性)。 | OIRL (Sun et al., 2024a)、DRPO (Amini et al., 2024) |
| 熵与NLL | 利用输出分布的不确定性(需访问概率分布),优化提示的多样性和稳定性。 | GRIPS (Prasad et al., 2023)、GPS (Xu et al., 2022) |
LLM反馈
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| 单候选优化 | 通过分层树结构(SCULPT)或Actor-Critic框架(PACE)动态调整提示。 | SCULPT (Kumar et al., 2024)、PACE (Dong et al., 2024b) |
| 多候选优化 | 生成文本梯度(ProTeGi)或收集错误案例(PromptAgent),提升全局搜索能力。 | ProTeGi (Pryzant et al., 2023)、PromptAgent (Wang et al., 2024a) |
人工反馈
- 交互式偏好建模:通过对话动态捕获用户偏好(GATE)。
- 规则注入:结合人工设计的反馈规则优化多步骤任务(PROMST)。
相关论文:APOHF (Lin et al., 2024)、GATE (Joko et al., 2024)
技术比较:
- 数值评分客观但灵活性差;
- LLM反馈支持语义级优化,但计算成本高;
- 人工反馈精度高,适用于关键任务,但难以规模化。
3. 候选提示生成(Candidate Generation)
目标:生成新候选提示以探索优化空间。
技术细节及论文对比:
启发式编辑
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| 遗传算法 | 通过交叉、变异操作生成新提示(如SPRIG的组件库操作)。 | SPRIG (Zhang et al., 2024b)、PromptBreeder (Fernando et al., 2023) |
| 词汇修剪 | 保留高频词(CLAPS)或基于互信息选择关键短语(BDPL),降低搜索空间冗余。 | CLAPS (Zhou et al., 2023)、BDPL (Diao et al., 2022) |
| 程序合成 | 将提示优化转化为模块化程序(如DSPY的文本转换图),支持结构化组合优化。 | DSPY (Khattab et al., 2024)、SAMMO (Schnabel & Neville, 2024) |
神经网络编辑
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| 强化学习 | 策略梯度优化(BDPL)或离线奖励模型(OIRL),平衡探索与利用。 | BPO (Cheng et al., 2024)、OIRL (Sun et al., 2024a) |
| GAN对抗训练 | 生成器与判别器联合优化,提升提示对抗鲁棒性(Long et al., 2024)。 | Long et al. (2024) |
元提示设计
- 结构化元指令:定义任务描述、输出格式、推理过程等模板(DAPO)。
- 动态优化历史:记录历史优化轨迹以指导后续生成(OPRO)。
相关论文:OPRO (Yang et al., 2024a)、DAPO (Yang et al., 2024c)
技术比较:
- 遗传算法适合离散空间搜索,但依赖初始组件库;
- 程序合成支持复杂任务分解,但需预定义模块结构;
- 强化学习适合动态环境,但训练成本高。
4. 筛选与保留策略(Filter & Retain Strategies)
目标:选择高潜力候选进入下一轮优化。
技术细节及论文对比:
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| TopK贪婪搜索 | 保留当前最优候选(ProTeGi),计算高效但易陷入局部最优。 | ProTeGi (Pryzant et al., 2023) |
| UCB及其变体 | 平衡探索与利用(SPRIG),支持动态评估数据集采样。 | SPRIG (Zhang et al., 2024b)、PromptAgent (Wang et al., 2024a) |
| 区域联合搜索(RBJS) | 按聚类优化专家提示(MOP),提升多任务适应性。 | MOP (Wang et al., 2025) |
| 元启发式集成 | 混合多种搜索算法(如遗传算法+模拟退火),增强鲁棒性(PLUM)。 | PLUM (Pan et al., 2024) |
技术比较:
- TopK简单高效,适合快速收敛;
- UCB适合动态环境,需调整探索系数;
- RBJS在多任务场景表现优异,但依赖聚类质量。
5. 迭代深度(Iteration Depth)
目标:控制优化过程的终止条件。
技术细节及论文对比:
| 方法 | 技术描述 | 相关论文 |
|---|---|---|
| 固定步长 | 预设迭代次数(N),适用于计算资源受限场景。 | 多数方法(如ProTeGi、APE) |
| 动态终止 | 基于性能阈值(GRIPS)或收敛检测(PromptAgent),提升效率。 | GRIPS (Prasad et al., 2023)、PromptAgent (Wang et al., 2024a) |
技术比较:
- 固定步长易实现但可能欠拟合或过拟合;
- 动态终止节省资源,需设计合理的收敛判定条件。
| 论文 | 种子初始化 | 候选生成 | 筛选策略 | 迭代深度 |
|---|---|---|---|---|
| ProTeGi | 人工指令 | LLM改写 | UCB | 固定 |
| APE | LLM归纳 | N/A | UCB | 固定 |
| DSPY | 人工+LLM归纳 | 程序合成 | TopK | 动态 |
| MOP | LLM归纳 | 专家混合 | RBJS | 固定 |
注:本笔记基于论文《A Systematic Survey of Automatic Prompt Optimization Techniques》内容提炼,技术对比需结合具体任务需求选择方法。
相关文章:
大模型自动提示优化(APO)综述笔记
自大型语言模型(LLMs)出现以来,提示工程一直是各种自然语言处理(NLP)任务中激发期望响应的关键步骤。然而,由于模型的快速进步、任务的多样性和相关最佳实践的变化,提示工程对最终用户来说仍然是…...
SOME/IP-SD -- 协议英文原文讲解6
前言 SOME/IP协议越来越多的用于汽车电子行业中,关于协议详细完全的中文资料却没有,所以我将结合工作经验并对照英文原版协议做一系列的文章。基本分三大块: 1. SOME/IP协议讲解 2. SOME/IP-SD协议讲解 3. python/C举例调试讲解 5.1.3.1 E…...
每日Attention学习24——Strip Convolution Block
模块出处 [TIP 21] [link] CoANet: Connectivity Attention Network for Road Extraction From Satellite Imagery 模块名称 Strip Convolution Block (SCB) 模块作用 多方向条形特征提取 模块结构 模块特点 类PSP设计,采用四个并行分支提取不同维度的信息相比于…...
ECharts graphic 的学习
ECharts 的 graphic 属性用于在图表中自定义图形元素(如文本、形状、图片等),实现更灵活的视觉效果增强或交互设计。以下是结合搜索结果的整理与分析: 一、graphic 的核心功能 自定义图形类型 支持多种基础图形元素,包…...
Springboot快速接入豆包大模型
背景 突然接到上面的通知,想要在系统里面接入各大模型的能力,我这边随机选了个豆包,然后快速对接了一下,很顺利,一把过,现在文档的快速入门还是很ok的,在此记录一下过程,给宝子们参考…...
DeepSeek的安全挑战和安全控制措施
本研究探讨了与 DeepSeek 相关的安全风险,为安全和风险管理领导者提供了有针对性的策略来缓解这些威胁,并提供了可行的措施来加强基于现有安全控制的 AI 保护。 主要发现 了解 DeepSeek 当前的安全状况。DeepSeek的采用激增暴露了关键的安全挑战&…...
掌握 JavaScript 旋转技术
1. 基本概念 1.1 角度与弧度 在讨论旋转之前,首先需要了解角度和弧度的概念: 角度:通常用度数表示,一个圆周为360度。弧度:数学上更常用的角度单位,一个圆周为2π弧度。 在JavaScript中,大多…...
力扣-贪心-968 监控二叉树
思路 用true和false作为放置了摄像头,会有局限,就是没法判断以下情况 所以要用数字代表三种状态 2:有覆盖1:有摄像头0:无覆盖 两个节点都被覆盖时,要返回0 两个节点有一个无覆盖就要返回1 两个…...
从零开始搭建你的第一个HBase项目:实战经验分享
从零开始搭建你的第一个HBase项目:实战经验分享 数据洪流中的你,准备好了吗? 在大数据时代,数据量的增长速度令人咋舌。面对海量的数据,如何高效地存储、管理和分析成为了一个亟待解决的问题。今天,我们将…...
计算机毕业设计SpringBoot+Vue.js智慧社区(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
Elasticsearch 的分布式架构原理:通俗易懂版
Elasticsearch 的分布式架构原理:通俗易懂版 Lucene 和 Elasticsearch 的前世今生 Lucene 是一个功能强大的搜索库,提供了高效的全文检索能力。然而,直接基于 Lucene 开发非常复杂,即使是简单的功能也需要编写大量的 Java 代码&…...
每日一题之混乱的草稿纸
问题描述 一年一度的蓝桥杯省赛即将开赛,小蓝卧薪尝胆,目标直指省一。 为了实现这个宏伟目标,小蓝偷偷准备了一份 NN 行的代码模板,分别写在 NN 张草稿纸上(每张草稿纸上都写有一行代码,并用 11 到 NN 的…...
【redis】数据类型之hyperloglog
Redis的HyperLogLog(HLL)是一种高效的概率数据结构,也是一种基于字符串的数据结构,用于估计大数据集的唯一元素数量(基数统计)。它通过极低的内存占用(约 12KB)实现接近线性的时间复…...
在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间
在 compare-form.vue 中添加 compareDate 隐藏字段,并在提交时自动填入当前时间。 提交表单时存入的对象是FakeRegistration,这个对象里面有compareDate字段,刚好表格查询的对象也是FakeRegistration,所以表格展示的时间就是刚才…...
Chat2File - DeepSeek Chat 导出助手:解决deepseek对话导出问题,提升开发效率
Chat2File - DeepSeek Chat 导出助手:解决deepseek对话导出问题,提升开发效率 大家好久不见,最近这段时间一直在开发一些项目,今天给大家带来一款刚在 Edge 成功上线的实用插件 ——Chat2File - DeepSeek Chat 导出助手。作为开发…...
MEMS光纤麦克风传感器特色解析
概念原理 光纤麦克风是利用光纤作为传光介质和传感元件,将声音信号转换为光信号,并通过对光信号的检测和处理来获取声音信息的设备。它区别于传统基于电信号转换的麦克风,利用光的特性来实现声音的传感与传输。 原理:声音引起敏…...
LLC谐振变换器恒压恒流双竞争闭环simulink仿真
1.模型简介 本仿真模型基于MATLAB/Simulink(版本MATLAB 2017Ra)软件。建议采用matlab2017 Ra及以上版本打开。(若需要其他版本可联系代为转换)针对全桥LLC拓扑,利用Matlab软件搭建模型,分别对轻载…...
山东大学软件学院ai导论实验之生成对抗网络
目录 实验目的 实验代码 实验内容 实验结果 实验目的 基于Pytorch搭建一个生成对抗网络,使用MNIST数据集。 实验代码 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data…...
C++ Qt常见面试题(2):QT中的文件流(QTextStream)和数据流(QDataStream)的区别
在 Qt 中,QTextStream 和 QDataStream 是两种常用的流类,用于通过文件或其他 I/O 设备(如网络、内存)读写数据。虽然它们都可以用来操作数据,但它们的设计目标和使用场景不同。以下是它们的主要区别和适用场景的详细说明: 1. QTextStream:文本流 QTextStream 是一种专门…...
入门网络安全工程师要学习哪些内容【2025年寒假最新学习计划】
🤟 基于入门网络安全/黑客打造的:👉黑客&网络安全入门&进阶学习资源包 大家都知道网络安全行业很火,这个行业因为国家政策趋势正在大力发展,大有可为!但很多人对网络安全工程师还是不了解,不知道网…...
【论文解读】《C-Pack: Packed Resources For General Chinese Embeddings》
论文链接:https://arxiv.org/pdf/2309.07597 本论文旨在构建一套通用中文文本嵌入的完整资源包——C-Pack,解决当前中文文本嵌入研究中数据、模型、训练策略与评测基准缺失的问题。论文主要贡献体现在以下几个方面: 大规模训练数据…...
Cramér-Rao界:参数估计精度的“理论底线”
Cramr-Rao界:参数估计精度的“理论底线” 在统计学中,当我们用数据估计一个模型的参数时,总希望估计结果尽可能精确。但精度有没有一个理论上的“底线”呢?答案是有的,这就是Cramr-Rao界(Cramr-Rao Lower …...
ClickHouse 的分区、分桶和分片详解
在大数据场景下,数据的存储和查询效率至关重要。ClickHouse 作为一款高性能的列式存储数据库,提供了多种数据组织方式来优化存储和查询,其中最常见的就是 分区(Partition)、分桶(Sampling)、分片…...
【操作系统、数学】什么是排队论?如何理解排队论?排队论有什么用处?Queueing Theory?什么是 Little’s Law?
排队论(Queueing Theory)是研究系统中排队现象的数学理论,旨在分析资源分配、服务效率及等待时间等问题。它广泛应用于计算机科学、通信网络、交通规划、工业工程等领域。 【下文会通过搜集的资料,从各方面了解排队论,…...
2209. 用地毯覆盖后的最少白色砖块
2209. 用地毯覆盖后的最少白色砖块 题目链接:2209. 用地毯覆盖后的最少白色砖块 代码如下: class Solution { public:int minimumWhiteTiles(string floor, int numCarpets, int carpetLen) {vector<vector<int>>memo (numCarpets 1, vec…...
DeepSeek赋能大模型内容安全,网易易盾AIGC内容风控解决方案三大升级
在近两年由AI引发的生产力革命的背后,一场关乎数字世界秩序的攻防战正在上演:AI生成的深度伪造视频导致企业品牌声誉损失日均超千万,批量生成的侵权内容使版权纠纷量与日俱增,黑灰产利用AI技术持续发起欺诈攻击。 与此同时&#…...
(0)阿里云大模型ACP-考试回忆
这两天通过了阿里云大模型ACP考试,由于之前在网上没有找到真题,导致第一次考试没有过,后面又重新学习了一遍文档才顺利通过考试,这两次考试内容感觉考试题目90%内容是覆盖的,后面准备分享一下每一章的考题,…...
0.【深度学习YOLOV11项目实战-项目安装教程】(图文教程,超级详细)
目录 前言一、安装Pycharm(安装过Pycharm的跳过这一步)1.1 点击下述链接直接跳转到教程页面进行安装 二、安装Anaconda(安装过Anaconda的跳过这一步)2.1 点击下述链接直接跳转到教程页面进行安装 三、后续安装教程(有N…...
Docker 部署 Jenkins持续集成(CI)工具
[TOC](Docker 部署 Jenkins持续集成(CI)工具) 前言 Jenkins 是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中。通过 Docker 部署 Jenkins,可以简化安装和配置过程,并…...
布署elfk-准备工作
建议申请5台机器部署elfk: filebeat(每台app)--> logstash(2台keepalived)--> elasticsearch(3台)--> kibana(部署es上)采集输出 处理转发 分布式存储 展示 ELK中文社区: 搜索客,搜索人自己的社区 官方…...
