Prompt Engineering: 使用生成式AI的科学指南

前言

人工智能领域正在被大模型席卷,过去六个月内,我们见证了各种 AI 工具的兴起(如 ChatGPT、Claude-Instant、PaLM、Midjourney)。每个人都应该关注 AI 领域的发展,因为 AI 可以自动化许多你当前耗费大量时间的任务。

什么是 Prompt Engineering

Prompt Engineering 是与生成式 AI 交互的一种输入风格指南。它的核心是开发一系列风格指南和输入模板,通过调整输入影响 AI 生成的输出。通过适当的提示(prompt)和约束,我们可以改变 AI 的认知方式及“意图”,进而影响其生成的内容。

借助 Prompt Engineering 技巧,我们可以控制 AI 工具输出的范围,使其聚焦于特定话题或思路,同时提高输出质量,减少偏差和错误,增强答案的准确性,从而让 AI 生成符合我们期望的结果。从整体来看,Prompt Engineering 就是利用输入风格和约束,引导与生成式 AI 交互的过程,以实现有效且可控的输出。

理解生成式 AI 的思维方式

在学习如何编写有效的 Prompt 之前,我认为有必要先了解生成式 AI 的基本工作原理。以流行的文本生成 AI 为例,它的大脑由数十亿个人工神经元组成,这些神经元的结构被称为Transformer 架构,它是一种复杂的神经网络。我们可以将其理解为编码器-解码器(Encoder-Decoder,简称 ED) 模型,其中:

  • 编码器(Encoder):将用户输入(自然语言句子)转换为 AI 可理解的形式(上下文信息)。
  • 解码器(Decoder):将 AI 处理后的信息转换回用户可理解的文本(输出目标语言句子)。

需要注意的是,AI 本质上只是一个数学函数。尽管它远比 f(x) = 2x+1 这样的简单函数复杂,但仍然遵循一定的数学原理。AI 通过将句子拆分为 Token(标记) 来理解文本。例如,输入 “I prefer coffee to tea.",AI 可能会拆分为 "I""prefer""coffee""to""tea",并将这些词向量化(转换成一组加密数字)以便理解句子。

AI 基于前一个词预测下一个词,并不是在真正“思考”,而是在计算可能性,利用涌现(emergence) 现象生成答案(这也是为什么它偶尔会给出逻辑混乱的回答)。因此,我们需要掌握 Prompt Engineering 技巧,以便让 AI 以尽可能符合我们期望的方式进行回应。

编写 Prompt 的技巧(以 Claude-Instant 为例)

想要与生成式 AI 进行高效的文本交互,我们必须学会提供适当的提示词(Prompt)。以下是一些关键的 Prompt 编写技巧:

1. 直接给出明确指令

这是最常见的方式,即提供上下文 + 直接指令,这种方式简单明了。