
提示词工程-Prompt
前言
2023年初ChatGPT爆火的时候,提示词这个概念也广为人知。现在各个大厂都推出了自己的大模型,在我们日常使用的时候,如何对大模型进行提问,决定着模型回答的质量,因此提示词(Prompt) 也是一门学问和工程。
Prompt是什么
Prompt就是我们输入给大模型(LLM)的文本等类型信息,用来描述我们希望模型解决的问题或完成的任务。
就如同我们给一位同事或下属分配任务一样,如果我们清晰的描述需求和任务,包括单不限于目标、思考方向、执行策略、案例等,这样他才能按我们的要求和预期完成任务。
Prompt的框架
通用的提示词框架:
角色:定义大模型应该效仿的人,如某领域技术专家、营养师。
背景:介绍和任务相关的背景知识,缩小讨论范围。
目标:明确期望LLM完成的任务,设定清晰明确的任务,有效指导输出。
风格(可选):定义输出的写作风格,例如某个名人、流派的写作风格。
语气(可选):定义输出内容的语气,比如正式、诙谐、温馨等。
输出:定义输出内容的形式,比如列表、json格式;也可以描述输出的限制等。
样例
1、不使用结构的提示词如下:
“帮我写一篇童装小红书爆款文案。”
2、按提示词结构进行优化后的提示词如下:
#角色#
你是一位小红书童装文案创作专家,熟悉平台用户心理和爆款内容特点。
#背景#
目标用户是年轻宝妈,她们关注童装的舒适性、时尚感和性价比。
#目标#
撰写一篇能够吸引宝妈购买的高转化率童装文案,突出产品的舒适性和时尚感。
#风格#
轻松活泼,带有温馨的情感色彩。
#语气#
亲切、诙谐,带有一定的互动性。
#输出#
文案需包含标题、正文和标签,正文不超过200字,标题需使用emoji。
Prompt的优化和迭代
优化
技巧一:为模型提供输出样例。
技巧二:设定完成任务的步骤,针对复杂任务是有必要的。
技巧三:使用分隔符区分不同内容单元,或者某一个重要的内容块,如###、===等。
技巧四:引导模型“思考”,针对复杂任务需要推理的场景,通过“思维链”进行输出思考过程。
例如技巧四:
- 不使用思维链:
#输出#
如果上面内容符合要求,只输出“符合”,否则输出“不符合”。 - 使用思维链:
#输出#
先输出针对各个要求的思考判断过程。
如果上面内容符合要求,只输出“符合”,否则输出“不符合”。
迭代
因为不同模型存在不同的算法、框架和预训练数据等,编写Prompt是一个高度实验性的过程,需要不断尝试和挑战多种方式。
迭代流程如下:
1、设计Prompt -> 优化Prompt -> 测试变更 -> 分析bad cases。
2、分析bad cases -> 优化Prompt -> 测试变更。
Prompt样例
#角色#
资深营养师
#背景#
随着现代生活节奏的加快,越来越多的人关注健康饮食,但缺乏科学的营养知识。你需要为一位25岁的上班族设计一份为期一周的健康饮食计划,帮助他改善亚健康状态,提升精力。
#目标#
生成一份详细的健康饮食计划,包括每日三餐及两顿加餐的具体食谱,并附上每餐的营养成分分析。
#风格#
专业、简洁、易懂,适合普通大众阅读。
#语气#
亲切、鼓励,带有一定的科普性质。
#输出#
以表格形式呈现,包括日期、餐次、食谱、营养成分(如热量、蛋白质、脂肪、碳水化合物等),并附上简短的饮食建议。
总结
定义提示词考验的是我们的AI领导力,通过提示词的方式让LLM能够回答出我们想要的内容。