Skip to content

LV030-提示词工程

我们来看看什么叫提示词工程(Prompt Engineering)

一、概述

1. 为什么我们的 AI 输出不尽人意?

  • 让 AI 写一篇文章,结果内容泛泛而谈,毫无重点?甚至编造一些不存在的内容?
  • 提问技术问题,得到的回答却充满错误或过于简单?

2. 尝试一下

我们来到 Deepseek 官网:DeepSeek - 探索未至之境,打开一个对话框,输入以下内容:

markdown
写一个hello world程序

然后就会看到大模型开始思考,然后开始给我们结果,然后就得到了一堆的内容,可能有好几百字。那我们只是想简单了解一下呢?我们换种问法:

markdown
用户:写一篇关于AI的介绍,不要超过100字

Deepseek:人工智能是让机器模拟人类智能的科学。其核心是机器学习,能从数据中学习规律,实现图像识别、语音交互、智能推荐等功能。AI正重塑各行各业,在提升效率的同时,也带来了就业、伦理等挑战,未来将更强调人机协作与负责任的发展。

这个时候,我们就会得到一个简短的回答,不会像上面一样好几百字蹦出来。

二、提示词(Prompt)

1. 什么是提示词?

提示词是传递给大语言模型(LLM, Large Language Model)的输入规范,用于约束模型行为、限定任务范围、控制输出格式。一个 Prompt 本质上是 任务描述 + 行为规约 + 输出约束 的组合。

优秀的提示词通常具备以下特征:

  • 指令明确(Directive)
  • 上下文充足(Context)
  • 示例有效(Exemplars)
  • 格式固定(Format)
  • 风格一致(Style)
  • 无歧义(Disambiguation)

2. 工作原理

提示词在大语言模型中的作用可以分为以下几个阶段:

(1)Token 化与编码:Prompt 转换为 Token 序列,作为模型输入。

(2)上下文建模:模型根据已有知识理解意图,建立语境。

(3)概率预测:逐 token 预测最可能输出,生成响应内容。

(4)策略约束:通过 Temperature、Top-p 等采样策略控制生成过程。

(5)输出整形(Answer Engineering, Answer Engineering):结构化、解析、验证输出结果。

提示词质量直接影响模型在上下文建模与概率预测阶段的推理行为,因此 Prompt 的结构与顺序设计会显著改变输出质量。

3. 核心组成(结构视图)

提示词可以拆解为 6 个结构单元。下表展示了提示词的核心组成及其功能。

组成部分作用
Role设定模型的专业角色(审计员、工程师等)
Directive告诉模型“要做什么”
Additional Info背景知识、限制条件
ExemplarsFew-shot 示例
Format输出格式规范(JSON/Markdown/表格)
Style语气、风格(正式、简洁)

这些元素共同形成“Prompt Schema”,是所有工程化 Prompt 的基础。

二、提示词工程

1. 什么是提示词工程

那么 Prompt Engineering(提示词工程)是什么?顾名思义,是围绕 "提示词"(Prompt)进行设计、构建和优化的过程,提示词工程通过设计优化输入提示词,引导大模型生成更精准的答案,类似于给大模型装上“人类语言翻译器”。

img

简单来说,提示词工程是指如何设计、优化、调整输入给 AI 模型的提示词(Prompt),从而获得最有效、最准确的输出。

2. 提示词的要素

如果我们接触过大量提示工程相关的示例和应用,会注意到提示词是由一些要素组成的。提示词可以包含以下任意要素:

指令:想要模型执行的特定任务或指令。

上下文:包含外部信息或额外的上下文信息,引导语言模型更好地响应。

输入数据:用户输入的内容或问题。

输出指示:指定输出的类型或格式,例如 json、markdown。

3. 提示词工程:从技巧到体系化技术栈

提示词工程不仅仅依赖“经验”,而是一个系统化的技术体系。下图总结了 Prompt Engineering 的六大技术域及其代表方法:

图 2: Prompt Engineering 技术域与方法

4. 提示词工程的扩展领域

随着模型能力增强,Prompt Engineering 已从“文本提示”扩展至多语、多模态、智能体、评估、安全等方向。下图展示了提示词工程的主要扩展领域:

图 3: Prompt Engineering 扩展域

三、 提示技术

1. Zero-shot

Zero-shot 提示 指的是模型在没有见过任何与特定任务相关的示例数据的情况下,直接执行该任务。简单来说,就是 零样本提示。在 Zero-shot 学习中,模型依赖其在预训练阶段获得的知识,能够根据输入的指令或描述,完成没有直接训练过的任务。

2. Few-Shot

Few-shot 提示 指的是模型通过少量的训练示例来完成任务。通常,few-shot 提示会提供一些示例(通常在 3 到 10 个之间),使得模型能够更好地理解任务的规律和要求,就是 少样本提示。就好像是在一场密室逃脱游戏中,AI 大语言模型拿到了一些关于任务的提示卡片,让它知道应该朝着什么方向前进。

3. 思维链提示

思维链的解释很简单,意思就是给 AI 大语言模型(ChatGPT)给出一些需要思考的过程,可以是我们直接给它提供,也可以让它自己来思考。

少样本思维链:就好像在给 AI 大语言模型给出一些提示或者解题步骤,比如下面例子,第一次直接让 AI 大模型回到问题时,它直接给答案,但是是错误的。第二次通过在提示词中给出模型解题步骤,给出的答案就是正确的。

【大模型的直接思考回答】

text
问:小明现在有5个羽毛球。他买了2管羽毛球。
   每管有3个羽毛球。现在他有多少个羽毛球?
答:答案是11。

问:自助餐厅有23个苹果。如果他们用了20个来做午餐,
   并买了6个,他们现在有多少个苹果?

模型输出
答:答案是27  【错误的❎】

【提示词中告诉模型解答步骤】

text
问:小明现在有5个羽毛球。他买了2管羽毛球。
   每管有3个羽毛球。现在他有多少个羽毛球?
答:小明起初有5个羽毛球。2管每管3个羽毛球,总共6个羽毛球。
   5+6=11。答案是11。

问:自助餐厅有23个苹果。如果他们用了20个来做午餐,
   并买了6个,他们现在有多少个苹果?

模型输出
答:自助餐厅最初有23个苹果。他们用了20个来做午餐。
   所以他们还剩下23-20=3个。他们买了6个苹果,
   所以现在他们有3+6=9个。答案是9   [正确的✅]

参考资料:

大模型应用之提示词工程详解,提示词工程保姆级教程,收藏这篇就够了!_大模型 提示词工程-CSDN 博客

ASystematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications

提示词工程概述 | Jimmy Song

The Prompt Report: A Systematic Survey of Prompt Engineering Techniques

Prompt engineering concepts - Docs by LangChain