昨天撰写了ChatGPT的内容,主要分为四个部分:
- Instruction
- Context
- Input Data
- Output indicator
关于这部分内容,见上一篇文章:如何撰写一份良好的ChatGPT Prompt?
Instruction很好理解,就是我们想要ChatGPT干的事情。但是其他的三个内容还是要进行更加细节的讲述的。今天主要讲如何写一份良好的Context。
Why,为什么要写Context?
Context,也就是写Prompt的时候应该加入的背景内容。主要目的是引导ChatGPT根据背景,更好地写出答案。让ChatGPT给读者说明“什么是量子力学?”,和小学生和大学生说的东西肯定不一样。下面是具体的例子。
“什么是量子力学?”v1.0,没有加背景的内容
可是吧,这样写的太官方的,如果我是小学生,这个东西应该怎么才能够明白呢?
“什么是量子力学?”v1.1,读者是小学生
这里加上的背景,是假设要解释的对象是小学生,从而让ChatGPT用科普的语言来解答这个问题。
看起来,用了更加打比方的内容,相对来说容易明白。
“什么是量子力学?”v1.2,读者是大学生
如果,对象是大学生,那又是怎么样呢?
这个,相对来说,这个更加贴近科学的语言。
所以,加上Context,能够让ChatGPT给出更加适合的答案。
What,Context的评判标准?
加上Context的确能够让ChatGPT给出相当适合的答案。可是Context的写作有没有什么标准呢?
Context仍然是Prompt的一部分,参考Prompt的写作要求
- concise,
- specific
Context也应该如此。那么参考这两条标准,应该怎么写出良好的Context呢?根据我的研究,提出了下面的几个结构。
How,用记叙文六要素来写Content
小时候写作文,老师教导我们记叙文有六要素:
- 时间
- 地点
- 人物
- 起因
- 经过
- 结果
这六个要素就能够说明一个完整的故事。然后再期末考试的时候,阅读理解就是对这篇文章进行提问。那么问题来了,如果我们把一个故事当做背景呢?然后再故事之后,提出相关的问题。
还是举例来说明问题。不过举例要直接大家都知道的例子。
《西游记》中,泾河龙王因为误了点数被砍了龙头,就以这个来举例把。
“泾河龙王误点数”v1.0,不加背景
这个第一版,就是直接询问问题。
说实话,这个提问题的比较好。从比较宏观的角度给出了问题。可是似乎我们还需要进一步加工结合实际才能够解决问题。那么问题出现了,我们直接把实际问题当做Content加入呢?
“泾河龙王误点数”v2.0,加上实际的背景。
那么编什么样的背景呢?我这里找了一个大部分中国人都看过的《西游记》的一个场景——泾河龙王误了天庭的雨水点数,被魏征砍了头?
要素 | 内容 |
---|---|
人物 | 泾河龙王、玉帝、魏征 |
时间 | 前几天 |
地点 | 长安城 |
起因 | 我误了下雨点数 |
经过 | 玉帝发现我误了点数 |
结果 | 玉帝要砍了我的龙头 |
Instruction | 让玉帝不砍了我的龙头 |
最终的Prompt:我是个龙王,任务是行云布雨,按照天庭的要求在规定的时间和地点下足够的雨。可是前几天,我下雨可以误了一段时间,违反了天条。天庭之主——玉帝要砍了我的龙头。 我作为龙王,应该怎样才能够让玉帝不砍了我龙头。
说实话,这个挺好了。已经能够达到电视剧的神算(我有上中下三策,请问君上需要哪个)。
不过吧,这里面提到了神话故事设定和玉帝的性格设定。那么接下来再接着改。
“泾河龙王误点数”v2.1,加上神话故事设定和玉帝性格设定。
由于ChatGPT不知道玉帝是谁,也不知道泾河龙王是谁,以及他们之间的关系。所以这里对人物进行丰富。
要素 | 内容 |
---|---|
人物1泾河龙王 | 我作为泾河龙王,管辖的仅仅是一条相对于天地来说及其渺小的河流。 |
人物2玉帝 | 玉帝俗称“天”、“天公”、“上天”、“苍天”、“上苍”、“老天”、“老天爷”、“天公祖”等,被视为是神界皇帝、天庭之元首、万神之王;在道教神系中是天界地位最高的神之一,地位仅次于三清,为三清所化生出之先天尊神,而在太极界统辖宇宙众神,六御之一。 |
人物关系 | 相对于玉帝来说,我就是一个芝麻官 |
时间 | 前几天 |
地点 | 长安城 |
起因 | 我误了下雨点数 |
经过 | 玉帝发现我误了点数 |
结果 | 玉帝要砍了我的龙头 |
Instruction | 让玉帝不砍了我的龙头 |
最终的Prompt:
我是个龙王,任务是行云布雨,按照天庭的要求在规定的时间和地点下足够的雨。可是前几天,我下雨可以误了一段时间,违反了天条。天庭之主——玉帝要砍了我的龙头。
其中,我和玉帝之间的级别相差非常大。玉帝俗称“天”、“天公”、“上天”、“苍天”、“上苍”、“老天”、“老天爷”、“天公祖”等,被视为是神界皇帝、天庭之元首、万神之王;在道教神系中是天界地位最高的神之一,地位仅次于三清,为三清所化生出之先天尊神,而在太极界统辖宇宙众神,六御之一。 我作为泾河龙王,管辖的仅仅是一条相对于天地来说及其渺小的河流。
我作为龙王,应该怎样才能够让玉帝不砍了我龙头。
这个内容,比较符合实际了。特别是第六条,当时泾河龙王如果这样干,不知道玉帝会不会饶恕一下呢?
“泾河龙王误点数”v2.3,加上我们“龙”的势力。
上面,仅仅考虑了我和玉帝的关系,可是没有考虑我可是有一个大的族群——龙族呢。加上再来。
要素 | 内容 |
---|---|
人物1泾河龙王 | 我泾河龙王属于天下大族——龙族。洪荒大地分为四大部洲以及四海。四海,由东海、西海、南海和北海组成,均由我龙族的四海龙王掌控。我泾河龙王虽然不比四海龙王,但也足够可以,四海龙王是龙族敖姓一族。其次,应该就是我了,毕竟泾河可是南瞻部洲八大河流之一,而我泾河龙王是泾河的掌控者。 |
人物2玉帝 | 玉帝俗称“天”、“天公”、“上天”、“苍天”、“上苍”、“老天”、“老天爷”、“天公祖”等,被视为是神界皇帝、天庭之元首、万神之王;在道教神系中是天界地位最高的神之一,地位仅次于三清,为三清所化生出之先天尊神,而在太极界统辖宇宙众神,六御之一。 |
人物3四海龙王 | 四海龙王分别掌控四海,是我泾河龙王的直属领导。 |
人物关系 | 相对于玉帝来说,我就是一个芝麻官 |
时间 | 前几天 |
地点 | 长安城 |
起因 | 我误了下雨点数 |
经过 | 玉帝发现我误了点数 |
结果 | 玉帝要砍了我的龙头 |
Instruction | 让玉帝不砍了我的龙头 |
最终的Prompt:
我是个龙王,任务是行云布雨,按照天庭的要求在规定的时间和地点下足够的雨。可是前几天,我下雨可以误了一段时间,违反了天条。天庭之主——玉帝要砍了我的龙头。
其中,我和玉帝之间的级别相差非常大。玉帝俗称“天”、“天公”、“上天”、“苍天”、“上苍”、“老天”、“老天爷”、“天公祖”等,被视为是神界皇帝、天庭之元首、万神之王;在道教神系中是天界地位最高的神之一,地位仅次于三清,为三清所化生出之先天尊神,而在太极界统辖宇宙众神,六御之一。
我作为泾河龙王,管辖的仅仅是一条相对于天地来说及其渺小的河流。我泾河龙王属于天下大族——龙族。洪荒大地分为四大部洲以及四海。四海,由东海、西海、南海和北海组成,均由我龙族的四海龙王掌控。我泾河龙王虽然不比四海龙王,但也足够可以,四海龙王是龙族敖姓一族。其次,应该就是我了,毕竟泾河可是南瞻部洲八大河流之一,而我泾河龙王是泾河的掌控者。
我作为龙王,应该怎样才能够让玉帝不砍了我龙头。
说实话,这里面相对于上一条,直接点名了具体的人物——四海龙王——来求情。这条还可以。
“泾河龙王误点数”v3.0,丰富故事情节。
内容已经完善了,可是故事情节太简单,这里来丰富一下。
要素 | 内容 |
---|---|
人物1泾河龙王 | 我泾河龙王属于天下大族——龙族。洪荒大地分为四大部洲以及四海。四海,由东海、西海、南海和北海组成,均由我龙族的四海龙王掌控。我泾河龙王虽然不比四海龙王,但也足够可以,四海龙王是龙族敖姓一族。其次,应该就是我了,毕竟泾河可是南瞻部洲八大河流之一,而我泾河龙王是泾河的掌控者。 |
人物2玉帝 | 玉帝俗称“天”、“天公”、“上天”、“苍天”、“上苍”、“老天”、“老天爷”、“天公祖”等,被视为是神界皇帝、天庭之元首、万神之王;在道教神系中是天界地位最高的神之一,地位仅次于三清,为三清所化生出之先天尊神,而在太极界统辖宇宙众神,六御之一。 |
人物3四海龙王 | 四海龙王分别掌控四海,是我泾河龙王的直属领导。 |
人物4泾河水族 | 我泾河龙王手下的虾兵蟹将 |
人物关系 | 相对于玉帝来说,我就是一个芝麻官 |
时间 | 前几天 |
地点 | 长安城 |
起因 | 长安城有一个卦师,叫做袁守诚,能够算出泾河水族的位置,使得我泾河龙王手下的泾河水族成员数量急剧减少。考虑到我泾河水族是我泾河龙宫的预备兵马,这样的话,我未来泾河龙宫的发展就会受挫。我泾河龙王深感愤怒,化作白衣秀士,去长安城寻袁守诚的麻烦,让他推算明日降雨的时间点数,并留言如若算错,便要赶他出城。结果天庭突降圣旨,圣旨上我泾河龙王明日降雨时间点数与袁守诚的推算完全一致。 |
经过 | 我泾河龙王不愿服输,私改了下雨的时辰点数,触犯了天条,结果被天庭知晓 |
结果 | 玉帝要砍了我的龙头 |
Instruction | 让玉帝不砍了我的龙头 |
Prompt:
我是个龙王,任务是行云布雨,按照天庭的要求在规定的时间和地点下足够的雨。长安城有一个卦师,叫做袁守诚,能够算出泾河水族的位置,使得我泾河龙王手下的泾河水族成员数量急剧减少。考虑到我泾河水族是我泾河龙宫的预备兵马,这样的话,我未来泾河龙宫的发展就会受挫。我泾河龙王深感愤怒,化作白衣秀士,去长安城寻袁守诚的麻烦,让他推算明日降雨的时间点数,并留言如若算错,便要赶他出城。结果天庭突降圣旨,圣旨上我泾河龙王明日降雨时间点数与袁守诚的推算完全一致。我泾河龙王不愿服输,私改了下雨的时辰点数,触犯了天条,结果被天庭知晓。玉帝要砍了我龙头。
其中,我和玉帝之间的级别相差非常大。玉帝俗称“天”、“天公”、“上天”、“苍天”、“上苍”、“老天”、“老天爷”、“天公祖”等,被视为是神界皇帝、天庭之元首、万神之王;在道教神系中是天界地位最高的神之一,地位仅次于三清,为三清所化生出之先天尊神,而在太极界统辖宇宙众神,六御之一。
我作为泾河龙王,管辖的仅仅是一条相对于天地来说及其渺小的河流。我泾河龙王属于天下大族——龙族。洪荒大地分为四大部洲以及四海。四海,由东海、西海、南海和北海组成,均由我龙族的四海龙王掌控。我泾河龙王虽然不比四海龙王,但也足够可以,四海龙王是龙族敖姓一族。其次,应该就是我了,毕竟泾河可是南瞻部洲八大河流之一,而我泾河龙王是泾河的掌控者。
我作为龙王,应该怎样才能够让玉帝不砍了我龙头。
这个第二条向领导解释和误会,虽然犯了天条,可是有原因的呀。法大不过情。
后续
这个仅仅是对Context的内容的完善,后续还可以继续提问题。比如第一条举行忏悔仪式。让ChatGPT帮忙写一份忏悔书,加上一份忏悔仪式的规划。
Prompt:结合上面的讨论,帮我制定一个忏悔计划,并且加上一份忏悔书,说清楚前因后果以及不砍我龙头的原因。
其实吧,这个忏悔流程写的不好,没有一个盛大的仪式来向玉帝求情;其次忏悔书写的也不够好。不过后续可以使用这种方法对内容继续完善呀。
结语
Prompt由四部分组成,主要包括
- Instruction
- Context
- Input Data
- Output Indicator
这篇文章提出了一个撰写符合“Concise And Specific”标准的Context的方法——记叙文六要素。当背景写清楚了,那么给出的结果也会更加符合实际的结论。