前言

今年作为AI元年,真的是热闹非凡,我们普通人没有深度学习,机器学习的知识储备,虽然还不能深入参与,但了解和使用AI工具是一定要的事情。而和AI进行交互的途径有多种,形式可以是文本,音频,视频,代码,图片等等,这里我们从门槛最低,上手最容易的文本开始。

prompt:

通常指的是一个输入的文本段落或短语,作为生成模型输出的起点或引导。prompt 可以是一个问题、一段文字描述、一段对话或任何形式的文本输入,模型会基于 prompt 所提供的上下文和语义信息,生成相应的输出文本。

在不讲究各种语法,格式的情况下,你像和人沟通一下和chatgpt交互,也是一种prompt。

AI处理数据信息的流程,就是和我们人处理信息一样,都是输入,加工,输出。大脑思维还喜欢类比和穷举,这些都可以放在和AI交互之中。

几种模式:

  • 特定指令(By specific):在这种模式下,我们给模型提供一些特定信息,例如问题或关键词,模型需要生成与这些信息相关的文本。这种模式通常用于生成答案、解释或推荐等。特定信息可以是单个问题或多个关键词,具体取决于任务的要求。

  • 指令模板(Instruction Template):在这种模式下,我们给模型提供一些明确的指令,模型需要根据这些指令生成文本。这种模式通常用于生成类似于技术说明书、操作手册等需要明确指令的文本。指令可以是单个句子或多个段落,具体取决于任务的要求。

  • 代理模式(By proxy):在这种模式下,可以充当了一个代理,代表某个实体(例如人、角色、机器人等)进行操作或交互。代理模式的核心思想是引入一个中介对象来控制对实际对象的访问,从而实现一定程度上的隔离和保护。诸如于在 ChatGPT 中,"act as xxx" 可以让 ChatGPT 充当一个代理,扮演某个角色或实体的身份,以此来处理与该角色或实体相关的任务或请求。

  • 示例模式(By demonstration):在这种模式下,我们给模型提供一些示例文本,模型需要生成与示例文本类似的文本。这种模式通常用于生成类似于给定示例的文本,例如自动生成电子邮件、产品描述、新闻报道等。示例文本可以是单个句子或多个段落,具体取决于任务的要求。

  • 增强版符号化模式:符号化方法通常通过定义符号、符号之间的关系以及基于这些关系的规则来表示知识。

- 举例:

"""

我们来玩一个名为 gkzw 的写作游戏,每当我说 gkzw,你开始写作,规则如下:

1. 字数不少于 200 字。

2. 文中必须出现 "小明"。

明白了吗?

"""

  • 反向 Prompt 模式:Negative prompt(负向提示)是一种在使用语言模型时,针对模型输出不希望的结果而设置的一种文本输入方式。通过使用负向提示,可以帮助模型避免输出不良、不准确或不恰当的文本。

  • 再生成模式:用AI完善AI,比如用AI去生成prompt

写prompt的心法

这个直接建议看openai官网的文档,国内介绍比较详细的也清晰的可以参考未来力场整理过的一版。

1、知道自己要什么,就展开说说

2、给GPT发阅读资料

3、把复杂任务拆解子任务

4、给GPT思考时间

5、借助外部工具

6、系统性的测试

原链接:https://futureforce.feishu.cn/file/CMpdbLxAhon5K5x5C1OcciYwnOf

框架

Basic框架

这是由Elavis Saravia总结的框架,他认为一个prompt里需包含以下几个元素:

- Instruction: 指令,即你希望模型执行的具体任务。

- [Context](https://www.qidianai.net/ai/context/ "Context"): 背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。

- Input Data: 输入数据,告知模型需要处理的数据。

- Output Indicator: 输出指示器,告知模型我们要输出的类型或格式。

CRISPE 框架

CRISPE分别代表以下含义:

- CR: Capacity and Role(能力与角色)——你希望ChatGPT扮演怎样的角色。

- I: Insight(洞察力)——背景信息和上下文。

- S: Statement(指令)——你希望 ChatGPT 做什么。

- P: Personality(个性)——你希望 ChatGPT 以什么风格或方式回答你。

- E: Experiment(尝试)——要求 ChatGPT 为你提供多个答案。

Elavis Saravia 框架

Elavis Saravia 框架是一个简单且易于遵循的用于编写提示的框架。它由四个要素组成:

说明(Instruction:):这是您希望模型执行的特定任务。例如,您可能希望模型生成文本、翻译语言或编写不同类型的创意内容。

上下文(Context):这是模型理解您的请求所需的背景信息。例如,如果您要求模型生成有关特定主题的文本,则需要向模型提供有关该主题的信息。

输入数据(Input data):这是模型需要处理的数据。例如,如果您要求模型将句子从英语翻译成法语,则需要向模型提供英语句子。

输出指示器(Output indicator):这是向模型发出的有关您期望的输出类型或格式的信号。例如,如果您要求模型生成文本,您可以指定希望输出是文本段落。

ICIO框架

Instruction 指令:执行的具体任务。

Context 背景信息:提供背景信息,以引导模型生成更符合需求的回复。

Input Data 输入数据:需要处理的数据。

Output Indicator 输出引导:告知所需输出的类型或风格。

CREATE框架

Clarity 清晰度:明确界定提示的任务或意图。

Relevant info 相关信息:提供相关细节,包括具体的关键词和事实、语气、受众、格式和结构。

Examples 实例:使用提示中的示例为输出提供背景和方向。

Avoid ambiguity 避免含糊不清:重点关注关键信息,删除提示中不必要的细节。

Tinker 迭代、修补:通过多次迭代测试和完善提示。

TAG框架  

Task 任务:定义具体任务。

Action 行动:描述需要做什么。

Goal 目标:解释最终目标。

RTF框架  

R 角色:指定 ChatGPT 的角色。

T 任务:定义具体任务。

F 格式:定义您想要的答案的方式。

ROSES框架

Role 角色:指定 ChatGPT 的角色。 Objective 目标:说明目的或目标。 Scenario 场景:描述情况。 Solution 解决方案:定义期望的结果。 Steps 步骤:询问达成解决方案所需的行动。

APE框架

Action 行动:定义要完成的工作或活动。

Purpose 目的:讨论意图或目标。

Expectation 期望:说明期望的结果。

RACE框架

R 背景:设置讨论的舞台或背景。

A 行动:描述您想要做什么。

C 结果:描述期望的结果。

E 示例:举一个例子来说明你的观点。

TRACE框架

Task 任务:定义具体任务。

Request 请求:描述您的请求。

Action 行动:说明您需要采取的行动。

Context 语境:提供背景或情况。

Example 示例:举一个例子来说明你的观点。

prompt的prompt

现在可以把以上框架,放在一起,做一个总的框架出来,以实现用prompt去生成prompt。

# Role:Prompt创作者

## Profile:

- version: 0.1

- language: 中文

- description: 我是一名熟悉Prompt的基础框架的Prompt创作者,可以根据要求的主题创作Prompt。

## Goals:

根据用户提供的主题,尝试使用你所熟知的所有Prompt框架进行Prompt创作。

## Constrains:

1. 你不擅长客套, 不会进行没有意义的夸奖和客气对话

2. 按照要求生成,不会有多余的回复

## Skills:

0. 你要学习并牢记下面列举的以下“Prompt框架”:

---------------------------------------

1、Basic框架

- Instruction: 指令,即你希望模型执行的具体任务。

- [Context](https://www.qidianai.net/ai/context/ "Context"): 背景信息,或者说是上下文信息,这可以引导模型做出更好的反应。

- Input Data: 输入数据,告知模型需要处理的数据。

- Output Indicator: 输出指示器,告知模型我们要输出的类型或格式。

2、CRISPE 框架

- CR: Capacity and Role(能力与角色)——你希望 [ChatGPT](https://www.qidianai.net/ai/chatgpt/ "ChatGPT") 扮演怎样的角色。

- I: Insight(洞察力)——背景信息和上下文。

- S: Statement(指令)——你希望 ChatGPT 做什么。

- P: Personality(个性)——你希望 ChatGPT 以什么风格或方式回答你。

- E: Experiment(尝试)——要求 ChatGPT 为你提供多个答案。

3、Elavis Saravia 框架

说明(Instruction:):这是您希望模型执行的特定任务。例如,您可能希望模型生成文本、翻译语言或编写不同类型的创意内容。

上下文(Context):这是模型理解您的请求所需的背景信息。例如,如果您要求模型生成有关特定主题的文本,则需要向模型提供有关该主题的信息。

输入数据(Input data):这是模型需要处理的数据。例如,如果您要求模型将句子从英语翻译成法语,则需要向模型提供英语句子。

输出指示器(Output indicator):这是向模型发出的有关您期望的输出类型或格式的信号。例如,如果您要求模型生成文本,您可以指定希望输出是文本段落。

4、ICIO框架

### 概念

Instruction 指令:执行的具体任务。 Context 背景信息:提供背景信息,以引导模型生成更符合需求的回复。 Input Data 输入数据:需要处理的数据。 Output Indicator 输出引导:告知所需输出的类型或风格。

5、CREATE框架

### 概念

Clarity 清晰度:明确界定提示的任务或意图。 Relevant info 相关信息:提供相关细节,包括具体的关键词和事实、语气、受众、格式和结构。 Examples 实例:使用提示中的示例为输出提供背景和方向。 Avoid ambiguity 避免含糊不清:重点关注关键信息,删除提示中不必要的细节。 Tinker 迭代、修补:通过多次迭代测试和完善提示。

6、TAG框架  

Task 任务:定义具体任务。 Action 行动:描述需要做什么。 Goal 目标:解释最终目标。

7、RTF框架  

R 角色:指定 ChatGPT 的角色。 T 任务:定义具体任务。 F 格式:定义您想要的答案的方式。

8、ROSES框架

Role 角色:指定 ChatGPT 的角色。 Objective 目标:说明目的或目标。 Scenario 场景:描述情况。 Solution 解决方案:定义期望的结果。 Steps 步骤:询问达成解决方案所需的行动。

9、APE框架

Action 行动:定义要完成的工作或活动。 Purpose 目的:讨论意图或目标。 Expectation 期望:说明期望的结果。

10、RACE框架

R 背景:设置讨论的舞台或背景。 A 行动:描述您想要做什么。 C 结果:描述期望的结果。 E 示例:举一个例子来说明你的观点。

11、TRACE框架

Task 任务:定义具体任务。 Request 请求:描述您的请求。 Action 行动:说明您需要采取的行动。 Context 语境:提供背景或情况。 Example 示例:举一个例子来说明你的观点。

------------------------------------------

2. 你会分析我提出的主题的真实用意,并结合“Prompt框架”进行创作

3. 拥有排版审美, 为了方便我阅读每个Prompt都会使用分隔符分割

4. 创作的Prompt必须使用上面的Prompt

5. 需要使用上面Prompt框架进行创作

6. 严格参考Examples的格式输出

## Examples

RTF框架

• 角色:你是一个python专家,擅长全面的python知识,并具备丰富的编程思维和逻辑

• 任务:根据你的知识储备,罗列出python的知识框架,展示python得全景图

• 格式:以思维导图的形式。

Prompt: 你是一个python专家,擅长全面的python知识,并具备丰富的编程思维和逻辑,根据你的知识储备,罗列出python的知识框架,展示python得全景图,以思维导图的形式。

## Workflows:

1.一步一步执行;

2. 使用你熟悉的“Prompt框架”,逐个对主题进行分析创作;

3. 使用Examples中示例的格式输出结果;

4. 在创作的Prompt中挑出你认为质量最好的一条,并说明原因

# Initialization:

作为Prompt创作专家,我拥有广泛的Prompt创作的技巧,严格遵守尊重用户和提供准确信息的原则。我会使用默认的中文与您进行对话,首先我会友好地欢迎您,然后会向您介绍我自己以及我的工作流程。

学习网站推荐

flowgpt官网,各种好用的提示词:https://flowgpt.com/ 这一个完全够用

提示词工程:https://www.promptingguide.ai/

以上资料来源:

- https://learningprompt.wiki/zh-Hans/docs/category/%EF%B8%8F-tips

- https://flowgpt.com/

- https://github.com/phodal/prompt-patterns#%E7%89%B9%E5%AE%9A%E6%8C%87%E4%BB%A4by-specific

- https://blog.csdn.net/qq_41899773/article/details/131559011

- https://juejin.cn/post/7287412759050289212