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:用户向模型提问的消息。直接传达了用户的需求。告诉模型要做什么。
可以根据不同逻辑进行分类、