prompt-系统学习-入门

入门 - 面向开发者的 prompt engineering

想系统学习 prompt 的必看文章。

我将学习过程中的知识,提炼了出来,自温。

1. prompt 提示原则

原则一:清晰、具体的 指令

怎么清晰,具体呢, 通过以下技巧/策略。

  • 技巧一:使用分隔符 表示不同部分

使用分隔符,将不同的文本部分分开

  • 技巧二:结构化 输出

要求模型以什么格式输出给我们

  • 技巧三:要求模型检查是否满足条件

… 如果是怎样,如果不是怎样

  • 技巧四:提示 样例

提供样例,让模型了解我们的要求和期望的输出样式

原则二:给模型 思考的时间

设计 prompt 时,给予模型充足的推理时间,是prompt engineering 一个非常重要的设计原则。

应通过 prompt 指引 模型进行深入思考

怎么给它时间呢

  • 技巧一:指定 完成任务所需的 步骤

形如:执行以下操作:1… 2…。使用以下步骤:第一步… 第二步…

  • 技巧二:指导模型在下结论之前找出一个自己的解法

设计 prompt时,让模型进行自主思考

2. 迭代优化

很难通过第一次尝试就得到完美的prompt。需要有一个良好的迭代优化过程,不断改进 prompt。

优化1:解决生成文本太长

在prompt中添加长度限制。要求生成简介的文案。

优化2:处理抓错文本细节

根据不同目标受众关注不同的方面,输出风格和内容上都适合的文本。

如文案中加入:面向xxx,侧重yyy。

优化3:添加表格描述

如文案中加入:生成一个表格,几列,第一列xx,第二列yy

可以看出,prompt开发过程是这样的:第一版 Prompt 应该满足明确和给模型思考时间两个原则。在此基础上,一般的迭代流程是:首先尝试一个初版,分析结果,然后继续改进 Prompt,逐步逼近最优。许多成功的Prompt 都是通过这种多轮调整得出的。

3. 文本概括

单一文本概括

  • 限制输出文本长度

如文案中加入:xxx,最多30个字

  • 设置关键角度侧重

如文案中加入:yyy,并且侧重在zzz上。

  • 关键信息提取

虽然可以设置侧重,

如文案中加入:从…中提取xxx相关的信息,最多30个字

原文:面向开发者的LLM入门教程

原文源码:llm-cookbook