问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

如何通过编写高质量ChatGPT Prompt来提高AI模型的表现力

创作时间:
作者:
@小白创作中心

如何通过编写高质量ChatGPT Prompt来提高AI模型的表现力

引用
CSDN
1.
https://blog.csdn.net/kukuu8/article/details/140948191

在提高AI模型的表现力方面,编写高质量的Prompt是至关重要的。Prompt是指用户提供给AI模型的输入,它直接影响着模型的输出结果。一个好的Prompt可以引导模型产生准确、有逻辑的回答,而一个糟糕的Prompt则可能导致模糊、不连贯甚至错误的结果。因此,编写高质量的Prompt是提高AI模型表现力的关键之一。

随着AI技术的迅速发展,人工智能模型变得越来越强大,能够协助我们完成各种任务。然而,如何更好地利用AI的能力仍然存在很大的探索空间。

在与 AI进行交互的过程中,我们主要依赖于Prompt,不管是直接与大模型交互,还是基于一些工具开发大模型的应用,都需要涉及到Prompt的编写设计,高质量的Prompt对于充分发挥AI的能力至关重要,因此个人觉得有必要深入学习下这部分的内容,以便挖掘出更多的AI能力。

GPT在处理Prompt时,GPT模型将输入的文本(也就是Prompt)转换为一系列的词向量。然后,模型通过自回归生成过程逐个生成回答中的词汇。在生成每个词时,模型会基于输入的Prompt以及前面生成的所有词来进行预测。这个过程不断重复,直到模型生成完整的回答或达到设定的最大长度。

通过这种方式,GPT模型可以根据输入的Prompt来生成回答。这也是为什么一个好的Prompt可以帮助模型更好地理解你的需求,从而提供更有用的回答。

一个有效的Prompt可以:

  1. 提升 AI模型给出的答案的质量
  2. 缩短与AI模型的交互时间,提高效率
  3. 减少误解,提高沟通的顺畅度

撰写高质量Prompt

我们已经认识到了Prompt的重要性,那么如何编写高质量的Prompt呢?

首先,一个高质量的Prompt应当清晰明了,避免歧义和模棱两可的表述。要尽量避免使用模糊的词语和表达方式,而是要尽可能具体和明确地描述用户期望得到的回答。

其次,在编写Prompt时应当考虑到用户的意图和背景知识。要站在用户的角度思考,尽量理解用户提问的动机和背景,从而能够更好地引导AI模型产生相关、有用的回答。

此外,Prompt还应当遵循逻辑和语法规则。良好的语言表达能力不仅能够帮助AI模型更好地理解用户的意图,还能够提升回答的连贯性和可读性。因此,在编写Prompt时,要注意语法结构和逻辑关系,尽量避免使用含糊不清或者矛盾的表述方式。

在搜集了一些资料并进行了分析研究之后,我发现以下主要就是几个关键要素:

  1. 明确目标:清晰定义任务,以便模型理解。
  2. 具体指导:给予模型明确的指导和约束。
  3. 简洁明了:使用简练、清晰的语言表达Prompt。
  4. 适当引导:通过示例或问题边界引导模型。
  5. 迭代优化:根据输出结果,持续调整和优化Prompt。

还有学习提问技巧,例如Socratic questioning(苏格拉底式提问),有助于引导模型更深入地探讨问题,提供更全面的回答。所有得Prompt框架基本上都是这几个部分,不过有些框架更方便记忆,方便我们想起来使用罢了。

任务类提示词框架

我们希望Prompt帮我们做什么事情,框架为提示创建过程提供了结构和清晰度,可以让我们更容易的检查提示词的问题。

ICIO框架

  1. Instruction(指令):即您希望 AI执行的具体任务。
  2. Context(背景信息):给AI提供更多的背景信息,以引导模型生成更符合需求的回复。
  3. Input Data(输入数据):告知模型需要处理的数据。
  4. Output Indicator(输出引导):告知模型所需输出的类型或风格。

看一个具体的例子,以便更好地理解ICIO框架如何应用于实际场景。

步骤
描述
指令 – Instruction
你是一位Java开发专家,请帮助我对以下Java代码进行重构。
背景信息 – Context
我是一位Java开发人员,需要对一段Java代码进行重构,以提高代码质量和可维护性。
输入数据 – Input
提供需要重构的Java代码片段。
输出引导 – Output
重构后的代码应遵循最佳实践,同时需要满足以下标准:使用JavaDoc中文注释常量和接口,提高代码可读性,以及使用合理的方法命名。重构后代码的输出应包括相应的解释,以便让同事和老板在代码审核过程中理解所做的更改。

最终提示词:

你是一位Java开发专家,请帮助我对以下Java代码进行重构。我是一位Java开发人员,需要对一段Java代码进行重构,以提高代码质量和可维护性。代码需要满足团队的代码审核要求和高质量的代码标准。请遵循最佳实践,满足以下标准:使用JavaDoc中文注释常量和接口,提高代码可读性,以及使用合理的方法命名。在输出重构后的代码时,请解释所做更改的原因和好处,以便让同事和老板在代码审核过程中理解这些更改。

ICIO相关的一些参考列表:

指令参考-Instruction
讲故事
优缺点
最佳实践
时间线
分步指南
历史背景
对比
教训
观点
常见问题解答
背景参考-Context
指令类型
背景
目标
受众
范围
扮演角色
输入参考-Input
指令类型
示例
案例研究
假设情景
数据
个性化
输出参考-Output
指令类型
语气
引用
术语
类比
引述
幽默
隐喻
关键词
小贴士
保密性
格式化

BROKE框架

BROKE: 背景、角色、目标、关键结果。用这种方式有点像给 AI设置OKR。让OKR完成你的目标……

关键词
描述
案例
Background(背景)
为 ChatGPT提供充足的背景信息,帮助模型更好地理解任务。
我是一位Java开发人员,需要对一段Java代码进行重构,以提高代码质量和可维护性。代码需要满足团队的代码审核要求和高质量的代码标准。
Role(角色)
明确您希望ChatGPT扮演的角色,例如:教师、顾问、编辑等。
你是一位Java开发专家,您将提供重构建议和解释。
Objectives(目标)
描述您希望通过ChatGPT实现的目标,如:解决问题、提供建议等。
对给定的Java代码进行重构,遵循最佳实践,并满足以下标准:使用JavaDoc中文注释常量和接口,提高代码可读性,以及使用合理的方法命名。
Key Result(关键结果)
阐述您所期望的具体效果,以便对模型的输出进行试验和调整。
提供完整的重构后代码,同时解释所做更改的原因和好处,以便让同事和老板在代码审核过程中理解这些更改。
Evolve(试验并改进)
利用以下三种自由组合的改进方法来优化 ChatGPT的回答:a. 改进输入;b. 改进答案;c. 重新生成。
a. 根据答案的不足之处,改进背景(B),目标(O)与关键结果(R)。b. 在后续对话中指出ChatGPT答案的缺点,引导模型给出更好的回答。c. 在Prompt保持不变的情况下,多次生成结果并从中挑选最佳答案。

CRISPE 提示词框架

关键词
描述
案例
能力与角色(Capacity and Role)
ChatGPT应该扮演什么角色(或多个角色)?例如:教师、编辑、顾问等。
你是Java领域的软件开发专家。
洞察(Insight)
向您的请求提供幕后洞察力、背景信息和上下文。有助于模型更好地理解任务。
代码需要尽可能地清晰和简洁,以满足团队的代码审核要求和高质量的代码标准。
陈述(Statement)
您希望ChatGPT执行的任务。简洁明了地说明您希望 ChatGPT完成的任务,例如:回答问题、撰写文章等。
您需要帮我对以下Java代码进行重构,并给出完整的重构后代码,以满足代码审核要求并提高代码质量。同时,请解释您所做的更改的原因和好处。
个性(Personality)
您希望ChatGPT以何种风格、个性或方式回应。如:正式、幽默、友好等。
在回应时,使用专业且易于理解的语言。
实验(Experiment)
要求ChatGPT为您提供多个示例。尝试邀请ChatGPT提供多个回答示例,从而找到最佳解决方案。
给我多个不同的重构建议和解释。

Trace 提示词框架

缩写
全称
描述
案例
Task
任务
明确需要完成的具体任务
设计一个网站的用户界面
Request
请求
明确地陈述你需要的帮助或资源以完成任务
请提供有关用户界面设计的最佳实践和资源
Action
行动
描述了为了完成任务,你需要执行的具体步骤
1. 研究用户需求
2. 创建原型
3. 获取反馈并迭代设计
Context
上下文
解释任务的重要性和其在更大环境中的角色
设计一个易于使用且符合公司品牌的用户界面,有助于提高用户满意度和留存率
Example
示例
为了进一步阐明上述所有步骤,提供一个或多个相关的具体示例
示例1:研究竞品用户界面以获取灵感
示例2:使用Figma创建原型模型

TRACE模型提供了一种清晰、有结构的方式来解释如何执行一个任务或解决一个问题,使得其他人可以更好地理解和执行。

模型回答的常见问题与解决方法

问题
问题描述
解决方案
答非所问
有时GPT在回答问题时,可能会提供与问题无关的答案。
重新审查并重新构造Prompt,确保问题表述清晰、明确且易于理解。提供更多的背景信息,以帮助模型更好地理解问题的含义。限制回答范围,明确您希望得到的答案类型。
回答不准确
GPT可能会提供不准确或错误的答案。
对问题进行更详细的描述,以便模型更好地理解您的需求。如果可能,提供一些正确答案的示例,使模型了解预期的答案格式。增加问题的难度,促使模型更加深入地考虑问题。
回答不完整或过于简单
GPT可能会提供不完整或过于简单的答案,无法满足您的需求。
要求模型提供更详细的答案或解释。明确指定需要回答的问题数量或关键点。尝试提问的其他方式,以获得更全面的回答。
重复或过于啰嗦
GPT生成的回答可能会重复或过于啰嗦。
要求模型提供简洁且不重复的答案。设置字数限制,以减少回答的冗余程度。提供更具体的问题,以便模型集中回答关键部分。
模型提供了多个答案
有时GPT可能会为一个问题提供多个答案,这可能使您感到困惑。
请求模型根据特定标准对答案进行排序或优先级排序。询问模型,哪个答案更适用于您的场景,并要求提供理由。根据您的需求,要求模型提供单一答案。
模型回答过于保守
GPT可能会提供过于保守或宽泛的答案,不能满足您的需求。
要求模型提供具体的例子、数据或论据来支持答案。明确提问,以便模型能够更有针对性地回答。要求模型提供创新或独特的答案。

想要真正掌握Prompt的艺术,关键还在于实践和积累。不断尝试各种Prompt,并将其中优秀的例子记录下来和分享。希望能对大家有所帮助。欢迎一起交流和学习。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号