Prompt 原理
- GPT在处理Prompt时,GPT模型将输入的文本(也就是Prompt)转换为一系列的词向量。
- 然后,模型通过自回归生成过程诸葛生成回答中的词汇。在生成每个词时,模型会基于输入的Prompt以及前面生成的所有词来进行预测。
- 这个过程不断重复,直到模型生成完整的回答
你认为Prompt Engineering的重要性如何?
一个有效的Prompt 可以:
- 提升AI 模型给出的答案的质量
- 缩短与AI模型的交互时间,提高效率。
提示词策略差异
- 通用模型
- 需要显示引导推理步骤, 比如通过CoT提示,否则可能会忽略关键逻辑
- 依赖提示词补偿能力短板,比如要求分步骤思考,提供few-shot参考示例等。
- 推理模型
- 提示语更简洁,只需要明确任务目标和需求,因为模型已经内化了推理逻辑
- 无需逐步指导,模型会自动化生成结构化推理过程。如果强行分步骤拆解,反而会降低其推理能力
提示词关键原则
- 模型选择
根绝任务类型选择,而非模型热度
比如创意类任务选择用通用模型,数学、无力、编程等理科推理等推理类任务选择推理模型。 - 提示词设计:
通用模型:结构化、补偿性和引导=>缺什么,补什么
推理模型:简介指令、聚焦目标、信任其内化能力=>要什么,直接说 - 避免误区:
不要对通用模型过度信任,如直接问复杂推理问题,需要分步骤进行
不要对推理模型急性启发式(简单)提问,推理模型会给你过于复杂的深度结果。对于复杂问题,推理模型依然会有错误的可能,或存在忽略某些细节的可能,这时需要多次交互。
Prompt 编写原则
- 明确目标:清晰定义任务,以便模型理解
- 具体指导:给予模型明确的指导和约束
- 简洁明了:使用简练、清晰的语言表明Prompt
- 适当引导:通过示例或问题边界引导模型
- 迭代优化:根据输出结果,持续调整和优化
一些有效做法- 强调,可以适当的重复命令和操作
- 给模型一个出路,如果模型可能无法完成,告诉他说"不知道"
- 尽量具体,对于专业性要求强的,少留解读空间
Prompt 的组成
- 任务(Task): 始终以动词开始任务句子(如"生成","给予","写作"等),明确表达你的最终目标,可以有多个。
- 上下文(Context):提供上下文背景、所处环境等。
- 示例(Exemplars): 提供具体的例子,用于可以提高输出质量。有时候我们没有示例,这时可以让GPT帮忙生成示例。
- 角色(Persona): 你希望AI 扮演的角色。可以是具体的人,也可以是虚构的角色。
- 格式(Format): 你希望输出的格式,如表格、列表、段落等。
- 语气(Tone): 制定输出的语气,如正式、非正式、幽默等。
重要性排序:任务>上下文>示例>角色>格式>语气
写prompt是一个不断尝试和调整的过程
Prompt编写技巧
- 限制模型输出的格式
- 使用分隔符区分输入的不同部分
- 提供样例
- CoT思维工具 :(Chain of Thought 思维链)通过将复杂任务分解为多个简单的步骤,帮助模型系统的思考并解决问题。
- 面向不同的角色进行详解