提示工程(Prompt Engineering)

1255 words
6 minutes
提示工程(Prompt Engineering)

提示工程(Prompt Engineering)#

作者:Lilian Weng(翁丽莲 · OpenAI VP of AI)
发布:2023年3月15日 · Lil’Log(阅读约 21 分钟)
原文链接https://lilianweng.github.io/posts/2023-03-15-prompt-engineering/


提示工程(Prompt Engineering),又称上下文提示(In-Context Prompting),是指在不更新模型权重的情况下,通过如何与 LLM 沟通来引导其行为以实现期望输出的方法。这是一门经验科学,提示工程方法的效果在不同模型之间差异很大,因此需要大量的实验和启发式策略。

[Lilian 的个人辣评] 在我看来,有些提示工程论文不值得写 8 页长,因为这些技巧用一两句话就能说清楚,剩下的全是基准测试。一个易用且共享的基准测试基础设施对社区更有益。


基础提示方法#

零样本(Zero-Shot)#

直接给模型下达任务指令,不提供任何示例。

“将以下英文翻译成中文:Hello, world.”

少样本(Few-Shot)#

在提示中提供几个输入-输出示例,让模型学习任务模式。

“将以下英文翻译成中文:

  • ‘Good morning’ → ‘早上好’
  • ‘Thank you’ → ‘谢谢’
  • ‘Hello’ → ?”

示例选择技巧

  • 选择与目标输入语义相似的示例
  • 选择与目标输入标签分布一致的示例
  • 多样化——涵盖不同的模式

示例排列顺序

  • 模型可能受示例顺序影响,最后出现的示例影响最大(近期效应)
  • 尝试不同顺序

指令提示(Instruction Prompting)#

用清晰的指令描述任务要求,而非仅仅提供示例。指令越具体越好:

好的指令不好的指令
”用一句话回答,不超过 10 个词""回答问题"
"以 JSON 格式输出,包含 name 和 age 字段""输出结果"
"如果你不确定,回答’我不知道’""尽力回答”

自一致性采样(Self-Consistency Sampling)#

对同一个提示进行多次采样,然后从多个答案中选择最一致的那个。

工作原理

  1. 对同一提示,使用较高的温度(temperature)进行 N 次采样
  2. 将采样结果聚类
  3. 选择聚类最多的簇中的答案(或在数学问题中取多数答案)

效果:在算术推理和常识推理任务上显著提升准确率,比单次 CoT 采样高出几个百分点。


思维链(Chain-of-Thought, CoT)#

CoT 鼓励模型在给出最终答案之前,先生成中间的推理步骤。这是提示工程领域最具影响力的突破之一。

基础 CoT#

在示例中加入推理过程:

Q: 商店有 20 个苹果,卖掉了 5 个,然后又进了 8 个,现在有多少个? A: 开始时 20 个,卖掉 5 个剩 15 个,又进 8 个,所以现在有 23 个。

零样本 CoT#

只需在提示末尾加上 “让我们一步一步思考”(Let’s think step by step),就可能激发模型的推理行为。

CoT 的变体#

变体说明
思维链自我一致CoT + 多次采样 + 多数投票
思维树(ToT)在每一步探索多个推理路径,进行回溯和剪枝
思维图(GoT)将推理过程建模为有向图,允许合并多个推理分支
自动 CoT自动生成 CoT 示例,而非手动编写

自动提示设计#

基于梯度的方法#

  • AutoPrompt:通过梯度搜索,自动找到触发特定行为的”触发词”
  • Prefix Tuning:在输入前添加一组可学习的”前缀向量”
  • P-Tuning:在嵌入层插入可学习的提示向量

基于搜索的方法#

  • APE(自动提示工程师):使用 LLM 自己生成和优化提示词
    1. LLM 生成一批候选提示
    2. 在验证集上评估效果
    3. 选择表现最佳的提示作为新起点,迭代优化

增强型语言模型#

当纯提示不够时,可以增强模型的能力:

检索增强(RAG)#

在提示中注入从外部知识库检索到的相关内容,让模型能够:

  • 引用最新信息
  • 基于验证过的事实生成
  • 减少幻觉

编程语言增强(PoT / PAL)#

Program-of-Thought:让模型用 Python 代码表达推理步骤,然后执行代码获得结果。比自然语言 CoT 更可靠,因为代码执行是确定性的。

外部 API 调用#

模型学习调用外部工具 API:

  • 计算器:精确计算
  • 搜索引擎:实时信息查询
  • 知识库:领域专有数据
  • 代码解释器:执行代码并分析结果

实用资源推荐#

资源说明
OpenAI 提示工程指南官方最佳实践
Anthropic 提示工程文档Claude 提示技巧
PromptSource提示模板仓库
LangChain提示链管理框架

Lilian Weng 的这篇文章是提示工程领域引用最广泛的入门综述之一,被几乎所有大模型开发团队作为内部培训材料。

Share Article

If this article helped you, please share it with others!

提示工程(Prompt Engineering)
https://estars-blog.pages.dev/posts/经验贴-提示工程prompt-engineeringlilian-weng/
Author
Estars
Published at
2026-06-17
License
CC BY-NC-SA 4.0
Profile Image of the Author
Estars
这条路要走完,才能看到世界的终点,是海纳百川,还是星火燎原。
公告
欢迎来到我的博客!这是一则示例公告。
Music
Cover

Music

No playing

0:00 0:00
No lyrics available
Categories
Tags
Site Statistics
Posts
85
Categories
7
Tags
15
Total Words
218,958
Running Days
0 days
Last Activity
0 days ago

Table of Contents