AI应用开发 3 - prompt 提示词工程

GitHub - mattnigh/ChatGPT3-Free-Prompt-List: A free guide for learning to create ChatGPT3 Prompts

1.CRISPE框架

CRISPE Prompt Framework,CRISPE 是首字母的缩写,分别代表以下含义:

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

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

S:Statement(陈述),你希望 ChatGPT 做什么。

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

E:Experiment(实验),要求 ChatGPT 为你提供多个答案。

github 上的那 prompt 角色大全基本都是 CRISPE 框架。

2.Prompt Engineering定义

定义:Prompt Engineering 是设计和优化输入提示(prompt)以获得预期输出的过程。在与大型语言模型(如 GPT-4)交互时,如何构造提示会显著影响模型的回答质量。

例子

  • 简单提示"告诉我关于猫的事情。"
  • 优化提示"请详细描述猫的生物学特征、行为习惯以及它们在不同文化中的象征意义。"

通过优化提示,用户可以引导模型生成更详细和有用的回答。

Prompt Engineering 是设计和优化输入提示以获得预期输出的过程。为了在使用大型语言模型(如 GPT-4)时获得最佳结果,以下是一些最佳实践:

1. 明确目标

2. 提供上下文

3. 使用具体的指示

4. 提供示例

5. 使用分步指示

分解为多个步骤,逐步引导模型完成。

6. 控制输出长度

通过提示控制输出的长度,确保内容简洁或详细。

7. 使用占位符和模板

使用占位符和模板来指示需要填充的内容或格式。

8. 反复试验和调整

明确指定输出格式,确保生成内容符合预期。

9. 指定输出格式

  • 无格式指定"生成一个关于公司财务状况的报告。"

  • 有格式指定"生成一个关于公司财务状况的报告,格式如下:\n\n1. 收入:\n2. 支出:\n3. 净利润:\n4. 财务分析:"

10. 使用多轮对话

在需要时,通过多轮对话逐步引导模型生成所需内容。

11. 使用反思和迭代

在生成初步答案后,反思并可能修改其回答,以提高准确性和质量。

3.提示技术

1. Zero-shot

Zero-shot 是指模型在没有任何示例的情况下完成任务。

2. Few-shot

Few-shot 是指模型在完成任务之前。

3. Chain-of-Thought (CoT)

Chain-of-Thought 是一种提示技术,通过展示模型思考过程的步骤来解决复杂问题。

例子

  • 提示"如果一个苹果和一个香蕉的总价是3美元,一个苹果的价格是2美元,那么一个香蕉的价格是多少?请展示你的思考过程。"
  • 回答"首先,苹果的价格是2美元。总价是3美元,所以香蕉的价格是3美元减去2美元,等于1美元。"

通过展示思考过程,模型可以更清晰地推理出正确答案。

4. ReAct

ReAct 是一种结合反应(Reaction)和行动(Action)的提示技术。

例子

  • 提示"你是一个虚拟助手。用户问:'我今天应该穿什么衣服?' 你需要根据天气情况给出建议。步骤1:查询天气。步骤2:根据天气给出建议。"
  • 回答
    • 步骤1"查询天气:今天的天气是晴天,温度在25-30度之间。"
    • 步骤2"建议:今天适合穿轻便的夏装,比如T恤和短裤。"

通过分步骤反应和行动,模型可以更有效地完成复杂任务。

5. Reflexion

Reflexion 是一种提示技术,模型在生成初步答案后,反思并可能修改其回答。

定义:Reflexion 是一种提示技术,模型在生成初步答案后,反思并可能修改其回答。这个过程可以提高答案的准确性和质量。

例子

  • 提示"解释为什么天空是蓝色的。"
  • 初步回答"因为大气中的氧气和氮气散射阳光中的蓝色光。"
  • 反思"这解释不够准确。实际上,蓝色光被散射得更多是因为瑞利散射效应。"
  • 修改回答"天空是蓝色的,因为阳光穿过大气层时,短波长的蓝色光比其他颜色的光被空气分子散射得更多,这种现象被称为瑞利散射。"

6. Prompt Chaining

Prompt Chaining 是将多个提示串联起来,以分步解决复杂问题或完成多步骤任务。

定义:Prompt Chaining 是将多个提示串联起来,以分步解决复杂问题或完成多步骤任务。

例子

  • 任务:写一篇关于气候变化的文章。
  • 提示链
    1. "首先,简要介绍什么是气候变化。"
    2. "接下来,描述气候变化的主要原因。"
    3. "然后,讨论气候变化的影响。"
    4. "最后,提出应对气候变化的建议。"

通过将任务分解为多个步骤,模型可以更系统和有条理地完成复杂任务。

这些技术和方法帮助用户更有效地与大型语言模型互动,获得更高质量的输出。

4.结构化输出

结构化输出在 Prompt Engineering 中是指通过设计特定的提示,引导语言模型生成具有明确格式或结构的输出。这在需要处理数据表格、生成代码、创建报告等任务中尤为重要。通过结构化输出,可以确保生成的内容符合预期的格式,便于后续处理和使用。

4.1 结构化输出的常见形式

JSON 格式:适用于需要生成或处理数据对象的任务。

Markdown 格式:用于生成文档或报告,便于阅读和展示。

表格格式:适用于数据展示和分析。

代码格式:用于生成特定编程语言的代码片段。

4.2 设计结构化输出提示的技巧

明确格式要求:在提示中清晰地说明输出的格式。

提供示例:通过示例展示期望的输出格式。

使用占位符:在提示中使用占位符来指示需要填充的内容。

4.2.1 示例 1:生成 JSON 格式的数据

请生成一个包含以下信息的 JSON 对象:

  • 名字

  • 年龄

  • 职业

  • 兴趣爱好

示例格式:

{

"name": "张三",

"age": 30,

"occupation": "软件工程师",

"hobbies": ["阅读", "旅行", "编程"]

}
{

"name": "李四",

"age": 25,

"occupation": "数据分析师",

"hobbies": ["绘画", "跑步", "音乐"]

}

4.2.2 示例 2:生成 Markdown 格式的报告

请根据以下信息生成一份 Markdown 格式的报告:

  • 标题:气候变化对农业的影响

  • 引言:简要介绍气候变化的背景。

  • 影响:详细描述气候变化对农业的具体影响。

  • 结论:总结并提出应对措施。

示例格式:

标题

引言

内容

影响

内容

结论

内容

气候变化对农业的影响

引言

气候变化是指长期气候模式的变化,主要由人类活动引起的温室气体排放导致。这些变化对全球的生态系统和人类社会产生了深远的影响。

影响

气候变化对农业的影响主要体现在以下几个方面:

  1. **作物生长周期**:温度升高和降水模式的变化影响作物的生长周期,可能导致减产。

  2. **病虫害**:气候变化可能增加病虫害的发生频率和严重程度,对农业生产构成威胁。

  3. **水资源**:气候变化导致的极端天气事件,如干旱和洪水,影响农业用水的可用性和质量。

结论

为了应对气候变化对农业的影响,需要采取以下措施:

  1. 推广耐高温和抗旱作物品种。

  2. 改进农业灌溉技术,提高用水效率。

  3. 加强农业病虫害监测和防治工作。

4.2.3 示例 3:生成表格格式的数据

请生成一张包含以下信息的表格:

  • 产品名称

  • 价格

  • 库存数量

  • 供应商

示例格式:

| 产品名称 | 价格 | 库存数量 | 供应商 |

|----------|------|----------|--------|

| 产品A | 100 | 50 | 供应商1|

| 产品B | 200 | 30 | 供应商2|
| 产品名称 | 价格 | 库存数量 | 供应商 |

|----------|------|----------|--------|

| 产品C | 150 | 20 | 供应商3|

| 产品D | 250 | 10 | 供应商4|

5.Prompt 应用

1. 数据处理

  • 数据清理
    • 提示"请将以下数据转换为标准日期格式:'12/31/2023', '01-01-2024', '2024.02.28'。"
    • 输出"2023-12-31, 2024-01-01, 2024-02-28"
  • 数据转换
    • 提示"请将以下CSV数据转换为JSON格式:\nName, Age, City\nAlice, 30, New York\nBob, 25, Los Angeles"
    • 输出
    • {"Name": "Alice", "Age": 30, "City": "New York"}, {"Name": "Bob", "Age": 25, "City": "Los Angeles"}

2. 代码生成

相关推荐
FserSuN2 小时前
Prompt工程学习之思维树(TOT)
人工智能·学习·prompt
深科文库4 小时前
构建 MCP 服务器:第 4 部分 — 创建工具
python·chatgpt·prompt·aigc·agi·ai-native
幼稚园的山代王4 小时前
Prompt Enginering(提示工程)先进技术
java·人工智能·ai·chatgpt·langchain·prompt
迪娜学姐1 天前
GenSpark vs Manus实测对比:文献综述与学术PPT,哪家强?
论文阅读·人工智能·prompt·powerpoint·论文笔记
衣乌安、2 天前
如何写高效的Prompt?
人工智能·prompt
科技资讯快报2 天前
告别Prompt依赖,容联云让智能体嵌入金融业务流
大数据·人工智能·prompt
java干货2 天前
每日Prompt:云朵猫
prompt
shadowcz0072 天前
Prompt提示工程指南#Kontext图像到图像
prompt
胡耀超2 天前
大语言模型提示词(LLM Prompt)工程系统性学习指南:从理论基础到实战应用的完整体系
人工智能·python·语言模型·自然语言处理·llm·prompt·提示词
姚瑞南3 天前
【Prompt实战】国际翻译小组
人工智能·prompt·gpt-3·文心一言·机器翻译