大模型提示工程学习笔记

Prompt原则和原理

1. 清晰明确的指令

清晰明确的指令

2. 给模型思考的路径

在使用模型完成指定任务时,你可能已经对预期结果有了一些设想,此时需要将这些设想清晰地转化为具体的指令,并传递给模型。
给模型思考的路径

Prompt框架

ICIO框架

ICIO结构

Prompt框架代表了不同的思考逻辑

file
LangGPT框架更偏向于开发
CRISPE更偏向于营销创意场景

Zero shot 和 Few shot

Zero shot

在不提供任何示例的情况下,通过设计简洁明了的提示词,直接要求模型完成任务。
file

Few shot

在提示中提供少量具体示例,帮助模型理解任务模式,从而提升输出质量。
file

CoT

Chain of Thought(CoT)是一种提示设计方法,要求模型在生成答案之前,先详细描述其思考过程,类似于人在解决问题时的逐步推导。通过模拟逻辑推理的链条,模型能够更好地处理需要多步计算、复杂推理或因果分析的任务。

Zero shot of CoT

file

进一步的CoT

file

采样参数

temperature 和 top_p 是两个重要的采样参数,用于控制生成文本的多样性和随机性。它们在调整模型的输出风格和质量时起着关键作用。

Temperature

temperature 参数控制生成文本时的随机性。它通过调整模型输出的概率分布,使生成的结果更加自由或更加确定。

工作原理:
temperature 决定了模型对不同输出的概率分布进行“软化”或“锐化”。
当 temperature = 1,模型按默认概率分布采样。
当 temperature < 1,分布更加集中,模型倾向于选择高概率的词。
当 temperature > 1,分布更加分散,模型会更随机地选择词汇。

取值范围及效果:
temperature = 0:模型总是选择最高概率的词,输出完全确定,没有随机性。
temperature = 0.7:生成结果平衡,既有创造性又不会过于随机,常用默认值。
temperature > 1:增加随机性,适合需要高度创意或探索性输出的场景,但可能生成不相关或无意义的文本。
Temperature

Top P

top_p 参数控制模型选择的候选词的范围,通过概率累积确定采样的词汇集合。它实现了一种动态的筛选机制,更灵活地控制输出的多样性。

工作原理:
模型按词汇概率排序,从最高到最低累积概率,直到达到 top_p 的阈值。
只从累计概率范围内的词中采样,而忽略其余概率较低的词。
与 temperature 不同,top_p 的采样范围是动态变化的,能更好地适应不同的任务需求。

取值范围及效果:
top_p = 1:包括所有可能的候选词,完全不做限制。
top_p = 0.9:只考虑总概率为 90% 的最高概率词集合,能过滤掉概率极低的选项。
top_p < 0.5:候选词集合非常小,仅包括高概率词,输出更加确定。

Top p

综合使用

可以同时调整 temperature 和 top_p,例如:

  • 较保守输出:temperature = 0.5, top_p = 0.8
  • 更随机生成:temperature = 1.0, top_p = 0.9
    两者结合能够更精确地调节生成文本的风格,满足不同任务需求。

实际应用建议

  • 高确定性任务(如代码生成、问答):
    使用较低的 temperature(如 0.2-0.5)和 top_p(如 0.8-0.9)。
  • 高创造性任务(如诗歌、故事创作):
    增加 temperature(如 0.7-1.2)并适当提升 top_p(如 0.9)。
  • 避免无意义输出:
    限制 top_p 范围(如 ≤0.9)以过滤概率极低的候选词。
  • 微调输出风格:
    根据任务实验多组参数,找到最适合的组合。

ToT:Tree of Thought

探索多种解答路径,并引入评估机制来选择最佳路径,最后根据最佳路径输出完整回答。
Tree of Thought

Agent

通过模型本身的规划能力和工具调用能力实现
Agent

Prompt迭代调优

角色迭代

角色的迭代能够丰富上下文语义信息,为模型提供更清晰的语境,从而提升输出内容的准确性。
角色迭代

任务迭代

针对指令中的关键动作,可以尝试使用不同的近义词替代,并结合贴近实际场景的具体化表达,来测试是否能够提升结果的准确性和表现力。
任务迭代

执行步骤迭代-正向引导

模型并不擅长对于字数的限制

执行步骤迭代-正向引导

执行步骤迭代-逻辑完备

执行步骤迭代-逻辑完备

执行步骤迭代-避免规则

充分考虑常规的语言表达方式,避免硬性规则
执行步骤迭代-避免规则

Few shot迭代

file

从结构上迭代指令

分隔符

避免用户对指令进行注入,同时划分指令结构
使用分隔符前:
使用分隔符前
使用分隔符后:
使用分隔符后

分条目

分条目前
分条目后

顺序

优化顺序前
优化顺序后

嵌套

避免嵌套逻辑
嵌套

位置

建议整体优化完成后,再调整指令的顺序
位置

效果评测

确定评测维度

确定评测维度

构建评测集、测试迭代

构建评测集、测试迭代

关于Prompt

  1. 只有方法,没有语法
  2. 内容格式敏感
  3. 偏好分布
  4. 不同模型间存在差异

产品方案

大模型构建应用的4个阶段

发布者

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注