一个有意思的Prompt演员框架,LLMs被当成演员;提示被当成剧本;LLM输出被当成表演,o1从76%提高到87%

AI修猫Prompt AI修猫Prompt 2024年11月13日 08:02

点击上方蓝字关注我


本文:4200字阅读  11分钟

如何更好地设计提示词(Prompt)一直是大家关注的焦点。最近,一个独特的研究视角引起了广泛关注:将LLMs视为“演员”,将提示词视为“剧本”,将模型输出视为“表演”。

图片

图片由修猫制作

图片

这种新颖的思维方式不仅在概念上令人耳目一新,更重要的是,它在实践中展现出了显著的效果提升,在玩《纽约时报》的单词谜题游戏“Connections”中的表现任务中,采用“方法演员”提示架构可以提高 o1-preview 完美解决谜题的百分比,从 76%提高到 87%。这种方法为我们理解和使用LLMs提供了一个全新的工具,通过将模型的输出过程视作舞台上的表演,大家能够更好地引导模型的行为,从而实现精确和连贯的回应。

01

为什么需要一个新的思维模型?

现有方法的局限

目前主流的提示工程方法主要包括:

  • Chain-of-Thought(思维链)

  • Tree-of-Thoughts(思维树)

  • ReAct(推理与行动结合)

  • Self-consistency(自一致性)

这些方法虽然各有特色,但都存在一个共同的假设:将LLM的输出视为“思维”的产物。这种假设导致了两个问题:

  1. 概念模糊:什么是LLM的“思维”?这个概念本身就难以定义和把握,使得我们在面对复杂任务时难以判断和理解模型的推理逻辑。

  2. 方法局限:这些方法过分关注“思维”过程,而忽略了LLM本质上是在模仿人类的语言表达。因此,当面对需要深刻理解或复杂背景的任务时,模型往往会表现出不一致或缺乏深度的现象。

演员类比的优势

将LLM比作演员有几个显著优势:

  1. 概念清晰

    • 演员不需要真实体验角色的情感,只需要准确地模仿和表现。这与LLM的本质非常契合:它们并不具备真正的理解能力,而是通过海量数据学习人类的语言模式和反应。

  2. 期望对齐

    • 通过将LLM看作演员,我们不再期待它们拥有“真实的思维”,而是关注它们输出的质量和一致性。通过这一视角,我们可以更明确地定义成功的标准,即模型能否在给定的场景中表现出预期的“表演”。

  3. 方法指导

    • 演员在演出前会经过大量的排练和练习,提示工程师也可以通过对提示词的精心设计和调整,帮助LLM更好地进入角色。表演艺术中的一些方法论,例如如何设置场景、如何通过情感驱动角色表现等,都可以借鉴到提示词的设计中。

02

Method Actor框架详解

核心原则

  1. 提示工程即编剧与导演

    • 设定场景(Setting):首先要明确模型回答问题时的背景。通过设置明确的场景,提示工程师可以为模型提供丰富的上下文,帮助它更好地理解角色所处的环境。

    • 定义角色(Character):明确模型的“角色”,这意味着为模型提供具体的身份或视角,例如专家、顾问、记者等,以帮助它更好地调节输出的风格和内容。

    • 给出动机(Motivation):设定角色的动机是什么,例如帮助用户解决具体问题,或者提供详细解释。动机能够帮助模型更加精确地把握回答的深度和方向。

    • 提供舞台指示(Stage Direction):给出明确的操作步骤或行动指示,帮助模型逐步地完成复杂的任务,确保逻辑连贯。

  2. 表演需要准备

    • 对于复杂任务,可以将任务分解为多个小的子任务,逐步完成。例如,如果目标是写一篇深入的文章,模型可以先生成大纲,然后分部分地写作。

    • 构建渐进式表演,确保每一步都是在理解的基础上进行的,保持上下文的连贯性和一致性。

  3. 复杂任务分解原则

    • 将复杂任务分解为多个简单且可控的部分,并为每一部分设立清晰的验证标准,以确保每一步的结果都符合预期。

  4. 补充机制

    • 当模型遇到难以完成的任务时,可以设计外部验证机制,例如引入人工审阅或使用其他系统进行结果验证,确保输出的准确性和一致性。

实现方法

“方法演员”模型的核心在于将LLMs视为“演员”,而不再只是单纯的工具。这意味着模型需要更好地理解场景,解析提示,然后在“表演”中提供响应。提示工程师可以通过精细化提示——即剧本——来指导模型如何“演出”不同的角色和场景。

例如,在面对一个关于政策问题的任务时,传统的LLMs可能会仅仅依赖训练数据给出一般性的回答,而“方法演员”模型则会通过理解更深层次的提示,考虑具体的场景和关系,从而给出更为契合的回答。这样的改进不仅仅是简单的输出变化,而是涉及模型如何通过不同的提示“进入角色”。

通过这种方式,提示工程师可以更精准地设计提示,使得LLMs在不同场景中有更好的适应能力。这种方法使得LLMs像真正的演员一样,根据不同的剧本深入理解并演绎不同的角色。

03

实验案例:Connections游戏

游戏介绍

Connections是《纽约时报》推出的一个文字谜题游戏,规则如下:

图片

  • 16个单词排列在4×4网格中

  • 需要找出4组单词,每组4个

  • 每组单词之间有独特的联系

  • 最多允许3次错误尝试

    https://connections.swellgarfo.com 这是文字谜题游戏网址,有兴趣可以玩玩。


    图片

实验设计

研究者设计了多组对照实验,以评估不同提示工程方法的效果:

  1. 基准方法

    • Vanilla(基础提示)

    • Chain-of-Thought(思维链)

    • Chain-of-Thought (Scripted)(脚本化思维链)

  2. Method Actor方法

    • Actor(基础演员框架)

    • Actor-2(改进版演员框架)

  3. 模型对比

    • GPT-4

    • o1-preview

实验结果分析

性能对比
  1. GPT-4测试结果

方法解决率完美解决率
Vanilla27%12%
CoT41%20%
CoT-Scripted56%24%
Actor78%41%
Actor-286%50%
  1. o1-preview测试结果

方法解决率完美解决率
Oneshot-o179%72%
Vanilla-o1100%76%
Actor-o199%87%
一些发现
  1. 方法效果

    • Method Actor方法显著优于传统方法,尤其在完美解决率上表现突出,提升幅度显著。

    • 与人工标注训练的结果相当,这意味着LLMs可以通过适当的提示达到接近人工的效果。

  2. 模型表现

    • o1-preview整体表现优于GPT-4,说明模型的架构改进对于提升性能有直接影响。

    • Method Actor框架在提升模型应对复杂场景的表现上尤为有效,尤其在完美解决率方面,表现出明显的优势。

  3. 难度适应

    • 对于简单任务和复杂任务,Method Actor框架都表现出良好的泛化能力。即使任务难度增加,模型性能的下降程度也相对较小,展现了优秀的稳定性。

04

Prompt工程实践建议

提示词设计原则

  1. 场景设置

scene_template = """
背景:[具体情境]
角色:[专业身份]
动机:[紧迫性/重要性]
任务:[具体目标]
"""

  1. 角色定义

character_template = """
专业背景:[相关领域专长]
经验水平:[专业成就]
特殊能力:[独特优势]
"""

  1. 动作指示

direction_template = """
步骤1:[具体动作]
步骤2:[具体动作]
...
注意事项:[关键提醒]
"""

架构设计建议

  1. 任务分解

    • 识别关键子任务,并将任务划分为可以独立解决的小步骤,确保模型能够逐步完成任务。

    • 确定任务的依赖关系,保证每一步之间的逻辑性和连贯性。

    • 为每个子任务设计验证机制,确保每一步的结果是符合预期的。

  2. 状态管理

    • 维护任务执行过程中的上下文信息,确保模型能够保持对于当前情境的理解。

    • 追踪任务的进度和结果,确保每一步的执行都符合目标要求。

    • 当发生异常情况时,能够及时响应和处理,确保任务的连续性。

  3. 结果验证

    • 设置清晰的验证标准,对于模型生成的每一步输出进行质量检查。

    • 实施多重检查,尤其是在关键节点上进行多次确认,确保模型输出的可靠性。

    • 建立纠错机制,当模型出现错误时,能够及时识别并纠正,避免错误的传播。

优化策略

  1. 性能优化

    • 批量处理请求:尽可能将相似的请求批量处理,减少重复调用的时间和成本。

    • 缓存中间结果:对一些通用的中间结果进行缓存,以便后续快速使用,减少计算开销。

    • 并行化处理:对于可以并行执行的任务,采用并行处理来加快整体执行速度。

  2. 质量控制

    • 设置质量指标:为模型的输出设定明确的质量指标,例如准确率、连贯性等。

    • 监控异常模式:实时监控模型输出中的异常模式,及时发现潜在问题。

    • 持续优化策略:根据模型的表现不断调整和优化提示词,确保模型能够始终处于最佳状态。

  3. 成本控制

    • 优化API调用:减少不必要的API调用,优化调用频率,以控制总体成本。

    • 合理设置阈值:为模型的输出设置合理的阈值,以便在保证质量的前提下减少不必要的计算。

    • 平衡质量和成本:在确保输出质量的前提下,尽量降低计算资源的使用,以达到性价比最优的效果。

05

应用场景

  1. 现有任务优化

    • 提升准确率:在现有的任务中,通过使用Method Actor框架,可以显著提升模型的准确率。

    • 降低成本:通过减少不必要的试错和API调用,降低使用LLMs的成本。

    • 提高效率:优化模型在处理复杂任务时的效率,减少开发周期。

  2. 新场景探索

    • 创意生成:在需要创意和创新的任务中,Method Actor框架能够帮助模型生成更多有趣且富有创意的内容。

    • 决策支持:在需要多维度信息整合和分析的场景中,帮助提供更为全面的决策支持。

    • 教育培训:在教育和培训领域,Method Actor框架能够通过精心设计的角色和场景,提供个性化的教学和学习体验。

  3. 产品集成

    • 中间件:作为AI应用程序的中间层,帮助不同的系统之间进行自然语言交互。

    • 开发框架:为开发者提供一个强大的框架,使他们能够快速构建和部署基于LLMs的解决方案。

方法演员”模型为提示工程和大型语言模型的使用带来了新的视角和方法。通过将LLMs视为演员,通过精心设计的提示——剧本——来指导其行为,提示工程师能够更加有效地控制模型的输出质量和上下文契合度。这种方法显著提高了模型的推理能力,特别是在零样本推理场景中的表现。

关于本文,欢迎来交流!如果您希望进一步了解或者需要更多提示,您也可以参照这篇文章《AI修猫Prompt公众号文章赞赏赠与资料分类汇总对我进行赞赏支持,可以得到更多SYSTEM PROMPT。如果需要更多DSPy已经运行过的代码,或者更多案例可以看下以下文章。希望这篇文章对您有所帮助!