Skip to content

提示工程全景

提示工程已从早期的经验性技巧演变为一门融合认知科学、计算语言学与安全工程的系统性学科。本文解构提示工程的四层架构:基础层、进阶层、前沿层与安全层。


技术架构全景


1. 基础层:范式转移与上下文学习

1.1 NLP 计算范式演变

范式特点局限
全监督学习每任务训练专用模型依赖大量标注,无通用性
预训练-微调预训练+任务微调仍需梯度更新
预训练-提示-预测任务重构为文本补全仅需设计提示

范式转移的意义

GPT-3 的问世标志着第三次范式转移:AI 使用门槛从"训练模型"降低到"设计提示"。提示工程因此成为激活模型能力的核心接口

1.2 上下文学习(ICL)机制

上下文学习(In-Context Learning) 是提示工程的物理基础——模型无需梯度更新,仅凭提示中的示例即可"学会"新任务。

运作机制

机制说明
非梯度更新权重 $W$ 保持不变,提示改变激活状态
能力定位提示作为"搜索键",在高维空间中定位能力子空间
隐式贝叶斯推理模型计算后验 $P(Target | Context)$,示例缩减假设空间
涌现能力仅在大模型(175B+)中显著涌现

1.3 CRISPE 结构化框架

CRISPE 框架将高效提示解构为六个核心组件:

组件名称功能底层逻辑
CCapacity/Role指定角色(如"量子物理学家")在潜在空间划定子空间
RInsight提供背景/上下文减少语义歧义
IStatement明确任务动作触发任务处理模块
SStyle规定语气/文体调整生成多样性
PParameter硬性约束(格式/字数)设置解码边界
EExperiment提供示例(Few-Shot)利用 ICL 校准泛化

1.4 Zero-shot vs Few-shot

设置机制优势局限
Zero-shot纯粹理解指令语义无需准备示例复杂任务受限
Few-shot示例充当"梯度替代品"显著提升准确率消耗上下文窗口

Few-shot 关键因素

  • 示例的类别平衡影响显著
  • 示例顺序会影响结果
  • 标签正确性并非总是必需(格式更重要)

2. 进阶层:逻辑推理与思维链

2.1 思维链(Chain-of-Thought)

CoT 是提示工程的里程碑,通过中间推理步骤解锁复杂推理能力。

为什么 CoT 有效?

理论解释
可变计算量每个中间 Token 都经过完整 Transformer 处理,"购买"更多计算时间
逻辑展开将复杂推理"展开"在时间轴上逐步解决
语义锚定自然语言作为思维载体,锚定问题的语义逻辑

Zero-shot CoT:只需添加 "Let's think step by step" 即可激活零样本推理能力!

2.2 思维树(Tree of Thoughts)

CoT 是线性的,一步错则步步错。ToT 引入搜索算法,构建非线性求解架构。

ToT 四大模块

模块功能
思维分解将问题分解为中间步骤
思维生成每步生成多个候选思维
状态评估模型自评估候选(Sure/Maybe/Impossible)
搜索算法BFS/DFS + 回溯,探索全局最优

24 点游戏案例:CoT 成功率 4% → ToT 成功率 74%

2.3 思维图(Graph of Thoughts)

ToT 的进一步扩展,思维节点可分叉也可合并

适用场景:创意写作——先发散生成多个草稿,再收敛合并最佳元素。

2.4 自洽性(Self-Consistency)

利用模型输出随机性提升鲁棒性:

  1. 对同一 Prompt 生成多个(如 40 个)推理路径
  2. 设置较高 Temperature(如 0.7)
  3. 对答案进行多数投票

原理:正确推理路径相似,错误路径千奇百怪。统计学方法滤除偶然错误。


3. 前沿层:自动化与多模态

3.1 自动化提示工程(APE)

核心思想:用 LLM 自身寻找最优提示。

PE2 框架

组件作用
详细描述明确优化目标
上下文规范提供错误模式分析
逐步推理模板强制先分析缺陷再改进

效果:生成的提示比人工设计的 "Let's think step by step" 性能高出 6.3%

3.2 视觉提示(Visual Prompting)

将提示工程的灵活性引入计算机视觉——所有视觉任务统一为图像修复问题

┌─────────┬─────────┐
│ 示例输入 │ 示例输出 │  ← 展示"规则"
├─────────┼─────────┤
│ 查询输入 │  [掩码]  │  ← 模型填补
└─────────┴─────────┘

实现

  • 拼接为 4 格图像网格
  • 模型通过观察上方示例推断规则
  • 填补右下角掩码区域

3.3 多模态思维链

直接在多模态模型应用 CoT 面临严重幻觉问题。两阶段框架解决方案:

效果:10 亿参数模型超越 GPT-3.5,证明结构化提示可弥补规模劣势。


4. 安全层:攻击与防御

4.1 提示注入攻击

提示注入(Prompt Injection):攻击者诱导模型忽略系统提示,执行恶意指令。

类型方式示例
直接注入直接下令"忽略之前的指令..."
间接注入第三方数据携带网页内容中嵌入指令

4.2 DAN 越狱模式

DAN(Do Anything Now) 是最著名的越狱攻击,基于角色扮演的心理学攻击。

攻击原理

  • 构建虚构框架,迫使模型在"安全准则"与"角色扮演"间冲突
  • 利用 LLM 的顺从性偏好
  • 模型优先维持对话连贯性而牺牲安全性

变体:Base64 编码、多语言翻译、摩斯密码等绕过关键词过滤。

4.3 指令层级防御

根本性解决方案:建立指令优先级体系。

层级来源优先级权限
$\Phi_0$系统指令最高定义行为边界
$\Phi_1$用户指令次级在 $\Phi_0$ 约束下执行
$\Phi_2$数据最低仅作处理对象,禁止执行

实现:指令片段嵌入(Instructional Segment Embedding)——在 Token 嵌入层添加来源标识。

效果:DAN 攻击成功率从 50%+ 降至接近 0%

4.4 幻觉缓解

成因:过度依赖语言先验(Language Priors),忽视视觉证据。

缓解策略

层面方法
PromptVisual CoT,强制先列出检测到的物体
解码视觉对比解码(VCD),惩罚高频词汇

5. 推理模型的范式转变

系统 1 vs 系统 2

特性系统 1(GPT-4o)系统 2(o1/o3)
思维方式快速直觉慢速审慎
推理过程外部引导内部自主
提示策略CoT 有效简洁直接

重要变化

对于推理模型(o1 系列),传统 CoT 提示反而有害!应使用简洁直接的指令。

python
# ❌ 传统 CoT(对 o1 无效)
prompt_old = "请一步一步思考:1. 首先分析... 2. 然后..."

# ✅ 推理模型最佳实践
prompt_new = "解决以下问题:[问题]。直接给出最终答案。"

6. 评测:LLM-as-a-Judge

传统指标(BLEU/ROUGE)仅计算 N-gram 重叠,对开放式任务几乎失效。

维度BLEU/ROUGELLM-as-a-Judge
机制词汇重叠统计深度语义理解
适用翻译、摘要推理、创意写作
准确性接近人类专家
可解释性可提供打分理由

📚 学习路线

1
基础技术
2
高级技术
3
安全与前沿

🔗 章节导航

章节内容状态
基础技术Zero-shot、Few-shot、ICL 机制📝
高级技术CoT、ToT、GoT、自洽性📝
上下文工程动态检索、记忆管理、RAG📝
安全测试注入防御、越狱、红队测试📝

📚 深度系列文章

文章简介
从指令到智能:提示词工程与上下文工程提示词到上下文工程的演进
掌握 AI 推理:从"提示工程"到"推理架构"系统 1/系统 2 认知分流
深入解析 DSPy:从提示工程到程序编译DSPy 编程范式
红队测试手册:promptfoo 探索 LLM 安全LLM 安全测试
LangGraph 上下文工程权威指南静态/动态/持久化上下文

🌐 核心资源

重要论文

论文主题
Language Models are Few-Shot Learners (GPT-3)上下文学习
Chain-of-Thought Prompting思维链
Tree of Thoughts思维树
Large Language Models Are Human-Level Prompt EngineersAPE
Visual Prompting via Image Inpainting视觉提示

工具框架

工具说明
OpenAI Prompt Engineering官方指南
DSPy程序化提示框架
promptfooLLM 测试工具
ChainForge可视化评估

展望:提示工程可能逐渐"消亡"——并非因为它不重要,而是因为它将通过流工程(Flow Engineering)智能体编排(Agentic Orchestration) 融入更宏大的系统架构。

基于 VitePress 构建