AIGC: 关于ChatGPT抽象Prompt提问模板的设计

为什么需要Prompt模板

  • 基于前文我们具备了Prompt构建的基础能力,但是我们在实际编写Prompt的过程当中,可能还会存在一些的问题
    • 比如对于背景和细节的描述还是不够
    • 或者为了描述的清楚堆砌了大量的文字, 导致整个Prompt的结构化和可读性呢是比较差的
    • 从而GPT没有正确理解需求,导致输出的结果不及预期
  • 所以需要我们去总结Prompt工程相关知识,为我们自己去构建Prompt的一个相对来说比较标准化的模板
  • 帮助我们更灵活可扩展的去套用Prompt,实现不同领域不同问题的提问

如何设计Prompt模板

  • 第一步是需要结合前文理清好的Prompt,应该怎样去进行设计?
  • 那我们的 Prompt 模板都需要包含哪些内容呢?
    • 需要去整合Prompt的提示以及提问的要素,使其能够覆盖大部分的场景
    • 我们在不同的领域,可以通过去套用这个模板的结构,然后进行解决,生成我们的Prompt
    • 可以回顾一下 Prompt 它的核心的内容,就可以梳理出常用的模板,都有哪些模块了
      • 这样在不同的领域,我们就可以去复用模板的基础的结构
      • 然后通过模板去套用其他的问题来进行解决,这也是我们设计Prompt模板的一个初衷
    • 回顾一下Prompt的核心内容, 梳理出promot模板都含有哪些模块
      • 当我们有一个问题期望得到GPT帮助的时候,我们需要去明确我们的需求和目标,对需求和目标进行拆分
      • 为了让GPT能够对我们的问题有一个大局观,我们还需要去提示必要的背景或者事例。
      • 如果我们有更加详细的约束要求,比如实现步骤输出格式等等,也可以一并去提出这些要求。
    • 经过我们的梳理之后,最终会得到一个相对简化的Prompt模板的一个示例
  • 简化的 Prompt 模板示例
    • 整个Prompt共包含五个部分,分别是:
    • 1 )设立角色
      • 属于选填项
      • 目的是为GPT设定一个工作角色,能够帮助GPT划定输出的领域,让其回答更加精确
    • 2 )需求概述和目标
      • 是必填的字段
      • 是我们让GPT输出的核心的输入
      • 在这部分需要明确的描述我们的需求和想要达到的目标, 为GPT下达任务指令
    • 3 )背景
      • 是选填的字段
      • 为GPT补充必要的背景信息,协助完善生成所需的上下文信息
      • 为GPT构建它的大局观
    • 4 )要求
      • 是选填字段
      • 是对我们的需求以及输出的一个细化
      • 要有条例性的描述,具体的需求和输出的格式补充我们所需要的这些细节
    • 5 )示例
      • 是选填项
      • 通过真实具体的事例,能够帮助GPT更好的认识我们的需求和输出的模式
      • 协助GPT按照我们的思路去进行规划

基于上述模板去构建一个Prompt

  • 比如我们很多人都会在网上去找一些面试题
  • 可以让GPT充当我们的面试官,向我们出题,我们进行回答
  • 回答完毕之后,再让GPT对我们的回答进行一下评价
  • 我们可以通过Prompt的模板对这个场景去进行一下设计
  • 让GPT通过面试的形式,对我们去进行一个测试

关于设定角色和需求目标

  • 根据模板,我们的提示公式是: 你是什么角色,我需要你做什么,达到什么目标。
  • 示例:你是一位大数据领域的面试官,你的任务呢是提出3个大数据行业的常见面试问题,我将会作为候选人进行回答
    • 通过我们的输入,我们指定了GPT它的角色
    • 明确了GPT的任务是提出三个大数据行业的面试题
    • 在这里,对于面试题,我们增加了限定范围,这里是提问要素的一个体现

关于背景

  • 我们遵循Prompt模板来看,下一步是背景的描述
    • 背景描述的意义有助于GPT可以更好的去掌握全貌
    • 对于它不了解的内容去进行补充。那么这里其实就存在一个问题
    • 我们怎样去判断GPT是不是对于某一个背景有所了解
      • 最常用的方法可以通过试探GPT的方式
      • 比如试探GPT是否了解大数据行业,我们可以试着去询问的GPT, 你了解大数据行业吗?
      • 如果GPT能够给出相对准确的答案,则说明这个背景呢,GPT是了解的,我们不需要进行额外的补充
      • 如果GPT不清楚这个概念, 则需要我们对GPT去进行背景的描述
      • 如果我们在回答的过程当中,可能会用到了公司内部的系统或者组件。
      • 为了让GPT能够理解我们回答的内容。我们可能就需要对于相关的这些专有的名词进行介绍
        • 比如在公司有一个内部系统叫做xx平台(xx是这个平台的名称举例), 该平台是一个调度平台
        • 为了让GPT能了解什么是xx平台, 我们可以通过名词介绍,通过背景去将xx平台的含义告诉GPT
        • 比如我们告诉GPTxx平台是支持时间依赖等触发模式的调度系统和yy系统是比较类似的。(备注: yy系统是其他类比系统)
      • 这样, 我们在提到xx平台的时候,GPT其实对yy平台是有所了解的,是符合我们预期的,这是对于背景。

关于要求

  • 然后是要求, 对于要求, 我们需要保证结构和条理的清晰
    • 我们可以通过1,2,3的这种形式去进行描述
    • 比如对于我们的GPT面试官,我们提出几个具体的要求
      • 1 )首先我们想要GPT, 一个一个的对我们进行提问
      • 2 )不要对我的答案去进行过多的解释
      • 3 )当问题全部回答完成之后,需要对我们的答案去进行评分
      • 4 )评分的分值区间为0 ~ 100分, 其中 100 分为满分

关于示例

  • 为了让GPT更好的理解我们的想法, 我们也可以给出一个简单的示例
    • 通过少样本对GPT进行引导,便于GPT输出符合我们预期的答案。
    • 比如我们可以告诉GPT, 你可以参照以下的示例进行,比如:
      • 你问: Hadoop都具备哪些服务
      • 我答: NameNode, DataNode, ResourceManager等等的这些服务
  • 结合Prompt模板以及我们刚才所提到的GPT作为一个面试官,他的角色需求目标以及背景要求和示例
  • 最终我们设计出了一段Prompt的文字
  • 接下来,我们就可以针对这里的Prompt去进行一个实际的测试了
  • 从整个模拟的测试中,可以现在看到
    • 基于我们的模板构建了我们提问的Prompt
    • GPT正确的理解了我们的要求,对大数据相关的问题进行了提问
    • 并且对我们的答案进行了评分, 以及其他的一些问题说明

你可能感兴趣的:(AIGC,AIGC)