了解提示词策略差异

不同类型的模型对于提示词的使用不一样

通用模型

  • 需要显式的引导推理步骤,比如通过CoT(长链推理)提示,否则大模型可能会忽略关键逻辑。
  • 依赖提示词补偿能力短板,比如要求分步骤思考, 提供few-shot参考示例等。

推理模型

  • 提示语更简洁,指需要明确任务目标和需求,因为模型已经内化了推理逻辑。
  • 无需通过提示词进行逐步指导,模型会自动生成结构化推理过程。如果强行分步骤拆解,反而会降低其推理能力。

提示词使用的关键原则

模型的选择

需要根据任务类型选择,而非模型热度。比如创意类任务选择通用模型,数学、物理、编程等理科推理类任务选择推理模型。

提示词设计

  • 通用模型:结构化、补偿性引导 => 缺什么,补什么
  • 推理模型:推理模型:简洁指令、聚焦目标、信任其内化能力 => 要什么直接说,不需要过多指导

避免误区

  • 不要对通用模型过度信任,如直接问复杂推理问题,需要分步骤进行。
  • 不要对推理模型进行启发式(简单)提问,推理模型会给你过于复杂的深度结果。
  • 对于复杂问题,推理模型依然会有错误的可能,或存在忽略某些细节的可能,这时需要多次交互。

Prompt提示词编写原则

• 明确目标:清晰定义任务,以便模型理解。 • 具体指导:给予模型明确的指导和约束。 • 简洁明了:使用简练、清晰的语言表达Prompt。 • 适当引导:通过示例或问题边界引导模型。 • 迭代优化:根据输出结果,持续调整和优化

原则 具体要求
明确目标 清晰定义任务,以便模型理解。
具体指导 给予模型明确的指导和约束。
简洁明了 使用简练、清晰的语言表达Prompt。
适当引导 通过示例或问题边界引导模型。
迭代优化 根据输出结果,持续调整和优。

提示词的组成部分

重要性排序 名称 要求
1 任务(Task) 始终以动词开始任务句子(如"生成","给予","写作"等),明确表达你的最终目标,可以有多个。
2 上下文(Context) 提供上下文背景、所处环境等。
3 示例(Exemplars) 提供具体的例子,用于可以提高输出质量。 有时候我们没有示例,这时可以让GPT帮忙生成示例。
4 角色(Persona) 你希望AI扮演的角色。可以是具体的人,也 可以是虚构的角色。
5 格式(Format) 你希望输出的格式,如表格、列表、段落等。
6 语气(Tone) 指定输出的语气,如正式、非正式、幽默等。

补充说明: 写prompt是一个不断尝试和调整的过程。如果模型回答不满意,依次Check自己的Prompt内容进行调整。

Prompt的常见编写技巧

在了解Prompt编写原则的基础上,还有一些Prompt编写技巧。

  • 技巧1: 限制模型输出的格式
  • 技巧2: 使用分隔符区分输入的不同部分
  • 技巧3: 提供样例
  • 技巧4: CoT 思维工具
  • 技巧5: 面向不同的角色进行讲解

技巧1:限制模型输出的格式

比如让大模型输出JSON格式,可以结构化数据,方便后续解析。

示例:

请从2023年伊利集团财务报表中提取以下信息,包括:公司名称,股票 代码,营收,净利润,毛利,总资产,总负债。并以JSON格式 返回。

技巧2:使用分隔符区分输入的不同部分

请把三个引号括起来的文本,分别总结成为一句话

技巧3:提供样例

针对有一定歧义或复杂的情况,给出具体示例方便大模型进行学习。

示例:

请帮我对用户的评价进行分类,直接输出:正面/负面,并给出理由 
======
示例1: 用户评价:这次开户真是太满意了,都一周了,客服还没有回复我 。

输出:负面,客户并不是真的满意,客服一周未回复,造成了不满。 
======
示例2:
用户评价:广发银行的开户过程非常顺利,客服态度亲切。
输出:正面,开户过程顺利,客服态度好。
======
请回答如下问题:
用户评价:开户流程简洁明了,不需要繁琐的纸质材料,所有步骤都可以在线完成。

技巧4:CoT(Chain-of-Thought)思维工具

针对有一定歧义或复杂的情况,给出具体示例方便大模型进行学习。

示例:

你是一个数学助手,请根据以下步骤计算用户输入的金额。请将每个金额首先加上1000元,接着减去500元,然后乘以1.2输出计算结果,以','作为分隔符进行返回。
你可以参考以下计算过程来帮助解决:
"""
对于输入:2000, 3000, 4000
计算过程如下:
首先分别对输入的2000, 3000, 4000加上1000,得到:3000, 4000, 5000
然后将3000, 4000, 5000分别减去500,得到:2500, 3500, 4500
然后将2500, 3500, 4500分别乘以1.2,得到:3000, 4200, 5400
答案是:3000, 4200, 5400
"""
输入:1500, 2500, 3500
你是一个客户服务助手,请按照以下步骤处理客户的投诉。首先,记录客户的投诉类型,然后确定处理优先级(高、中、低),接着分配给适当的部门,最后生成一个处理跟踪编号并直接输出。

计算过程示例:
"""
客户投诉:客服的态度冷淡,没有耐心解答我的问题。 处理过程如下: 首先记录客户的投诉类型,得到:客服态度差 然后确定处理优先级,得到:优先级高 然后分配给适当的部门,得到:客服部 最后生成一个跟踪编号,得到 KF10001
"""
客户投诉:我的账户意外冻结了。我并未收到任何提前通知或解释。

CoT(Chain of Thought,思维链)的作用:

  • 系统化问题解决:将复杂问题分解为多个简单步骤,使解决 过程更加有序和清晰。
  • 提高透明度,减少错误:帮助理解和追踪每个决策点,减少 整体错误发生的概率。
  • 提升模型推理能力:帮助模型学习如何系统地分解和解决此 类问题,提高在类似任务中的表现。

技巧5:面向不同的角色进行讲解

示例:

把我当做五岁小朋友一样,向我解释超导体。

学会与AIGC沟通

  • 把大模型当作一个人,是跟人在对话。
  • 任务结果 = 大模型 + Prompt
  • 了解我们的真实核心需求
  • 了解大模型的工作原理 image.png