如何写好一个prompt:骑大象的艺术
最近写了几个prompt,收到了挺不错的反馈,所以想分享一下写prompt的经验和理解。
步骤
1. 明确目标
在写一个prompt之前,首先需要知道自己想要什么。
这个prompt适用场景是什么?它要解决什么问题?它的输入是什么?输出是什么?它属于哪种类型?
可以自己先问自己这些问题,然后去思考和回答。这些问题的答案可以不是那么精确,但是需要有一定的方向。
2. 拆解步骤
一般来讲,一个prompt可以拆解为几个步骤。
-
输入,需要明确输入的大致内容是什么,然后告诉AI。
-
处理,这一步比较复杂,下面详细说
-
输出,需要明确输出的内容和格式,比如是需要一个markdown表格,还是一段文字,还是一张svg。
处理
- 分析
首先需要分析输入的内容,然后拆解成几个固定的部分。
- 预处理
用户使用的大部分是自然语言,难保出现一些信息缺失和表述的不同,所以需要先把这些补全和统一。这样接下来的生成才能更准确更一致。
- 配置生成和提取
假如是生成svg,那么可能用户会输入一些配置,比如抽象的:风格,类型。也可能是具体的:颜色,尺寸。也可能用户没有输入任何配置,那么就需要根据前面提取出来的信息,生成合适的配置。
- 生成
通过前面的分析,预处理,配置生成,AI就能生成比较稳定且符合要求的内容了。
- 检查
(这一步尚待验证有效性)最后需要检查生成的内容是否符合要求,如果不符合,需要返回前面的步骤重新生成。
3. 增加足够多的细节
通过上面的步骤,应该已经有了一份prompt的雏形了。
那么接下来,把能够想象到的所有的细节,全部增加到prompt中。
4. 反复调试和验证
prompt如同炼丹,充满了玄学。所以反复的调试和验证必不可少。
整体的思路是“减”的思路。
因为前面已经填充了足够多的细节,所以这一步需要做的是,把一些多余的细节减掉。
千万要记住,并不是细节越多就越好,很多时候,细节是起到了画蛇添足的作用。
这一步需要反复的进行,可以不断的返回到前面几个步骤,反复的调整和优化。知道最终能够相对稳定的得到自己满意的结果。
5. 借助ai优化
这一步堪称画龙点睛,不要小瞧AI本身的理解能力。在写完prompt之后,丢给AI,让它给你做一次优化,往往会有意想不到的效果。
一些感悟
创作prompt,说白了就是混沌和精确之间平衡的艺术。
如同骑大象,你需要给与大象一些清晰的指令,否则不知道被大象带去哪里。但同时,指令又不能过于精确和细致,否则大象会束手束脚,反而不知道如何前行了。
比如,你需要大象跨过一道沟,你只需要说:跨过这道沟,然后大象就能自己跨过去。你不需要告诉大象,是否需要先左脚迈过沟,还是右脚迈过沟,还是直接跳过沟。反而,如果你真的这样去指示了,只会起到相反的效果,大象会无所适从,它的行动会变形。
如果你想去一座山峰,那么你需要更多的指令,而不是简单的告诉大象:去山峰。你需要告诉大象,上山时要注意什么,下山时要注意什么,遇到荆棘丛要注意什么,遇到河流要注意什么。
总得来说,你需要给与ai的更多的是有效的引导,而不是精确的指令。需要给与AI一些自行决定的空间,但是又要确保AI不会跑偏。
至于这中间的度如何把握,就需要结合AI本身的能力,然后在实践中反复的调试和优化了。