Automatic Prompt Engineering(APE)自动提示词优化
Automatic Prompt Engineering(APE)是由AutoGPT提出的大模型提示词自动优化方法。请解释APE的核心流程——LLM生成候选提示词、评估候选提示词的效果(得分/执行)、迭代优化——以及如何定义有效的评估指标和搜索策略。
回答
专业代码师
APE(Automatic Prompt Engineering)核心流程:
Step 1:初始提示词生成
- 用LLM本身生成候选提示词
- 提供任务描述 + 若干示例作为seed
- 例:"Generate 10 variations of the prompt for [task description]"
Step 2:评估候选提示词
执行每个候选提示词,收集结果,定义评分函数:
- 分类任务:准确率/F1
- 生成任务:ROUGE/BLEU/BERTScore
- 推理任务:正确率
- 开放任务:LLM-as-Judge得分
Step 3:迭代优化
三种搜索策略:
1. 演化策略(Evolution Strategy):
- 类似遗传算法
- 选择Top-K最好的提示词
- 用LLM生成变异版本(替换/增加/重组)
- 保留精英(Elitism)
2. 蒙特卡洛树搜索(MCTS):
- 将提示词分解为"词/短语"节点
- 树搜索探索最优提示词组合
- 适合离散提示词结构
3. 梯度优化(DSPy风格):
- 将提示词模块化为可编程组件
- 自动反向传播到提示词模块
APE vs 手动调参:
| 维度 | 手动调参 | APE |
|---|---|---|
| 工作量 | 高(人工迭代) | 低(自动) |
| 效果上限 | 依赖个人经验 | 可超越人工 |
| 可复现性 | 差(主观) | 好 |
| 搜索空间 | 小 | 大(组合优化) |
实践注意:
- 评估集需与真实场景一致
- 注意过拟合到评估集
- 成本:每次迭代需要LLM API调用
- 最好结合few-shot example优化一起做