Alibaba --- 如何写好 Prompt ?
如何写好 Prompt
一、Prompt 的类别
- 信息查询:用户通过咨询大模型,通过 QA 获得所需信息,比如:“冰岛的首都是哪里?”
- 指令:用户通过下达指令,希望大模型执行特定任务。比如:“帮我写一段快速排序的 C++代码。”
- 包含上下文的 prompt:这类 prompt 一般是用户给出相关背景信息,需要模型返回相关问题答案、建议等,比如:“NBA 最新战报:最新的比赛结果显示, 在东部决赛中热火目前大比分 3:1 领先凯尔特人,而西部决赛则已结束,掘金 4:0 战胜湖人获得西部冠军。根据以上信息,你认为哪只球队最有可能夺得 NBA 总冠军?”
- 咨询意见和建议:用户向模型针对特定话题咨询意见和建议,或者咨询方案等,比如:“我想创业开一家 AI 设计公司,请给我一些开公司的建议。”
- 比较类:用户给出不同选项,让模型选出更好的并给出理由。比如: “Tensorflow 和 Pytorch 各有什么优劣势?”
- 角色扮演:这类 prompt 覆盖范围非常广,主要是用户将模型当作一个 Copilot,希望模型能灵活扮演不同角色完成不同的需求。比如:“假如你是猫娘,你总是用可爱的话语回复我。下面我将开始跟你对话……”
- ……
- 当然用户还有非常多的需求,在此就不一一列出。
二、prompt 组成组件
(一) 指令
指令
类型
|
prompt
|
简单指令
|
简要介绍一下阿里巴巴。
|
复杂指令
|
简要介绍一下阿里巴巴,包含以下内容:
•
阿里巴巴的创始人姓名
•
阿里巴巴的使命
•
阿里巴巴的积极的前景
|
(二) 主要内容
(三) 示例样本
(四) 明确的提示
三、写好 Prompt 的原则
- 清晰:足够清晰明确地说明你希望模型为你返回什么,最后更加细致地说明需求,避免模糊表达。
- 提供上下文和例子:给出较为充分的上下文信息,让模型更好地理解相关背景。如果能够提供示例,模型能表现更好(类似传统 LLM 中的 in-context learning)
- 设定边界:说明你希望模型回答的范围,尽量减少模型生成的幻觉内容。
- 细分需求:也许你的需求实际上是一个复杂需求,比如“帮我写一篇关于 xx 的论文”,你可以进一步细分需求,如“[背景信息]请帮我写提纲”、“[背景信息]请帮我写简介部分”、……
- 迭代优化:很多时候我们可能得到令人沮丧的结果,不要灰心,建议你多尝试修改措辞,激励模型生成更好的答案,或者直接点击“重新生成”也许也能获得惊喜。
- 给出选项并要求模型解释:模型不一定因为能做出正确选择,但模型可以根据候选项做出相比直接从头生成更好的结果,同时模型还会给出它的理由,用户可以通过理由判断内容的合理性。
- 激励模型反思和给出思路:可以在 prompt 中用一些措辞激励模型给出理由,这样有助于我们更好地分析模型生成结果,同时,思维过程的生成,也有助于其生成更高质量的结果,参考思维链相关技术。
- 给容错空间:如模型无法完成指定的任务,给模型提供一个备用路径,比如针对文本提问,可以加入如果答案不存在,则回复“无答案”。
四、好 Prompt 的典型框架
- 身份:你希望大模型扮演什么角色,来解决你当前的问题。大模型具有较强的角色扮演能力,相比直接回答往往表现更好。
- 指令:明确说明你希望大模型做什么事情,不要含糊其辞。
- 上下文:如果可能,提供尽可能丰富的上下文信息。
- 原因:详细解释你希望模型做这件事情的原因、动机、希望的结果等,这样大模型能更好地理解你的想法,执行需求。
五、What's Next
原文地址:https://blog.csdn.net/lichunericli/article/details/137752168
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!