乐于分享
好东西不私藏

普通人学用AI之提示词结构

普通人学用AI之提示词结构

普通人学用AI系列内容,第4篇提示词结构。

先回答一个问题,为什么你改了那么多次提示词,AI的回答还不是你满意的结果?

其实,提示词是一项“工程”,它需要我们系统性的来构建,而不是凭感觉来拼凑。

所有优秀的提示词都具有共同的结构要素。我们可以把这些组成部分想象成乐高积木,针对不同的任务需求选择适合的积木组合来达成目标。

所以,并不是每个提示词中都会使用所有组件。只有你熟悉了每个组件,才能精确构建最优提示词。那么提示词有哪些组成部分呢?

核心组成

通常,一个有效的提示词包含角色、背景、任务、约束、格式和样本示例中的部分或全部元素。

你是一位资深画家(角色),正在审视一幅刚完成的油画(背景)。找出画中的技法错误(任务),只关注透视关系问题(约束),以编号列表形式返回发现的问题(格式)。

例如:1. 画面左侧的桌子边缘与后方墙壁的交接线不符合一点透视规律(样本示例)。

上面的例子包含了提示词的所有核心要素,下面让我们详细了解每个组成部分。

角色/人设:设定角色可以使大模型聚焦特定专业知识或从给定人设的视角来回答问题。

举个例子,“请解释大语言模型”,这是没有角色提示词。

再来看一个,“你是一位人工智能专家,擅长将抽象的技术术语讲解得通俗易懂,请解释大语言模型”,这是一段有角色提示词。

互动一下,请将上面两段提示词分别发给你的AI助手,看它会给我们什么样的答案。

左边是没有角色提问,右边是有角色提问

带角色提示词范例

1)你是一位[某个领域]专家,正在帮助一位[某个领域受众]

比如:你是一位人工智能领域专家,正在帮助一位提示词工程师

2)你是一位拥有[X年][某个领域]经验的[职业]

比如:你是一位拥有10年执教经历的特级教师

3)扮演一位[具有某特征]的[角色]

比如:扮演一位具有刑侦特长的警察

背景/上下文:主要是提供大模型理解你情况所需的信息。如果这些信息不告诉大模型,它可能出现无法理解你的诉求或理解偏差的情况。

举个例子,“电饭煲做的米饭夹生且底部出现糊锅现象”,这是一段弱背景提示词。

再来看一个,“我正在使用电饭煲蒸煮杂粮饭。该电饭煲水量配比严格按照说明书。当煮饭完成后,米饭夹生且底部出现糊锅现象”,这是一段强背景提示词。

互动一下,请将上面两段提示词分别发给你的AI助手,看它会给我们什么样的答案。

左边是弱背景提问,右边是强背景提问

任务/指令:就是你的提问,你向大模型发出的做什么的指令。任务是提示词的核心,需要具体且明确。

比如,“请总结《普通人学用AI之提示词结构》这篇文章,不超过200字”。

约束/规则:对大模型的输出范围进行限定。比如内容、风格、长度、范围约束等。

内容约束范例

"不要包含任何代码示例"

"只关注技术方面"

"避免使用营销语言"

风格约束范例

"使用正式的学术语气"

"像对10岁孩子说话一样来写"

"直接明了,避免模棱两可的表达"

长度约束范例

"将回复控制在200字以内"

"提供恰好5条建议"

"写3-4段"

范围约束范例

"使用Java1.8及以上版本"

"建议仅限于免费工具"

"专注于不需要额外依赖的解决方案"

举个例子,“写一篇关于猫的短文”,这是一个少约束的提示词。

再来看一个,“写一篇200字的短文,介绍猫驯化的历史,适合中学教科书使用,开头要引人入胜”,这是一段多个约束的提示词。

互动一下,请将上面两段提示词分别发给你的AI助手,看它会给我们什么样的答案。

左边是少约束的提问,右边是多个约束的提问

输出格式:指定输出格式,特定结构的输出结果通常会更方便的处理和再次利用。常见格式有列表、结构化文档、特殊格式等。

列表范例

"以项目符号列表形式返回"

"提供编号步骤列表"

结构化文档范例

"格式化为XML格式"

"格式化为markdown表格"

"以JSON格式返回"

特殊格式范例

"按以下结构组织你的回复:

## 摘要

## 要点

## 建议"

举个例子,“汽车发动机的组成结构有哪些?以列表形式介绍”。

互动一下,请将上面这段提示词发给你的AI助手,看它会给我们什么样的答案。

样本示例:示例是向模型展示你期望内容的最有效方式。如果大模型的回答不太符合预期,可以提供单个或少量样本示例。

单样本示例


请给“苹果”做个分类。

示例:

问:"这个苹果又脆又甜"

答:"水果"

问:"新款苹果手感真丝滑"


互动一下,请将上面这段提示词发给你的AI助手,看它会给我们什么样的答案。

综合运用

我们可以准备一个固定的模版,模版中包含提示词的几个核心组成要素。根据具体的问题,对模版的每个部分内容删减或调整。

这里给出一个综合案例,如下。


# 角色

你是一位拥有10年餐厅服务培训经验的资深培训师。

# 背景

你正在为一家餐厅编写「顾客意向单」服务的使用说明。受众是餐厅的前台服务员。他们具有基本的点餐操作经验,但可能对餐厅新推出的「意向单」流程不太熟悉。

# 任务

为「创建新结账意向单」的操作流程编写说明文档。

# 约束

- 使用清晰、简洁的语言

- 包含常见错误场景

- 不要包含关于收银系统后端的实现细节

- 假设顾客了解基本的点餐和结账知识

# 输出格式

按以下结构组织文档:

1. 操作概述(2-3句话)

2. 提交意向单(操作方式、填写位置、填写的项目及示例)

3. 反馈结果(成功和错误示例)

4. 服务员操作示例(使用自然语言步骤)

# 操作详情

提交意向单的方式:服务员在收银终端上点击「新建结账意向单」

需要填写的信息:{ "金额": 1000, "币种": "人民币", "描述": "桌号8-订单#1234" }


最小有效提示词

针对复杂任务,建议参考综合案例编写提示词。必须强调的是,并非每个提示词都需要所有组成部分。

对于简单任务,一个清晰的指令可能就足够了。

举个例子,“将提示词翻译成英语”。

常见提示词框架

这是一些根据经验总结出来的提示词框架,比如RTF框架 、CRISPE框架等。

RTF框架

R(Role):为AI设定一个角色或身份,例如“你是一名小学语文老师”。

· T(Task):清晰描述需要AI完成的具体任务,例如“解释‘守株待兔’这个成语”。

· F(Format):规定回答的格式或结构,例如“用50字以内、分三个要点说明”。

相比CRISPE,RTF省去了背景、风格和实验等部分,更适合简单、明确、格式导向的指令。

举个例子,如下。


生成一份旅游攻略

R:你是一位资深旅行规划师。

T:推荐北京三日游的行程,覆盖故宫、长城、天坛

F:按“第一天/第二天/第三天”分段,每天用3个短句概括,结尾列出必吃小吃。


CRISPE框架

C(Capacity & Role):设定身份或能力范围,如“你是一名资深营养师”。

R(Insight):提供背景信息或上下文,说明为什么需要这个回答。

I(Statement):明确给出具体指令或任务。

S(Personality):规定回答的风格、语气或受众。

E(Experiment):允许尝试不同方式,或要求给出多个变体、追加反问等。

举个例子,如下。


为减肥用户设计一周早餐

C:你是一位有10年经验的注册营养师

R:用户是35岁女性,办公室工作,希望通过饮食调整辅助减重,不喜欢鸡蛋和牛奶。

I:请设计一份7天、每天不重样的中式早餐食谱,标注热量估算。

S:回答要简洁明了,鼓励性强,每项食谱用“早餐+数字”开头。

E:如果某天换用素食食材,请提供替代方案,最后列出三个最容易出错的营养误区。


总结

提示词的结构并不是固定的,需要根据问题复杂度或会话上下文动态调整提示词内容。

角色和任务是“基石”,缺一不可;背景和约束是“保障”,决定质量上限;格式和样例则“锦上添花”,提升体验。

这里是AI工坊,感谢阅读,喜欢请关注!