游乐游手机版
首页/AI热点日报/热点详情

提示词工程核心概念与实用技巧全面详解

类型:热点整理2026-07-13
提示工程通过设计输入提示优化AI模型输出质量,涵盖CRISPE框架、最佳实践及多种提示技术(零样本、少样本、思维链等),并支持结构化输出与多场景应用,有效提升生成内容的准确性与可控性。

Prompt Engineering(提示工程)是优化与AI模型互动质量的关键技能。通过精心设计输入提示(prompt),你可以引导大型语言模型生成更准确、更有用的回答。本教程将系统讲解Prompt的核心概念、CRISPE框架、最佳实践、高级提示技术、结构化输出以及实际应用场景,帮助你快速提升提示设计能力。

一、Prompt基础概念

1. Prompt是什么?

Prompt是一种人为构造的输入序列,用于引导GPT模型根据先前输入的内容生成相关的输出。简单来说,就是你向模型提供的“提示词”

2. Prompt如何生成?

要写出高质量的Prompt,可以借助CRISPE Prompt Framework(由GitHub大佬Matt Nigh提出)。详见下一章节。

小提示: 好的Prompt通常包含四个要素:角色、背景、任务、风格。你可以从简单开始,逐步优化。

二、CRISPE Prompt框架

CRISPE是首字母缩写,分别代表:

  • CR:Capacity and Role(能力与角色) – 你希望ChatGPT扮演怎样的角色。
  • I:Insight(洞察) – 背景信息和上下文。
  • S:Statement(陈述) – 你希望ChatGPT做什么。
  • P:Personality(个性) – 你希望ChatGPT以什么风格或方式回答你。
  • E:Experiment(实验) – 要求ChatGPT为你提供多个答案。

GitHub上的Prompt角色大全基本都是基于CRISPE框架:先定角色,后说背景,再提要求,最后定风格。是否生成多个示例可以看自己喜好。

参考链接:https://github.com/mattnigh/ChatGPT3-Free-Prompt-List

三、Prompt的重要性

合理使用Prompt可以带来以下好处:

  • 提高生成准确性: 通过正确引导,模型能更好理解用户意图,生成更准确文本。
  • 增强自由度: 不同Prompt让模型生成多样文本,表现力更丰富。
  • 提高效率: 若已知大致内容,正确Prompt可让模型更快输出结果。

四、Prompt Engineering定义与最佳实践

定义

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

例如:

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

11条最佳实践

  1. 明确目标: 明确任务或问题。
    示例:"请简要描述气候变化的主要原因及其对农业的影响。"
  2. 提供上下文: 给出必要的背景信息。
    示例:"作为一名高中生,我正在学习微积分。请用简单的语言解释微积分的基本概念。"
  3. 使用具体的指示: 避免模糊不清。
    示例:"请写一篇关于人工智能在医疗领域应用的文章,包含应用场景、优势和挑战。"
  4. 提供示例: 展示期望的输出格式或内容。
    示例:"生成一个关于产品的报告,格式如下:\n- 产品名称:\n- 价格:\n- 特点:\n- 优点:\n- 缺点:"
  5. 使用分步指示: 将复杂任务分解为多步。
    示例:"首先,解释如何解方程。然后,解方程2x + 3 = 7。"
  6. 控制输出长度: 指定简洁或详细。
    示例:"用不超过100字解释量子力学的基本概念。"
  7. 使用占位符和模板: 指示需要填充的内容。
    示例:"生成一个用户注册表单,包含以下字段:用户名、密码、邮箱、电话号码。"
  8. 反复试验和调整: 观察输出并优化提示。
    示例:从"描述Python编程语言"调整为"描述Python主要特点和常见应用场景"
  9. 指定输出格式: 确保内容符合预期。
    示例:"生成一个关于公司财务状况的报告,格式如下:\n1. 收入:\n2. 支出:\n3. 净利润:\n4. 财务分析:"
  10. 使用多轮对话: 逐步引导模型生成所需内容。
  11. 使用反思和迭代: 生成初步答案后,反思并修改,提高准确性。

小提示: 最佳实践并非万能公式,需要根据具体场景灵活组合。建议先确定目标,再选择合适的策略。

五、提示技术

1. Zero-shot(零样本)

模型在没有示例的情况下直接完成任务,依靠预训练知识和提示。

提示:"翻译这句话:'The cat is on the roof.'"
回答:"猫在屋顶上。"

2. Few-shot(少样本)

提供几个示例帮助模型理解任务。

提示:"翻译以下句子:'The dog is in the garden.' -> '狗在花园里。' 'The bird is in the tree.' -> '鸟在树上。' 'The cat is on the roof.' ->"
回答:"猫在屋顶上。"

3. Chain-of-Thought (CoT)(思维链)

通过展示思考过程的步骤来解决复杂问题。

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

4. ReAct(反应+行动)

结合反应和行动,用于交互式或复杂决策任务。

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

5. Reflexion(反思)

模型生成初步答案后,反思并修改回答,提高准确性。

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

6. Prompt Chaining(提示链)

将多个提示串联起来,分步解决复杂问题。

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

六、结构化输出

定义与重要性

结构化输出是指通过设计特定提示,引导模型生成具有明确格式或结构的输出。适用于数据表格、代码生成、报告创建等任务,确保内容符合预期格式,便于后续处理。

常见形式

  • JSON格式: 处理数据对象。
  • Markdown格式: 文档或报告。
  • 表格格式: 数据展示与分析。
  • 代码格式: 生成特定语言的代码片段。

设计技巧

  • 明确格式要求
  • 提供示例
  • 使用占位符

JSON示例

请生成一个包含以下信息的 JSON 对象:
- 名字
- 年龄
- 职业
- 兴趣爱好
示例格式:
{"name": "张三","age": 30,"occupation": "软件工程师","hobbies": ["阅读", "旅行", "编程"]}

Markdown示例

请根据以下信息生成一份 Markdown 格式的报告:
- 标题:气候变化对农业的影响
- 引言:简要介绍气候变化的背景。
- 影响:详细描述气候变化对农业的具体影响。
- 结论:总结并提出应对措施。
示例格式:
# 标题
## 引言
内容
## 影响
内容
## 结论
内容

表格示例

请生成一张包含以下信息的表格:
- 产品名称
- 价格
- 库存数量
- 供应商
示例格式:
| 产品名称 | 价格 | 库存数量 | 供应商 |
|----------|------|----------|--------|
| 产品A | 100 | 50 | 供应商1|
| 产品B | 200 | 30 | 供应商2|

代码示例

请根据以下要求生成一段 Python 代码:
- 定义一个函数 `add_numbers`,接受两个参数 `a` 和 `b`,返回它们的和。
- 打印函数的调用结果,参数为 5 和 10。
示例格式:
```python
def function_name(parameters):
    # function body
print(function_name(arguments))

七、Prompt应用场景

1. 数据处理

数据清理:提示:"请将以下数据转换为标准日期格式:'12/31/2023', '01-01-2024', '2024.02.28'。"
输出:"2023-12-31, 2024-01-01, 2024-02-28"

数据转换:提示:"请将以下CSV数据转换为JSON格式:
Name, Age, City
Alice, 30, New York
Bob, 25, Los Angeles"
输出:[{"Name":"Alice","Age":30,"City":"New York"},{"Name":"Bob","Age":25,"City":"Los Angeles"}]

2. 代码生成

代码生成:提示:"请用Python编写一个函数,计算一个列表中所有数字的平均值。"
输出:
def calculate_a verage(numbers):
    return sum(numbers) / len(numbers)

代码优化:提示:"请优化以下Python代码以提高性能:
for i in range(1000000):
    result.append(i * 2)"
输出:
#列表推导式:通过列表推导式,我们可以在一行代码中完成原本需要多行的操作。它不仅简洁,而且通常更高效。
#性能提升:列表推导式在底层进行了优化,减少了函数调用和解释器的开销,因此在处理大规模数据时能显著提升性能。
result = [i * 2 for i in range(1000000)]

3. 函数定义

提示:"请定义一个Python函数,接受两个字符串参数,返回它们的拼接结果。"
输出:
def concatenate_strings(str1, str2):
    return str1 + str2

4. 分类任务

文本分类:提示:"请将以下句子分类为'正面'或'负面':'我今天很开心。' '这个产品真糟糕。'"
输出:"正面:'我今天很开心。' 负面:'这个产品真糟糕。'"

情感分析:提示:"请分析以下评论的情感:'这部电影非常棒!' '我对这次服务很失望。'"
输出:"正面:'这部电影非常棒!' 负面:'我对这次服务很失望。'"

5. 创意生成

生成创意内容,如故事、广告文案等。

6. 内容生成

生成文章、报告等。

7. 汇总信息

汇总和总结信息。

8. 风险与安全管理

风险评估:
提示:"请评估以下项目的潜在风险:'项目描述:AI技术医疗项目'"
输出:"潜在风险:1. 项目延期。2. 预算超支。3. 技术实现难度大。"

安全建议:
提示:"请提供关于数据隐私保护的安全建议。"
输出:"1. 使用强密码和双因素认证。2. 定期更新和补丁系统。3. 加密敏感数据。4. 进行定期安全审计。"

八、常见问题

Q1: Zero-shot和Few-shot有什么区别?

A: Zero-shot完全不提供示例,模型仅靠预训练知识和提示完成任务;Few-shot则提供少量示例(通常2-5个)来帮助模型理解任务范式,效果通常更好。

Q2: 如何选择提示技术?

A: 任务简单且明确时用Zero-shot;需要格式或风格引导时用Few-shot;需要推理步骤时用CoT;需要交互式决策时用ReAct;需要提高答案质量时用Reflexion;复杂多步任务用Prompt Chaining。

Q3: 结构化输出提示中,示例必须完全相同吗?

A: 不必完全一致,但示例越贴近你期望的格式,模型生成的结果越准确。建议提供1-2个示例,并在提示中明确要求“按此格式输出”。

Q4: 使用Reflexion时,如何确保模型反思有效?

A: 可以在初始提示中加入“请检查你的回答是否正确,如果不正确请修正”等指令。也可以后续再发一条“请反思上述回答,并给出改进版”来触发反思机制。

总结

Prompt Engineering是高效使用AI的必备技能。通过掌握CRISPE框架、最佳实践和高级提示技术,你能显著提升模型输出的质量和可控性。建议在实践中不断尝试、记录和优化,逐步形成自己的提示设计方法论。

来源:https://www.53ai.com/news/tishicijiqiao/2025052770623.html

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。