3.5 贴切而全面:通过拆分 Prompt 引导 GPT

在上一章中,我们一起认识了底部 Prompt 背后的巨大潜力,本章,我们将进一步以此为核心,向大家介绍如何通过拆分 Prompt 引导 GPT 生成贴切而全面的内容。

拆分 Prompt 有效的原因

《1.6 不再胡说八道:编写 Prompt 的通用思路之三——填空》中,我们一起认识了如何利用填空法来提升 GPT 回答时的质量。也提及了 GPT 中 Transformer 部分的原理,能够根据语境自如补全语句中的遗漏信息。凭借这项特性,我们可以考虑将 Prompt 分解,不再全数置于语篇末尾,而是插入我们的明确要求或问题于其间。即将一个完整的生成需求转换成一道填空题,能够极大地引发 GPT 的语义联想能力,从而生成更贴近语境、连贯一致的内容。

第八章的主旨在于让大家理解和掌握这种方法,然后利用它来提取信息。本章所要介绍的技巧则是填空法的变式,更倾向于把周围的文本视为导向信息,引导 GPT 按照我们的需求创造内容。第八章的方法可提高 GPT 答问的准确性,而本章将介绍的技巧则可使 GPT 有针对性地生成内容。

本章和之前章节的优化方法可以看出四大技巧是非常基础且重要的,很多通用或者适合特殊问题的高级技巧都是由他们衍生变化而来。

拆分 Prompt 的正确方式

当 GPT 生成复杂内容时容易偏离主题,或者某些问题需要在特定的上下文中才能体现,我们可以将 Prompt 分为两个部分,中间插入我们的指令或问题。这样,通过给出上下文,我们就能引导 GPT 沿着我们设想的路径和逻辑生成内容,从而提升内容的连贯性和相关性。同样,给出的上下文也能增强 GPT 的思考深度,让它更深入地理解问题,生成更深度的答案。

这个方法还有两个好处。首先,我们可以利用上下文让 GPT 有目标地生成新颖且富有创意的内容,并控制创意的方向和深度。其次,当你在不同的上下文中加入相同的任务指令,其生成的内容质量和水平稳定,具有强大的复用性,可以很好地融合到现有的工作流程中。

然而,在拆分 Prompt 时,我们需要注意不能像填空法那样在中间留空或使用关键词。应像我们在上一章末尾提到的那样,在结尾部分利用特殊符号等方法,让 GPT 来区分素材和指令。否则,就会像我们在上一章所说的那样,GPT 很可能会混淆指令和内容,或者直接忽视、覆盖、或重写某些上下文。典型的格式可能如下所示(已省略上下文):

[上文]

{{要求1}}

[下文]

{{要求1:填充内容……}}

GPT-3.5 使用优化方法之前回答的内容
GPT-3.5 使用优化方法之前回答的内容

我们能观察到,如果没有使用优化方法的话,直接向 GPT-3.5 提问就变成了格式仿写。虽然偶尔能为我们生成内容,但远称不上稳定可用,导致我们的体验较差。采用优化方法后,GPT 每次都能稳定地生成内容,并且其用语和风格都能很好地融入到来龙去脉中。

我们之所以选择这种特定格式,是因为我们需要明确区分需求和上下文。我们的目标不是获取信息,而是生成内容,因此,非常有必要在底部 Prompt 中详细地指出我们的需求。另一方面,这种方式也更好地遵循了我们在上一章中提到的底部指令原则,从而使优化方法的效果更为显著。

拆分 Prompt 适合的问题类型

  • 创作文学作品:如小说、诗歌、剧本等,在上下文中嵌入问题,可以控制创作的风格、情感色彩和主题。

  • 定向创意写作:如果我们希望在某个上下文中生成特定的创意内容,例如在一段旅行叙述中加入一段美食体验,或者在一篇科幻小说中插入一个特定的科技设定,都可以使用这种方法。

  • 写作助手:帮助作者优化两端内容之间的衔接,自动填充符合文章文章风格的衔接内容。

  • 脚本写作:在写剧本或者电影脚本时,我们往往需要在特定的情境中插入特定的对话或者剧情转折,可以利用这种方法,将情境描述作为上文,对话或剧情要求作为中间指令,让 GPT 生成符合情境的对话或剧情。

  • 具有明确指向性的任务:这类问题可能需要 GPT 根据指定的要求完成任务,比如编写一封推销信,或者制作一个关于某个主题的演讲稿。当你需要 GPT 在特定主题或领域生成高质量内容时,可以在上下文中添加具体的要求或问题,帮助 GPT 更好地理解主题和你的需求。

  • 创作特定风格的文案或广告:例如,你可以在上下文中给出产品的描述和特点,然后要求 GPT 创作符合这些特点的广告文案。

  • 生成教程或步骤指南:在上下文中提供一个问题或任务,然后让 GPT 生成详细的解决步骤或教程。

  • 对比问题:可以引导 GPT 更清晰地比较不同事物。通过两个或者多个相似格式(格式大于内容)的上下文,可以让 GPT 更加清楚地理解到这几个对象的异同点,从而实现在中间更贴切地补充内容。

拆分 Prompt 的拓展用法

在上面我们已经强调过了,直接提供上下文的效果并不是很好,经过测试效果最好的还是在需要插入问题的部分使用关键词占位符({{要求}}的效果就不错),然后在底部指定具体的要求内容,利用其它 Prompt 优化方法的达到 1+1 > 2 的效果。

另一个有趣的使用技巧是,我们可以通过控制上下文的关联程度来调整GPT的逻辑和创造性。例如,连贯的上下文会生成更符合我们预期的内容,当我们一步步将上下文的关联性越降越低,GPT 依然会想方设法满足上下文连贯,这时生成的内容就会越来越有「新意」。

将两个不同领域的内容作为上下文,得到的结果很好玩

总结

拆分 Prompt 是引导 GPT 生成特定内容的有效方法之一。通过提供连贯的上下文,我们可以使 GPT 理解问题的关联性,从而生成更符合逻辑和语境的内容。合理运用这一优化技巧,我们可以更好地控制产生的内容。在下一章节,我们将探讨在提升 Prompt 到新的长度和复杂度以后,如何确保 GPT 依旧能够准确把握我们的意图,以解决更为复杂且繁琐的实际问题。

最后更新于