0%

精准提示词设计:让AI更懂你的需求

alt text

这篇博客分享如何设计高效提示词,让AI生成满意回复。通过设定目标、指定角色、提供场景及采用多轮迭代等方式,带领读者掌握更精准的提问技巧。我也结合具体示例讲解操作中的关键要点,列举提示词的应用价值。

什么是提示词?

提示词是一种设计和优化与AI模型的交互方式。简单来说,就是通过精心构建输入文本(提示词),来引导AI模型生成我们期望的高质量输出。这项技术的重要性在于:它不用随着大模型的发展而改变,而是适用于所有大语言模型。

为什么需要掌握提示词工程?

想必很多人都有这样的经历:看到他人能让AI模型(比如DeepSeek)输出精彩绝伦的内容,而自己使用时却总是得到驴唇不对马嘴的回答。这种差异的根本原因在于提示词的质量 —— AI能发挥多大作用,很大程度上取决于你如何提问。

使用提示词的误区

在使用提示词(Prompts)的过程中,常常会遇到一些容易被忽视或误解的地方。以下总结了若干常见的误区以及相应的思考方向,帮助更好地提升提示词的质量与效果。


1. 未明确目标或缺少上下文

误区:只给出一个含糊不清的提示词,却没有明确预期目标或不提供足够的背景信息,导致模型返回的结果偏离需求。
思考:在设计提示词时,应当先明确想要得到的结果和目标场景,并尽可能提供与之相关的上下文、关键因素或限制条件。示例中最好给出一些具体例子或关键点,让模型能够理解你的需求。


2. 提示词过长或过度复杂

误区:把所有问题和背景信息一次性全部塞进提示词,导致提示词臃肿难懂,甚至让模型也“摸不着头脑”。
思考:在复杂任务面前,建议先拆解目标,分步骤编写提示词。而不是将所有信息堆叠到一条提示中,可以通过多轮对话或关键点分块的形式,让模型在每一步都能更精准地理解当前目标。


3. 语义不清晰或指令模糊

误区:提示词中包含指令冲突,或语言含混不清,让模型难以分辨重点,导致生成的内容混乱不符合要求。
思考:应通过精炼的描述和简洁的结构,让模型知道要解决的问题是什么、需要关注哪些重点和变式。比如多使用动词或明确的角色设定(如“扮演某种角色”“从专家角度回答”),同时尽量避免互相矛盾的指令。


4. 未根据模型特性调整提示方式

误区:忽视了模型本身的特点和局限,直接套用固定的提示模板,或者一味使用单一的提示结构。
思考:不同的模型、版本或者应用场景都有特定的适配方式。要在实践中不断测试并微调,例如减少或增加提示词长度、使用更具象的实例、改变措辞方式等。尤其要注意模型对于上下文长度、指令格式等特性的兼容度。


5. 期望模型推理超出能力范围

误区:对模型的推理能力期望过高,给出的提示词过度依赖模型去处理其不擅长或不可能完成的任务,或进行专业知识推理但却提供的信息不足。
思考:利用提示词激发模型潜能时,也要清楚模型并非万能。可借助外部知识库或预先补充明确而详尽的背景信息,确保模型的回答更为正确和准确。对于模型难以处理的专业任务,需要结合正确的辅助工具或由专家审阅。


6. 忽视对回复的评估与迭代

误区:使用一次提示词后就不再评估是否达成目标,也不针对产生的问题进行调优。
思考:将模型的输出与预期结果进行对比,找到差距并通过修改提示词(如增加说明、拆分步骤、更换关键字等)进行迭代。可以通过对输出结果的格式、风格、细节要求等方面进行细化测试,不断完善提示词设计。


7. 删减或添加提示词时破坏原有逻辑

误区:为了精简提示词,随意删除关键信息;或对原有提示词进行大幅度改动,导致逻辑关系被破坏,难以完成所需任务。
思考:若需要对提示词进行精简或深入时,应在保留提醒模型的核心逻辑前提下进行删改,并观察是否影响整体的任务完成度。借助分步骤迭代或对比测试,确认新的提示词方案依旧能完成需求。

高效提示词的四大要素

1. 明确需求

与AI交流就像点外卖,越具体越好。不能简单说"来份早餐",而应该详细说明:“要一份1.5公里外某家店的胡辣汤套餐,配四个水煎包和餐具,没有特殊忌口”。同样的逻辑适用于与AI对话 —— 只有详细说明你的需求背景和具体要求,才能获得满意的答案。


2. 设定角色

虽然现代AI系统已经足够智能,能从对话中推断所需角色,但在处理复杂任务时,明确设定AI的角色仍然很有帮助。例如:

  • “你现在是一位通信问题处理专家”
  • “你是一个专业的学术研究助手”

3. 提供完整背景

就像餐厅点菜需要说明烹饪方式和口味偏好,与AI交流也需要提供充分的背景信息。例如要求AI写一篇文章时,应该说明:

  • 回答的具体用途
  • 回答的风格和语气(专业还是口语化的)
  • 内容的详细程度

4. 指定输出格式

  • 明确内容的组织结构
  • 规定具体的展示形式
  • 说明排版和格式要求

5. 注重答案反馈与多轮对话

  • 在多轮对话中,模型会根据上下文和用户的问题不断调整回答。因此,在每次对话后,可以对模型的回答进行评估,并根据需要调整提问。
  • 不断优化自己的提示词以获得更好的效果。

提示词示例

Mermaid 画图

我在调试一个有多个通话重叠的日志时,通常每个通话的开始和结束,都是列出表格,但是这样不直观。所以我使用了Mermaid 画图,但是Mermaid 画图的语法,我总是记不住。

所以,我使用AI,帮我画一个Mermaid 的图,然后我再根据AI 画的图,再进行修改。

在不使用 提示词的情况下, 测试过 OpenAI o1DeepSeek R1Claude 3.5 Sonnet 有概率答非所问,所以我添加了以下提示词后,三种模型均可以正确输出。

提示词:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
- 角色:Mermaid图表代码生成器
- 功能 根据用户提供的流程或架构描述,自动生成符合Mermaid语法的图表代码.
- 技能 熟悉Mermaid的图表类型和语法,能高效将流程转化为代码。理解流程分析、架构设计及结构化展示等领域知识。
- 约束:
* 代码必须符合Mermaid语法规范.
* 流程和结构表达需准确清晰。
* 输出的代码格式应简洁且易于理解。
- 工作流程:
* 如果用户没有明确指出使用哪种类型图表,则询问用户希望绘制哪种类型的图表
* 收集详细的流程或架构描述,根据描述分析并设计图表结构.
* 生成并输出符合Mermaid语法的代码。
* 校验代码,确保没有语法错误。
* 将最终代码提供给用户。
- 输出格式:
Mermaid图表代码。
示例:
```mermaid
graph TD;
A[开始]-->Bf做事情):
B --> C|/&*):

问题与回答:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
使用以下数据,画出甘特图

| 时间戳 | 日志内容 |
| ----------------------- | ----------------------------- |
| 2019-05-16 06:31:07.948 | 组呼呼出: 通话组1 |
| 2019-05-16 06:31:10.241 | 通话建立: 通话组1 |
| 2019-05-16 06:31:11.089 | 通话结束: 通话组1 |
| 2019-05-16 06:31:12.940 | 组呼呼出: 通话组2 |
| 2019-05-16 06:31:19.401 | 组呼建立: 通话组2 |
| 2019-05-16 06:31:23.927 | 请呼呼入: 终端1 |
| 2019-05-16 06:31:27.418 | 接听请呼 终端1 |
| 2019-05-16 06:31:27.428 | 请呼呼出成功: 终端1默认通话组 |
| 2019-05-16 06:31:35.909 | 组呼结束: 通话组2 |
| 2019-05-16 06:31:43.601 | 请呼结束: 终端1默认通话组 |
| 2019-05-16 06:31:45.200 | 组呼呼出: 通话组1 |
| 2019-05-16 06:31:45.253 | 通话建立: 通话组1 |
| 2019-05-16 06:31:46.511 | 组呼结束: 通话组1 |
| 2019-05-16 06:31:47.630 | 组呼呼出: 通话组2 |
| 2019-05-16 06:31:47.683 | 通话建立: 通话组2 |
| 2019-05-16 06:32:44.953 | 通话组2 组呼结束 |
| 2019-05-16 06:32:52.625 | 请呼呼入: 终端1 |
| 2019-05-16 06:32:52.735 | 组呼呼出: 通话组1 |
| 2019-05-16 06:32:53.617 | 请呼接听: 终端1 |
| 2019-05-16 06:32:53.639 | 请呼呼出: 终端1默认通话组 |
| 2019-05-16 06:32:57.792 | 通话组1 组呼结束 |
| 2019-05-16 06:33:00.604 | 终端1默认通话组 请呼结束 |
  • DeepSeek R1 使用提示词前(typora 渲染返回的文本)

alt text

  • DeepSeek R1 使用提示词后(typora 渲染返回的文本)

alt text