简介
1、什么是 Prompt Engineering?解释这个词之前,首先需要解释 prompt 这个词。简单的理解它是给 AI 模型的指令。它可以是一个问题、一段文字描述,甚至可以是带有一堆参数的文字描述。AI 模型会基于 prompt 所提供的信息,生成对应的文本,亦或者图片。比如,我们在 ChatGPT 里输入 What is the capital of China? (中国 ...
基础用法
如果你没怎么使用过类似 ChatGPT 这类 Chatbot 产品,我简单说下它的基本用法:
[*]你只需要登录 ChatGPT 后,在输入框内输入问题,或者指令即可。AI 会根据你的指令,返回相应的内容,在后续的章节中,我会介绍更详细的用法与技巧:
[*]另外,还有一个特别留意的,ChatGPT 跟你之前用的一些 AI 产品不同,它还支持多轮 ...
基本原则 & 建议
在和 ChatGPT 对话时,亦或者在使用和设计 prompt 时,有以下几个原则与建议。记住这几个原则,能让你写出更好的 prompt ?1、建议使用最新的模型如果你是直接使用 AI 产品,比如 ChatGPT 或者 Midjourney,那无需在意这个原则。如果你是通过 API 或者 OpenAI Playground 的方式使用,则建议你先使用最新的模型测试。2、Pr ...
场景1:问答问题
这个场景应该是使用 AI 产品最常见的方法。以 ChatGPT 为例,一般就是你提一个问题,ChatGPT 会给你答案,比如像这样:
在这个场景下,prompt 只要满足前面提到的基本原则,基本上就没有什么问题。但需要注意,不同的 AI 模型擅长的东西都不太一样,prompt 可能需要针对该模型进行微调。另外,目前的 AI 产品,也不是无所 ...
场景2:基于示例回答
1、场景介绍在某些场景下,我们能比较简单地向 AI 描述出什么能做,什么不能做。但有些场景,有些需求很难通过文字指令传递给 AI,即使描述出来了,AI 也不能很好地理解。比如给宠物起英文名,里面会夹杂着一些所谓的名字风格。此时你就可以在 prompt里增加一些例子,我们看看这个例子。这个是没有任何示例的 Prompt:[mw ...
场景3:推理
1、场景介绍在问答这个大场景下,还有一个子场景是推理,这个场景非常有意思,而且是个非常值得深挖的场景,prompt 在此场景里发挥的作用非常大。如果你想用 ChatGPT API 做点什么小应用,我建议可以从这个场景入手,相对来说没有其他场景那么红海。举个比较简单的例子,我将美国工商管理硕士的入学考试 GMAT 的一道数学 ...
场景4:无中生有——写代码 场景介绍
1、场景介绍除了回答问题外,另一个重要的场景是让 AI 根据你的要求完成一些内容生成任务,根据输出的结果差异,我将其概括为以下几个主要场景:
[*]无中生有
[*]锦上添花
[*]化繁为简
本章,我们先来聊聊「无中生有」场景。顾名思义,就是让 AI 给你生成一些内容。你只需要向 AI 描述你想写的内容,AI 就会按你的要求写出 ...
场景5:锦上添花——改写内容
1、场景介绍除了从 0 生成内容外,你也可以先给 AI 一段已经写好的内容,然后让 AI 对其进行修改,让 AI 帮你将内容改得更好。实际的场景有如:
[*]翻译:将中文文档翻译成英文,亦或者将英文翻译成中文。关于翻译,我还想强调,像 ChatGPT 除了能翻译人类的语言外,还能翻译编程语言,比如将 Python 代码翻译成 Haskell ...
场景6:锦上添花——信息解释
1、场景介绍锦上添花下的第二大的场景是信息解释。它跟改写内容有点像,但又不太一样,信息解释有可能提供超过原文内容的信息。举几个信息解释的例子,大家应该就能理解了:
[*]解释代码:比如你看到一段 Python 的代码,但你看不懂,你可以让 AI 解释下代码的含义。
[*]解释论文:看某篇论文看不懂,或者论文里的某一段 ...
场景7:化繁为简——信息总结
1、场景介绍内容生成大场景下的第二个场景是化繁为简,这个场景其实很好理解,就是将复杂的内容,转为简单的内容,一般常遇到的场景有:
[*]信息总结:顾名思义,就是对一堆信息进行总结。
[*]信息解释:这个跟改写内容有点像,但这个更偏向于解释与总结。下一章会给大家介绍更多的例子。
[*]信息提取:提取信息里的某一 ...
场景8:化繁为简——信息提取
1、场景介绍介绍完信息总结,再聊聊信息提取,我认为这个场景是继场景3推理以外,第二个值得深挖的场景。这个场景有非常多的有意思的场景,比如:
[*]将一大段文字,甚至网页里的内容,按要求转为一个表格。按照这个思路你可以尝试做一个更智能的,更易懂的爬虫插件。
[*]按照特定格式对文章内容进行信息归类。
第二个可 ...
ChatGPT Prompt Framework
看完基础篇的各种场景介绍后,你应该对 Prompt 有较深的理解。之前的章节我们讲的都是所谓的「术」,更多地集中讲如何用,但讲「道」的部分不多。高级篇除了会讲更高级的运用外,还会讲更多「道」的部分。高级篇的开篇,我们来讲一下构成 prompt 的框架。1、Basic Prompt Framework查阅了非常多关于 ChatGPT prompt 的框 ...
Zero-Shot Prompts
在基础篇里的推理场景,我提到了 Zero-Shot Prompting 的技术,本章会详细介绍它是什么,以及使用它的技巧。1、介绍Zero-Shot Prompting 是一种自然语言处理技术,可以让计算机模型根据提示或指令进行任务处理。各位常用的 ChatGPT 就用到这个技术。传统的自然语言处理技术通常需要在大量标注数据上进行有监督的训练,以 ...
Few-Shot Prompting
同样在推理场景,我提到了 Few-Shot Prompting 的技术,本章介绍下它的优缺点和技巧。1、介绍我们在技巧2 中,提到我们可以给模型一些示例,从而让模型返回更符合我们需求的答案。这个技巧其实使用了一个叫 Few-Shot 的方法。这个方法最早是 Brown 等人在 2020 年发现的,论文里有一个这样的例子,非常有意思,通过这个例 ...
Self-Consistency
Self-Consistency 自洽是对 Chain of Thought 的一个补充,它能让模型生成多个思维链,然后取最多数答案的作为最终结果。按照 Xuezhi Wang 等人在 2022 年发表的论文 表明。当我们只用一个逻辑链进行优化时,模型依然有可能会算错,所以 XueZhi Wang 等人提出了一种新的方法,让模型进行多次运算,然后选取最多的答案作为最 ...
PAL Models
PAL Models,全称为 Program-Aided Language Models。需要各位注意,这个方法,真的非常高级,甚至我觉得有点 Hack,而且经过我的多次测试,我觉得以 ChatGPT 目前的能力,已经不再需要使用这个方法。但我在很多 PE 的教程里都有看到这个方法,所以我这里就简单介绍一下,这个方法来自于 2022 年,Luyu Gao 等人的研究,根 ...
OpenAI Playground 使用方法
如果你想要更好地了解 OpenAI 的 API,并且你常常会遇到 ChatGPT 不可用的情况。那我建议你使用 OpenAI 的 Playground。它会比较稳定。但需要注意,这个 Playground 会消耗你的免费 Credit。
你会在界面的右侧看到以下几个参数:
[*]Mode: 最近更新了第四种 Chat 模式,一般使用 Complete 就好,当然你可以用其他模式,其 ...
搭建基于知识库内容的机器人
如果你仅想要直接实践,可以看最后一部分实践,以及倒数第二部分限制与注意的地方。1、简介这个想法,来源于我的个人需求,我连载了将近 100 期 newsletter,积累了很多内容,我希望将这些资料导入给 AI ,然后 AI 能拿这些数据回答我的问题,甚至能给我一些写作建议等。最早的时候,我尝试过非常笨的方法,就是在提问的 ...
技巧1:To Do and Not To Do
在问答场景里,为了让 AI 回答更加准确,一般会在问题里加条件。比如让 AI 推荐一部电影给你 Recommend a movie to me 。但这个 prompt 太空泛了,AI 无法直接回答,接着它会问你想要什么类型的电影,但这样你就需要跟 AI 聊很多轮,效率比较低。所以,为了提高效率,一般会在 prompt 里看到类似这样的话(意思是不要询问 ...
技巧2:增加示例
比如给宠物起英文名,里面会夹杂着一些所谓的名字风格。此时你就可以在 prompt里增加一些例子,我们看看这个例子:[mw_shl_code=applescript,false]Suggest three names for a horse that is a superhero.[/mw_shl_code]
Output 是这样的,第一个感觉还行,第二个 Captain 有 hero 的感觉,但 Canter 就像是说这匹马跑得很 ...