其实一直有很多人问我,Prompt 要怎么写效果才好,有没有模板。
我每次都会说,能清晰的表达你的想法,才是最重要的,各种技巧都是其次。但是,我还是希望发给他们一些靠谱的文档。
但是,网上各种所谓的 Prompt 框架、教程,真的乱七八糟,让人头都大。
直到前两天,12 月 15 号,OpenAI 在他们的文档里上线了 Prompt engineering,也就是提示词工程指南,至此,终于算是有了一个权威且有效的 Prompt 工程标准文档。
我花了 20 分钟看完了后,其实挺会心一笑的,整篇指南简洁、明确、高效,写的非常棒。
OpenAI 提到 6 条大的原则,分别是:
-
Write clear instructions(写出清晰的指令)
-
Provide reference text(提供参考文本)
-
Split complex tasks into simpler subtasks(将复杂的任务拆分为更简单的子任务)
-
Give the model time to "think"(给模型时间「思考」)
-
Use external tools(使用外部工具)
-
Test changes systematically(系统地测试变更)
我用这篇文章,来通俗易懂的给大家聊一下具体的原则和例子,第六条可以不看,对普通用户没啥大用。最后我会再放一张脑图,没空看的可以收藏一下文章,然后滑到最后去保存脑图。
我觉得可以信我,市面上 99% 的 Prompt 框架和技巧,都不如这一篇文章有用。
01
写出清晰的指令
这个其实就是我天天说的,任何 Prompt 技巧都不如清晰的表达你的需求,这就像人与人沟通一样,话都说不明白,怎么能让对面理解你呢?一味的靠抄 Prompt 模板,其实不是长久之计。
所以,写出清晰的指令,是核心中的核心。
如何写出清晰的指令,OpenAI 给出了 6 条小技巧:
1. 把话说详细
尽量多的提供任何重要的详细信息和上下文,说白了,就是把话说明白一点,不要一个太笼统。
比如:
不要说:「总结会议记录」
而是说:
「用一个段落总结会议记录。然后写下演讲者的 Markdown 列表以及他们的每个要点。
最后,列出发言人建议的后续步骤或行动项目(如果有)。」
2. 让模型充当某个角色
你可以把大模型想象成一个演员,你要告诉他让他演什么角色,他就会更专业更明确,一个道理。
比如:
充当一个喜欢讲笑话的喜剧演员,每当我当我请求帮助写一些东西时,你会回复一份文档,其中每个段落至少包含一个笑话或有趣的评论。
3. 使用分隔符清楚地指示输入的不同部分
三引号、XML 标签、节标题等分隔符可以帮助划分要区别对待的文本节。可以帮助大模型更好的理解文本内容。我最喜欢用"""把内容框起来。
比如:
用 50 个字符总结由三引号分隔的文本。"""在此插入文字"""