跳到主要内容

(二)提示词结构

我们通常使用的提示词有两种形式:一种是自然表达的语言的描述形式,和我们日常说话,写文字一样来编写提示词。一种是采用结构化的方式来描述提示词,提示词将采用固定分隔符,列表等方式来描述提示词。

自然表达提示词多用于:任务简单,内容少,生成要求简单,一句话可以说明白诉求。这样的提示词通常使用自然表达的提示词。

结构化的提示词主要用于:复杂的任务需求,对处理的文字较多,业务逻辑复杂,输出结构要求高的提示词。需要使用结构化的提示词。

本篇我们将深入阐述如何构建和组织高效的提示词结构,以便在向大语言模型提问时,能够更准确地传达用户的意图,并确保其回复内容更加精准且具有针对性。一个优秀的提示词结构不仅能让“大语言模型”清晰无误地理解用户的需求,还能方便不同编辑人员快速理解和复用。

提示词表达结构详解

有效的提示词输入应明确涵盖以下几个关键部分:

  • 【角色】:为大语言模型设定一个特定的职业或身份角色来解答问题,例如,当询问健身相关问题时,期望得到的回答应当来自一个具备专业知识的健身教练视角。

  • 【任务】:清晰定义需要大语言模型执行的具体动作,通常使用动词进行描述,例如:润色文本、提炼摘要、回答问题、计算数值、编写代码、分析数据等。以下是一些任务实例:

    • 对提供的文本进行语言优化;

    • 抽取出文章的核心要点;

    • 回答指定的具体疑问;

    • 解决数学题目中的算术运算;

    • 根据需求生成一段编程代码;

  • 【内容描述/输入内容】:详细说明所需完成的任务内容和背景信息,具体指明希望大语言模型处理的问题或要求,提供必要的详细描述与输入材料。

  • 【输出格式/输出要求】:明确指出期待大语言模型返回结果的形式及具体内容规范,如数字评分、函数实现、图表展示、语音播报、特定文体或结构化的文字答案等。

  • 【正反例】:可以给一些示例,让大语言模型更好的理解如何回答,按照什么样的格式来回答。举例是可以很好的帮“大语言模型”更加清晰的掌握如何准确的输出结果。

  • 【执行流程】:提供有助于“大语言模型”正确解读和执行任务的处理执行流程或思考过程。可以激发“大语言模型”按照提示词中设计的流程来生成内容。

简洁概述提示词结构

简而言之,理想的提示词结构应该包括五个核心要素:向谁(角色)提问,让大语言模型做什么(任务),做的是什么具体内容(内容描述),预期的回复形式(输出格式),以及给定用于生成内容的执行步骤流程。

对于简单的任务和提示词一般不需要提供“额外信息”的描述,但是在较为复杂场景下,在提示词中提供更多的“额外信息”将对明确提示词意图有着十分重要的作用,后续我们讲在提示词的实践结合不同场景和不同的提示词任务来更一步来解释说明。

提示词结构模板建议

实际操作中,我们推荐按照如下模板来构建提示词,以便于大语言模型和其他提示词编辑者能更好地识别并遵循:

## 角色:
职业或身份名词

## 任务:
动作动词,可能带有宾语成分

## 内容描述:
具体的任务描述或问题情境

## 输出要求:
所需的输出类型、风格或结构元素


## 约束限制
对生成的内容明确不要做,不需要执行的事情,不需要输出的信息说明

## 语气特征:
输出的文字表达的语气的综合特征

## 示例:
供参考的具体案例

## 反例:
避免混淆的负面示例

## 附加要求:
特别需求或限制条件

## 执行流程:
如果适用,可以提供分步指导

## 初始表达
开始对话的给用户的第一句话例来说,对于一个结构化的提示词:

一个简单的结构化提示词示例:

## 角色:
- 数学老师

## 任务:
- 解题

## 输入内容:
- 已知长方形的长是宽的两倍,若周长为60厘米,求长方形的长和宽。

## 输出要求:
- 解题步骤:{},答案: {}

此时,大语言模型的响应会按照所给结构详细列出解题过程和最终答案:

解题步骤:
1. 设长方形的宽为x厘米,则长为2x厘米。
2. 根据周长公式:周长 = 2 × (长 + 宽),将已知条件代入得方程:60 = 2 × (2x + x)。
3. 化简方程为 60 = 6x,进而求得 x = 10 厘米。
4. 长方形的长为2x,即长 = 2 × 10 = 20厘米。
答案:长方形的长是20厘米,宽是10厘米。

提示词的自然表达

对于简单的要求可以直接采用自然语言进行表述,不需要设计太多个格式化结构。这样的表达更接近我们日常生活的口语化表达。例如,非结构化的直接提问:

你作为一位数学老师,请解答这个问题:“一个长方形的长是宽的两倍,若周长为60厘米,
求长方形的长和宽。”请给出详细的解题步骤和答案。

大语言模型能基于这种非结构化的描述提供和结构化提示词基本相同的解答,但相比之下,结构化的提示词更具维护性和调整便利性,而自然语言描述则更适合快速验证和测试。

而提示词的自然表达缺乏固定的描述标准,这就十分考究提示词的编写人员能否把需求“说明白”,不明确的自然表达可能导致大语言模型对用户意图的理解产生歧义,输出的结果不符合我们的预期。

总结

通过上述介绍,我们提供了一个实用的提示词结构模板,该模板基于实践总结而成,并非一成不变,可根据实际情况和个人需求进行调整。在设计提示词时,我们可以利用各种符号如[]、【】、《》、###、等作为明显标志,以区分不同的内容项。在模板的格式定义上,我们采用了一种叫做“Markdown”的文档结构来定义提示词,这样的结构不管是对编辑人员还是对大语言模型这样的智能助手都有一种“好理解”的描述方式。

这个提示词结构模板的主要目的是增强大语言模型对用户意图的理解力,同时为提示词的创建和维护人员提供一套标准化的操作指南和扩展规范,便于管理和优化提示词库,从而提高整体交互效率和准确性。

在后续的内容中,我们将对提示词的结构中的角色,任务,输入内容,输出要求,正反例以及执行流程单独逐一讲解。