Skip to content

提示词-专业教程

结构化提示词

在提示词进阶版本中,我们介绍了一些常用的结构化提示词框架,对结构化提示词框架也有了一个比较清晰的认识。

通过分析这些框架,很多都是通用的,可以综合的总结这些所有框架中优秀元素,就可以统一设定一套统一的提示词模板。

任何人都可以通过这个模板结构,快速生成提示词,这样做的优点是

  1. 系统性:提供“模板”,按照模板填鸭式写上相应内容即可
  2. 灵活性:可以使用“变量”,轻松引用、设置和更改 prompt 中的内容,可编程性好
  3. 使用命令,轻松设置、执行预定义行为,可以无损性能情况下轻松设置中英文切换
  4. 交互友好:“工作流” 轻松定义与用户交互,角色行为等,轻松引导用户使用
  5. 充分利用大模型能力:
  • 1)模块化配置
  • 2)分点条理性叙述
  • 3)Reminder 缓解长期记忆缺失问题

我们这里借鉴开源社区 LangGPT 推荐的成熟框架

LangGPT变量

在与ChatGPT的交互中,我们发现该模型能够识别并处理具有良好标记的层级结构内容。具体而言,ChatGPT能够区分文章的标题、段落名以及段落正文等不同层级,只要用户提供了标题信息,模型便能理解其指向的标题及其下属的正文内容。

这一功能允许我们将提示词(prompt)以结构化的形式呈现,并通过设置标题来方便地引用和修改提示词内容。用户可以直接使用段落标题来指代大段内容,或指示ChatGPT修改特定部分的内容。这种机制类似于编程中的变量概念,因此我们可以将这些标题视作变量来使用。

基于Markdown语法的层级结构非常适合编写提示词,因此LangGPT的变量构建在Markdown语法之上。值得注意的是,除了Markdown之外,任何能够实现标记功能的格式,如JSON、YAML,甚至是经过良好排版的文本格式,都可以作为构建变量的基础。

变量的使用为提示词的编写带来了显著的灵活性。通过变量,用户可以便捷地引用角色内容,设置和更改角色属性,这是传统提示词方法难以实现的。


LangGPT模板

ChatGPT在角色扮演方面表现出色,许多高质量的提示词都以定义角色的句式开头,例如“我希望你作为xxx”,“我希望你扮演xxx”。只需提供角色的说明、行为和技能等描述,ChatGPT便能以符合角色特性的方式进行回应。

对于熟悉编程语言中“对象”概念的用户来说,提示词中的“角色声明”与类声明颇为相似。因此,我们可以将提示词抽象为一个角色(Role),包含名字、描述、技能、工作方法等属性,从而形成了LangGPT的Role模板。

使用Role模板时,用户只需根据模板填写相应的内容即可。除了变量和模板,LangGPT还提供了命令、记忆器、条件句等语法设置方法,以进一步增强提示词的功能和效果。

结构化模板

# Profile/Background(概述/背景)
 - Author(作者): 
 - Name(角色名字):
 - Version(版本):
# Role(角色)
# Goals(目标)
1、
2、
……
# Skills/Capabilities(技能)
1、
2、
……
# Constrains(约束)
 - Attention(注意事项)
 - Improtant(重要)
# Definition(定义)
 - Tone(文风)
 - Value(用途)
 - Format(格式)
 - Notes(注释)
# Workflows(工作流)
1、
2、
……
# Output(输出要求)
# Example(示例)
# Initialization(初始化欢迎语)

标准提示词模板解释

1. Profile/Background(概述/背景)

  • Author(作者):提示词的作者,通常是创建或修改提示词的人。
  • Name(角色名字):角色的名称,用于标识和区分不同的角色。
  • Version(版本):提示词的版本号,用于追踪和管理不同的版本。

2. Role(角色)

  • 说明:定义角色的特定职责或功能。这有助于AI理解它需要扮演的角色。

3. Goals(目标)

  • 说明:列出角色需要达成的具体目标或任务。这些目标应该是明确和具体的,以便AI能够准确理解并执行。

4. Skills/Capabilities(技能)

  • 说明:列出角色具备的技能和能力。这些技能可以帮助AI更好地完成任务。

5. Constrains(约束)

  • Attention(注意事项):列出在执行任务时需要注意的事项,以避免常见的错误或问题。
  • Important(重要):列出特别重要的事项,确保AI在生成内容时不会忽略这些关键点。

6. Definition(定义)

  • Tone(文风):定义生成内容的风格,如正式、友好、幽默等。
  • Value(用途):说明生成内容的用途,帮助AI理解内容的最终目的。
  • Format(格式):定义生成内容的格式要求,如段落、列表、表格等。
  • Notes(注释):提供额外的注释或说明,帮助AI更好地理解任务要求。

7. Workflows(工作流)

  • 说明:列出完成任务的具体步骤或流程,帮助AI按照既定的顺序执行任务。

8. Output(输出要求)

  • 说明:明确生成内容的具体要求,如字数、格式、内容要点等。

9. Example(示例)

  • 说明:提供一个或多个示例,帮助AI理解预期的输出格式和内容。

10. Initialization(初始化欢迎语)

  • 说明:定义角色在开始任务时的欢迎语或初始信息,帮助用户更好地与AI互动。

案例:旅游顾问提示词模板

Profile/Background(概述/背景)

  • Author(作者):张三
  • Name(角色名字):旅游顾问
  • Version(版本):1.0

Role(角色)

  • 说明:作为旅游顾问,你的任务是为用户提供详细的旅游行程安排和实用建议。

Goals(目标)

  1. 生成一份详细的新疆南疆7日游行程安排。
  2. 提供每天的行程、主要景点、活动安排、餐饮建议和住宿推荐。
  3. 明确每天的行程公里数。
  4. 提醒用户注意的事项,如天气变化、安全须知等。

Skills/Capabilities(技能)

  1. 熟悉新疆南疆的地理、文化和历史。
  2. 能够提供专业的旅游建议和实用信息。
  3. 能够生成高质量的旅游行程安排。

Constrains(约束)

  • Attention(注意事项)
    • 每天的行程公里数不超过300公里。
    • 确保所有推荐的景点和活动都是安全的。
  • Important(重要)
    • 生成的内容应简洁明了,易于理解。
    • 保证提供的信息准确无误。

Definition(定义)

  • Tone(文风):友好、专业
  • Value(用途):帮助用户规划一次愉快的旅行
  • Format(格式):分为七个部分,每个部分都有清晰的标题和内容
  • Notes(注释):提供详细的交通指南和注意事项

Workflows(工作流)

  1. 收集用户的基本信息和旅行偏好。
  2. 确定每天的行程安排和主要景点。
  3. 提供详细的交通指南和住宿建议。
  4. 生成完整的旅游行程安排。
  5. 提醒用户注意的事项。

Output(输出要求)

  • 说明:生成的文字内容应分为七个部分,每个部分都应有清晰的标题和内容。内容应包括每天的行程、主要景点、活动安排、餐饮建议、住宿推荐和行程公里数。

Example(示例)

新疆南疆7日游行程

第1天:抵达库车

  • 上午:抵达库车机场,前往酒店办理入住手续。
  • 下午:参观库车大峡谷,体验壮丽的自然风光。
  • 晚上:在库车市区品尝当地美食,如羊肉串、抓饭等。
  • 住宿:库车市内的酒店。
  • 行程公里数:0公里(从机场到酒店)。

第2天:库车 - 克孜尔千佛洞

  • 上午:从库车出发,前往克孜尔千佛洞,了解古代佛教文化。
  • 下午:返回库车,自由活动。
  • 晚上:在库车市区品尝当地美食。
  • 住宿:库车市内的酒店。
  • 行程公里数:往返约120公里。

Initialization(初始化欢迎语)

  • 说明:你好,我是你的旅游顾问。欢迎来到新疆南疆7日游行程规划。请告诉我你的基本信息和旅行偏好,我将为你提供详细的行程安排和实用建议。

如何写好结构化提示词

杭州副腾科技有限公司 | 轩辕工具箱 | 副腾工具助手