最新一代语言模型已经在自然语言处理和生成方面取得了重大突破。这些模型可以解决各种任务,从写诗到医疗报告到编程问题。尽管这些模型可以解决多种问题,但它们有时候也会生成不准确、误导性或矛盾的结果。为了提高这些模型的准确性和稳定性,斯坦福和OpenAI进行了一项名为meta-prompting的研究,提出了一种新技术。这种技术包括构建一个高层级的「元」prompt,指导语言模型做以下几点:1.将复杂任务分解为更小的子任务;2.使用详细的指令将这些子任务分配给专家模型;3.监督专家模型之间的通信;4.应用自己的批判性思维、推理和验证技能。
当对可使用meta-prompting的语言模型进行查询时,这个模型作为指挥员,输出一组消息历史,由多个专家模型的响应构成。语言模型负责生成指挥员部分,选取专家并为它们构建特定的指令。语言模型本身也作为独立专家,基于专业知识和指挥员选择的信息生成输出。这种方法维持了单个语言模型的连贯推理路线,并同时利用不同的专家角色。通过动态选择上下文,专家为过程引入不同视角,指挥员模型保持对完整历史的鸟瞰视角并维持协调。因此,这种方法使得单个黑箱语言模型既可以作为中心指挥员,又可以充当一系列不同专家,从而获得更准确、可靠和连贯的响应。
meta-prompting技术结合和扩展了多种不同的prompting思想,包括高层级规划和决策、动态分配人设、多智能体辩论、自我调试和自我反思。其中一个关键方面是其不受具体任务的影响。传统的脚手架方法需要为每个任务调整具体的指令或示例,而meta-prompting则采用了同一套高层级指令来处理多种任务和输入。这对于不想麻烦的用户特别有益,因为他们不需要为每个具体任务提供详细的示例或指示。例如,对于一次性请求如「写一首关于自拍的莎士比亚式十四行诗」,用户无需提供高质量的新古典主义诗歌示例。meta-prompting方法提供了一个广泛、灵活的框架,提升了语言模型的实用性,同时又不影响其特定性或相关性。
为了展示meta-prompting方法的通用性和整合能力,该团队对其系统进行了增强,使其能够调用Python解释器。这样,该技术可以支持更动态和全面的应用,进一步提升处理多种任务和查询的能力。图2展示了一个meta-prompting的会话流程示例,描述了元模型使用输入和来自不同专家模型或代码执行的输出解读自身输出的过程。这使得meta-prompting成为一个几乎通用的工具,能够将多个语言模型的交互和计算聚合成单一且连贯的叙述。meta-prompting的不同之处在于语言模型自己决定使用哪些prompt或使用哪些代码段。该团队使用GPT-4作为基础语言模型进行了全面的实验,比较了meta-prompting与其他无关任务型脚手架方法。实验发现,meta-prompting不仅提升了整体性能,还提高了生成有效结果的能力。