Prompt提示词工程

Prompt提示词工程

Prompt是 与大模型交互的核心媒介,质量直接影响模型输出的效果。因此掌握Prompt相关知识,能显著提高对大模型的操控。

提示词学习

Spring Ai提示词
Prompt Engineering Guide提示词工程指南

提示词库

在编写Prompt前,可以查看库中是否存在符合需求的。

文本对话:Authropic提示词库

Prompt的基本构成

一个有效的Prompt通常包含3个关键要素,根据任务复杂度灵活调整。

复制代码
把大模型当作一个员工。向他下达任务。一个好的领导需要明确任务。

1、任务目标(要做什么)

首先告诉任务目标,要达成的结果。(如:写一篇会议总结)

2、背景信息(前提条件)

知道任务目标 并不能开始执行,因为没有明确任务的前提环境。还需要告诉他执行任务的背景。(如:针对上周的销售总结会议)

3、输入数据(额外的条件)

有了上面2条要求,就可以执行任务。但是为了更好的规范 任务的结果,可以向模型提供一些条件让其更好的返回结果。(如:字数限制500字)

Prompt设计的核心原则

1、具体清晰

  • 避免模糊表述,明确任务边界。
  • 反例:写一篇关于环保的文章。
  • 示例:为初中生写一篇500字左右的环保短文,重点讲 污水治理,语言口语化。

2、提供示例

  • 当任务复杂时,给出1-3个示例(少量样本),帮助模型理解预期输出。
  • 示例:
    • 请将下列句子分为"积极"和"消极"
    • 示例1:"今天天机真好!- 积极"
    • 示例2:"这饭太难吃了!- 消极"
    • 句子:这电影太精彩了! - ?

3、分步引导

  • 对逻辑推理类任务(如数学题、因果分析),引导模型"分步思想",减少错误。
  • 常用技巧:在Prompt中加入"首先...其次...最后",请先分析结论,在得出结果。
  • 示例:"解决问题:一个商店有 30 个苹果,卖出 12 个,又进货 25 个,现在有多少个?请先算卖出后剩下的数量,再算进货后的总数。"

4、设定角色

  • 给模型设定特定角色,让其根据对应身份返回结果。

5、控制输出格式

  • 对于需要格式化输出的任务(如表格、列表、JSON),明确格式要求。
  • 示例: 列出3中释放压力的方法。用序号+短句放回。如:1:深呼吸。

进阶的Prompt技术

1、思维链

核心:让模型在输出答案前,先一步一步解释推理过程,适用于复杂逻辑、数学,多步骤任务。

触发词:在Prompt中告诉模型"让我们一步一步思考"或"请解释你的思考过程"

示例:"问题:小明有 5 个苹果,妈妈又给了他一些,现在有 12 个,妈妈给了几个?请先说明计算步骤,再给出答案。"

2、反向提示:

核心:明确告诉模型"不要做什么",避免输出不符合要求的结果。

示例:写一段关于秋天的文章,不要提到'叶子'。

3、零样本思维链

核心:不提供示例,仅通过关键词(如"因此""原因是")触发模型的推断能力,适用简单逻辑任务。

示例:为什么夏天白天比冬天长。(模型会分步说明地球自转,照射点移动的逻辑)

4、提示词拆解

核心:讲任务拆分为多个子任务,让模型逐一完成,降低单次推理难度。

  • 示例:写一篇关于AI对就业的影响。
    • 先列举Ai对就业的3个正面影响
    • 在列举AI对就业的3个负面影响。
    • 最后整合,生成文章。

5、元提示

核心:让模型先"理解Prompt本身的要求 ",在执行任务,适用于超长任务或模糊指令。

示例:先分析我接下来的问题需要你完成的任务,再给出答案。懂?

6、自我评估和修公正

让模型进行自我评估和纠正。

7、多角度分析:

引导模型从不同的角色、立场或专业分析问题。

8、知识检索和引用

引导模型检索相关信息,并指出数据来源 提高可靠性。

Prompt注意事项于优化技巧

1、不要过于简洁,

  • 过于简洁导致模型误解任务;
  • 优化:补充细节(受众、风格、长度等)

2、信息过载

  • 过长的背景描述,或混乱的逻辑会让模型抓不到重点。
  • 优化:分点列举要求保证逻辑明确,用"首先/然后..."等标识核心信息。

3、迭代优化

  • 若首次响应结果不符合预期时,可以基于结果调整Prompt(如:刚才回答太简单,请针对xx补充细节)

4、利用模型特性

  • 大模型对于"数字""列表"等明确指令词("总结","对比","分析")更敏感,可优先使用这类表述。

Prompt分类

1、按照角色分类

  • 系统Prompt:指定模型的基本属性,用户不可见。告诉模型"他是谁"以及个人的信息。
  • 用户Prompt:用户向模型提问的消息。直接传达了用户的需求。告诉模型要做什么。

可以根据不同逻辑进行分类、