以下是一个用 Markdown 形式写俄罗斯方块的提示词示例:
游戏目标: 玩家需要通过操作方块的下落和旋转,使方块填满一行或多行,消除得分,尽可能地获得高分。
操作说明:
方块类型:
得分规则:
游戏结束条件: 方块堆积到顶部,无法再放置新的方块。
希望以上提示词对您有所帮助,您可以根据实际需求进行修改和完善。
我们平时写提示词用的更多的是Markdown语法。Markdown语法很简单,并且大语言模型能很好的“理解”标题、列表、加粗强调等这些语法。用Markdown写提示词不是更直白吗?我们把这段Lisp提示词翻译成Markdown试试效果。Markdown版本与Lisp版本的提示词在语义上几乎是一致的。只是中间我多加了一句“一步步思考,严格按照大步骤以及处理流程执行。”因为不加这句,Claude还是不能保证会逐步执行。下面是Lisp版本提示词的输出效果。不知啥原因,我通过API调用Claude,输出效果很难达到李继刚文章中那种水平,用网页版也许会好一些。下面是Markdown版本的提示词输出的结果:对比下两者的效果,可以发现一个明显差异:在Lisp版本中,SVG图形的丰富度和表现力稳定地优于Markdown版本。这是个意外发现!我们会在后面再细细探讨。Markdown版本与Lisp版本提示词的另一个重要差异在执行过程,它会输出中间“思考”过程。小确幸这个函数的所有子步骤都被充分展开并且按顺序执行了。而且,由于大语言模型的自回归机制,前面步骤的输出,会自然地被作为上下文传入给后面的步骤。虽然在这个任务中,从文本处理后的输出结果上可能看不出太大差异,但在多数场景下,这样一步一步思考是会有正向收益的。除此之外,让大语言模型将“思考”过程外化出来后有一个很大的好处,就是你可以调试优化这个流程。从过程输出中你可以看到哪些步骤生成了有用的增量信息,哪些步骤是无用的。另外在调试过程中,你还可能从大语言模型的输出中发现新的灵感。然而,用Lisp版本的提示词,很难让大语言模型这么有条理地执行一个流程。
1.Markdown标题:使用Markdown的标题语法来创建提示和文本之间的标题,如之前示范的那样。2.XML结构:使用XML的标签和元素来包围提示和文本,如之前示范的XML示例。3.JSON对象:使用JSON的键值对来将提示和文本分开,如之前示范的JSON示例。4.HTML结构:使用HTML标记来创建提示和文本之间的结构,类似于XML。5.纯文本分隔符:您可以使用自定义的文本分隔符,例如“---”或其他特定字符串,将提示和文本分隔开。6.标记语言特定的方式:如果有特定的标记语言或格式,您可以提供相关的示例,我会尽力理解和适应。接下来,我会使用GPT-3.5模拟一下官方示例下的其他分割方式的案例。详见下方的QA问答环节。~~~~~~~~~(进入QA环节)Q:(首先确定大语言模型是否可以达到我们的需求。)我如果用markdown、XML、JSON的语法结构与你对话,你能够理解吗?A:是的,我可以理解Markdown、XML和JSON的语法结构,并根据相应的格式进行回应。请继续您的问题或对话,我会尽力适应所使用的语法结构。如果您有特定的问题或要求,请随时提出。Q:(表达我们的目的)我想要给你一段文本,希望在指示与文本之间添加分隔符。A:当然可以,请提供文本和您想要用作分隔符的符号或字符串。我将帮助您将分隔符添加到文本中。Q:(开始实操)
好说,你就这么理解——用户是甲方,SD是乙方,prompt就是甲方输出的需求书。[heading2]使用prompt[content]和写LLM的prompt一样,为了用户更好控制效果,建议是结构化书写prompt。下面用Markdown文本格式,中文来说明prompt的八大结构。注意这里为了方便理解用中文来做说明,实操中写prompt必须用英文。详细的prompt教程请见[Prompt的专场教程-基础篇](https://waytoagi.feishu.cn/wiki/TXi4wirFxieHiWktVencI4yPn3d)后续的教程会补充如何给提示词加权重,这里入门阶段可以先简单写prompt,甚至交给翻译器,中文输入英文输出。至于负向提示词Negative Prompt技巧,我也没学好,都是想到什么就写什么的,后面我学有所成了回来补充到prompt教程里面。目前你学到的足够让你先玩开心了,晚些时间更新prompt的示例说明。预告:prompt的进阶玩法等教程我也会相继整理好,这块内容所有SD产品都适用,不论是在线还是本地部署的SD。对了,如果你看到本文有错,请务必指出,我没有合适配置的电脑玩本地部署的SD,在线SD产品的使用时间也就是这周开始正经研究,不懂的太多肯定会犯错,大家狠狠指出来吧哈哈哈我脸皮超厚会冷静改正的。