11-Automatic Prompt Engineer (APE)
| 版本 | 内容 | 时间 |
|---|---|---|
| V1 | 新建 | 2026年03月26日19:39:15 |
APE 是什么?
APE 就是让大模型自己当 “提示词工程师”,替代人类手动写提示词的框架 —— 简单说,人类不用再靠经验、试错去写提示词,把任务需求给 APE,它能自动生成一堆候选提示词,再自己测试、打分,最后挑出效果最好的那个,全程自动化。
APE 解决的核心痛点
作为服务端开发,你肯定深有体会:手动写提示词是个 “玄学活”—— 同样的需求,换一句表述模型输出效果天差地别;为了让模型输出稳定,要反复试错、调整措辞,特别费时间;而且人类设计的提示词未必是最优的,比如经典的**「一步步思考」**,其实还有更优的表述。
APE 就是为了解决**“人类手动设计提示词效率低、效果未必最优、难以适配所有任务”**的问题,把提示词设计从 “人工试错” 变成 “机器自动优化”。
APE 的核心工作逻辑
论文:https://arxiv.org/pdf/2211.01910
官方网站:https://sites.google.com/view/automatic-prompt-engineer/home
APE 本质是个 “生成 - 测试 - 筛选” 的自动化流程,全程不用人类插手
① 生成候选:把任务的示例结果(比如要做文本总结,就给 APE 一个 “原文 + 优质摘要” 的示例)喂给大模型,让它生成一堆适合这个任务的提示词;
② 实际测试:把这些候选提示词拿到实际要使用的目标大模型(比如你业务中用的 GPT-3.5/Claude)上跑一遍,看每个提示词的实际输出效果;
③ 打分筛选:用专业的评估指标给每个提示词打分,分数最高的就是最优提示词,直接用就行。
论文中 APE 的工作原理如下:

详细过程如下:
模块 1:LLMs as Inference Models(大语言模型作为推理模型)
- 输入:只给模型看「输入 - 输出示例对」(如
prove → disprove、on → off),隐藏真实指令(用<INSERT>占位)。 - 动作:大语言模型从示例中归纳规律,自动生成一批候选指令提示词(比如 “输出单词的反义词”“给出提供单词的反义词” 等)。
- 输出:将这批候选提示词送入下一个模块进行评分。
模块 2:LLMs as Scoring Models(大语言模型作为评分模型)
- 输入:上一步生成的候选提示词列表。
- 动作:
- 对每个候选提示词,让目标大模型执行任务(比如输入
direct,看是否输出indirect)。 - 用对数概率(Log Probability) 给每个提示词打分:分数越高(数值越接近 0),说明提示词引导模型完成任务的效果越好。
- 对每个候选提示词,让目标大模型执行任务(比如输入
- 筛选规则:
- ✅ 高分候选(如
-0.16、-0.26)保留。 - ❌ 低分候选(如
-0.86、-1.08)被淘汰。
- ✅ 高分候选(如
- 输出:筛选出的高分提示词。
模块 3(可选):LLMs as Resampling Models(大语言模型作为重采样模型)
- 输入:上一步筛选出的高分提示词(如
write the antonym of the word.)。 - 动作:让大语言模型生成语义相同但表述不同的变体提示词(比如
write the opposite of the word given.)。 - 目的:在保持任务逻辑不变的前提下,探索更多表述方式,可能找到比当前高分提示词更优的版本。
- 输出:新一批变体提示词,再次送回「评分模块」进行打分,迭代优化。
APE 的优势

论文中有两个核心案例证明 APE 的实力:
① 对比定向刺激提示法和常规提示法:带关键信息提示的定向刺激提示,生成的摘要和标准答案相似度(48.39)远高于常规提示(34.48),说明好的提示词能大幅提升模型输出质量;
② APE 生成的思维链提示词**「一步步逐步推导,确保得出正确答案」,比人类经典的「让我们一步步思考」**效果更好,能显著提升模型解数学题的准确率。
延伸:提示词自动优化的其他主流方法
提示词自动优化,还有几个核心论文:
| 技术名称 | 论文地址 | 核心思路 | 人话解释 | 适用场景 |
|---|---|---|---|---|
| Prompt-OIRL | https://arxiv.org/abs/2309.06553 | 用离线逆强化学习,根据用户的具体查询,生成定制化提示词 | 相当于 “给每个问题量身定做提示词”,而不是用通用提示词应付所有问题 | 需要精准适配用户查询的场景(如客服问答、个性化推荐) |
| OPRO | https://arxiv.org/abs/2309.03409 | 让大语言模型自己优化提示词,甚至简单的 “Take a deep breath” 这类心理暗示式提示,都能提升模型表现 | 让 AI 当自己的 “提示词工程师”,自己试不同的话术,找到能让自己更认真解题的说法 | 数学推理、逻辑判断这类需要模型 “专注思考” 的任务 |
| AutoPrompt | https://arxiv.org/abs/2010.15980 | 基于梯度引导搜索,为各类任务自动生成适配提示词 | 像 “代码自动补全” 一样,机器自动搜索、筛选出最适合当前任务的提示词模板 | 多任务批量适配场景(如同时处理文本分类、摘要、翻译等任务) |
| Prefix Tuning | https://arxiv.org/abs/2101.00190 | 给模型加一段可训练的 “连续前缀”(不是自然语言,是一串数字向量),代替全量微调 | 轻量版模型微调:不用改模型本身,只加一段 “专属前缀”,就能让模型适配特定任务 | 资源有限、不想全量微调模型的业务场景 |
| Prompt Tuning | https://arxiv.org/abs/2104.08691 | 通过反向传播学习 “软提示词”(Soft Prompts,也是向量形式,不是自然语言) | 比 Prefix Tuning 更灵活的轻量调优,让模型学会一段 “隐形提示词”,引导输出方向 | 追求低代码、低成本的模型适配场景 |
一句话总结 APE
APE 就是一个 “AI 自动提示词调优工具”。
它把提示词当成程序,通过自动生成 -> 自动测试(跑用例)-> 自动选优的流程,替人类找出目前模型能理解的最优指令。它证明了机器自动优化的提示词 > 人类手动写的提示词,是后端降低 AI 接入成本、提升系统稳定性的核心利器。