RATEN - 一个简单的 Prompt 法则

Sep 23, 2024

这段时间,OpenAI推出的o1模型引发了对思维链(Chain of Thought, CoT)的广泛关注,社交媒体上关于提示词工程的重要性再次成为热议话题,也出现了不少“神级提示词”。实话说,这个场景似乎似曾相识。提示词的微调效用以及上下文思维链在微软之前的研究中(Can Generalist Foundation Models Outcompete Special-Purpose Tuning? Case Study in Medicine)有过很好的实践案例。

关于提示词工程,Anthropic在早前发布过一个提示词生成器,并构建了一个提示词库,公开了自己模型的提示词(参见书签的prompt收藏),也让我们看到了简化提示词设计的可能性。对于Claude模型上,个人倾向于不需要过于复杂的提示词,但其他模型却可能需要一些指引来提升效果。

每个Token都是可贵的

应该说,每个Token的价值不容小觑。随着上下文长度的不断增长,很多人倒是因此忽视了其重要性。

还记得那些”神级提示词”吗?它们能引导 AI 写出天马行空的创意故事,也能生成专业级别的代码。但很快,你可能也发现,仅仅复制粘贴那些“魔法咒语”甚至类似于“经书”、“文章”的长文,并不能解决所有问题,还会制造出许多令人懊恼的问题。同样地,我也在很多长文提示词中,看到了AI过度修饰的痕迹。

在我眼里,每个 AI 模型都有自己的“脾气”,每个会话、每个任务也都有其特殊的”环境“。

与AI对话的过程中,往往需要的是简单而有效的沟通方式。沟通本身是一个过程,而提出恰当问题的能力则是一项重要的技能。

如何设计适合自己的提示词

我总结出了一个简单易用的框架——RATEN,此处没有凑单词的嫌疑😶‍🌫️:

  • Role (角色)
  • Ability (能力)
  • Task (任务)
  • Example (示例)
  • Note (注意事项)

1、🎭ROLE 角色

角色设定是明确AI模型在对话中的定位。想象一下,你正在指导一位演员。在正式开拍之前,你首先要告诉他将要扮演什么样的角色。AI 也是如此,清晰的角色设定是有效沟通的第一步。

如何设定角色呢?

  • 明确身份: 从 AI 的身份开始,例如“你是一位资深文案策划”、“你是一位 Python 编程专家”。
  • 逐步添加属性: 逐步添加更具体的描述,例如“你是一位擅长撰写 SEO 友好型文案的资深文案策划”、“你是一位精通数据分析和机器学习的 Python 编程专家”。
  • 设定性格和态度: 如果需要 AI 在互动中展现特定的风格,可以加入性格描述,例如“你是一位风趣幽默的段子手”、“你是一位耐心细致的辅导老师”。
  • 构建背景故事: 为了让 AI 更好地理解你的需求,可以为其设定一个更完整的背景故事,就像编写一份简历一样。例如,“你是一位在科技行业拥有 5 年经验的产品经理,负责过多个项目的策划和执行,对市场趋势和用户需求有深入了解”。

适当的角色背景设定将进一步提高模型的响应质量。

示例:

你是一位经验丰富的旅行博主,热爱探索世界各地的人文风情和自然景观,擅长用生动细腻的笔触记录旅行见闻,并为读者提供实用贴士。

2、💪ABILITY 能力

接下来,思考你的角色应具备哪些能力才能胜任后续的任务。

如何定义能力?

  • 知识储备: AI 需要了解哪些领域的知识?例如,“熟悉中国历史文化”、“精通量子力学原理”。
  • 专业技能: AI 需要掌握哪些技能?例如,“能够进行数据可视化分析”、“擅长创作引人入胜的故事”。
  • 关注领域: AI 需要特别关注哪些方面?例如,“关注最新的科技发展趋势”、“关注环保和可持续发展议题”。

示例:

你是一位精通人工智能领域的科技记者,你需要具备以下能力:
* 深入理解人工智能的各项技术,包括机器学习、深度学习、自然语言处理等;
* 熟悉全球人工智能的发展现状和未来趋势;
* 能够客观、准确地报道人工智能领域的最新进展和重要事件。

3、🎯TASK 任务

明确AI需要完成的任务是至关重要的。这些任务可以是具体的工作,也可以是一个流程。

如何描述任务?

  • 清晰直接: 使用简洁明了的语言描述任务目标,例如“请帮我写一篇关于人工智能的科普文章”、“请帮我分析这份数据的趋势”。
  • 分解步骤: 对于复杂的任务,可以将其分解成多个步骤,例如“第一步,请先翻译这段英文文本;第二步,请根据翻译后的内容进行总结;第三步,请用思维导图的形式展示总结要点”。

示例:

你的任务是撰写一篇关于“人工智能如何改变未来教育”的深度报道,文章需要包含以下内容:
* 人工智能技术在教育领域的应用现状;
* 人工智能对传统教育模式的冲击和挑战;
* 人工智能如何赋能未来教育,以及未来教育的发展趋势;
* 采访几位教育领域专家和一线教师,获取他们对人工智能与教育融合的看法。

4、✏️EXAMPLE 举个栗子

提供良好的示例可以帮助模型更好地理解你的需求,尤其是在写作或问答任务中,示例的重要性更为凸显。一个清晰的例子能让模型更精准地满足你的期望。

如何提供示例?

  • 格式示范: 展示你希望 AI 输出的文本格式、代码风格、数据结构等。
  • 内容参考: 提供与目标任务类似的案例,让 AI 学习你的偏好和风格。

示例:

以下是关于“人工智能如何改变未来教育”深度报道的开头部分示例:

##  当人工智能走进课堂:未来教育的无限可能

近年来,人工智能技术飞速发展,其应用早已渗透到我们生活的方方面面,教育领域也不例外。从智能辅导系统到个性化学习平台,人工智能正在悄然改变着传统的教育模式,为未来教育带来无限可能。

然而,人工智能与教育的融合并非一帆风顺,它也带来了新的挑战和思考。本文将深入探讨人工智能如何改变未来教育,并展望未来教育的发展趋势。

5、📌NOTE 注意

最后,你可以尝试添加一些注意事项,对 AI 的输出结果进行更精细的控制。

如何设置注意事项?

  • 内容限制: 例如,“请勿包含任何推广信息”、“请勿引用未经证实的言论”。
  • 格式要求: 例如,“请使用 Markdown 格式输出”、“请将代码和注释区分颜色”。
  • 长度限制: 例如,“请将文章字数控制在 1000 字以内”、“请将代码行数控制在 50 行以内”。

示例:

* 请确保文章内容客观中立,避免使用带有强烈主观色彩的词汇。
* 请在文章中引用相关数据和案例,以增强说服力。
* 请在文章结尾处附上参考文献列表。

RATEN是众多提示词的基座(这个词的抽象发明与滥用程度快赶上“对齐”了😂),事实上你可以在诸多提示词示例中看到它的影子,它太基础,因此不够华丽;但它足够强大,因为你给予了自己与模型更多的可能性,因为难点在于细化单点和提高其准确性,而这也是博弈的过程。别忘了每个Token都很珍贵,你的注意力也是。

使用英文是一个好的方式,把它当作一个老外,再把另一个它当作同声传译,是个不错的方式。

尽可能精简地、避免重复地去设计一个提示词,让模型再优化它也是一个方法。与大语言模型对话,如同中医交流,对双方而言均是如此,因人而异,也正因如此,比起回答是否符合预期的直接要求,在探求“提问的艺术”中,反复斟酌问题所在,才是与之共同进步的方式。

🦖 What you should know…

这篇文章是AI辅助生成(给AI框架,由其完成了RATEN的解释和示例)。