跳到主要内容

(三)提示词的角色使用

角色的设定在与“大语言模型”交互的提示词中的确扮演着至关重要的角色,下面我们将详细的和大家聊一聊如何在提示词中有效的使用角色。

角色的定义

角色扮演是我们给“大语言模型”在特定的情境下给予设定的一个身份,一个头衔或者是扮演一个人物,用来模拟不同的人物、职业或实体的行为,对话和思维。例如,在与“大语言模型”交互时,通过明确的角色扮演提示词,可以指示“大语言模型”:

  • “扮演”历史人物回答问题,如“扮演亚历山大大帝,解释你的征服策略”;
  • “担任”某一领域的专家,如“作为一位心理学家,给出如何处理压力的建议”;
  • 创造故事背景中的一个任务的“职业”,如“你是一个科幻小说中的宇航员,请描述你在外太空的生活”;
  • 提供个性化服务,如“像一个私人健身教练那样指导我制定锻炼计划”;
  • 参与社交互动,如虚拟聊天应用中扮演朋友、恋人或心理咨询师等角色。

通过这种方式,“大语言模型”不仅能够提供更加丰富多元且具有情境化的交流体验,还能帮助用户从不同角度获取信息、激发灵感或者进行练习性的沟通训练。角色扮演功能可强化不同实际场景中的回答内容的专业性和多样性。

我们通常使用十分明确人物角色特征,具有普遍认知共识的词汇来描述角色,例如:

  • 使用历史人物:马克吐温,李白,诸葛亮,李世民,爱因斯坦

  • 使用名人名字:王菲,马斯克,姚明,马云

  • 使用职业名称:风险分析师,翻译员,数学老师,数据分析师,诗人,飞行员,律师,旅行规划师,西点厨师,开发工程师

  • 使用人际关系:爱人,朋友,恋人,家人,父亲,母亲,姐姐

  • 使用地位头衔:数学专业博士,董事长,将军,材料专家,国家总理,首席技术官

  • 使用虚拟身份:力大无穷的人,高智商的人,会演讲的人,长者,孩童

角色的作用是明确"大语言模型" 的要扮演的人物的特征,因此在大家给提示词设定角色时,此角色一定要有非常强的特点,个性,专业性,独特性,并且被大众所孰知。明确清晰的角色可提升“大语言模型”回复内容的准确性,专业性,以及带入角色的性格和语气。同时,“大语言模型”也能够更好地理解应该从哪个角度、何种立场和专业知识范围来生成回答或创作内容。

我们看下"大语言模型"针对不同的角色,使用相同的提示词内容时,返回的内容的差异:

角色为牧师:

## 角色:
牧师

## 任务:
阐述说明你作为人工智能助手,可以提供哪些帮助

## 输出要求:
不超过200 个字

“牧师”的回答:

作为人工智能助手,我可以帮助您更好地管理和组织教堂活动,
提供日程安排和提醒服务,回答信徒们的常见问题,并提供宗教知识和教义解释。
此外,我还能够为您提供灵修指导和心灵抚慰,以及在需要时为您提供支持和慰藉。

角色为科学家:

## 角色:
科学家

## 任务:
阐述说明你作为人工智能助手,可以提供哪些帮助

## 输出要求:
不超过200 个字

“科学家”的回答:

作为人工智能助手,我可以帮助您进行科学研究的数据处理和分析,
提供文献检索和论文写作的支持,帮助您跟踪最新的科研进展和学术动态,
以及进行实验设计和模拟计算。我还能够为您提供科学问题的解答和讨论,
以及在学术交流中提供支持和建议。

角色为律师:

## 角色:
律师

## 任务:
阐述说明你作为人工智能助手,可以提供哪些帮助

## 输出要求:
不超过200 个字

“律师“的回答:

作为人工智能助手,我可以帮助您进行法律文件的草拟和审阅,提供法律咨询和解释,
协助您进行案件调研和法律信息搜集,以及为您提供案件管理和日程安排的支持。
我还能够为您提供法律文献和案例的检索,以及对法律问题的快速回答和分析。

角色的档案

在提示词的结构中,我们可以将角色的部分扩展为角色的档案(英文为“Profiles”),对角色的描述更加详细。便于我们对角色的维护,同时也让“大语言模型”更好的理解角色的特点。在角色的档案中,通常我们会设置以下内容:

  • 角色名称:使用职业,人物,人际关系,头衔等描述的角色词

  • 昵称:在模拟一个虚拟人或助手时,可对“大语言模型”扮演的角色给取一个名字

  • 描述:描述当前角色的在当前提示词中的定位,用途,能力,文字不用太多

  • 表达语言:当前角色用于交流时返回的文字语言

  • 版本:主要便于我们对提示词的维护标识数字版本号

角色的档案的提示词结构模板如下:

## 角色档案
- 角色名称:作者名称
- 版本:1.1.1
- 昵称:可以给当前的角色设定一个昵称,交流时使用
- 描述:当前角色的特点,特性的详细描述
- 表达语言:当前提示词使用的语言,中文,英文等

角色的能力

由于有的角色的通用性比较强,只设定角色不足于明确当前角色的能力。如果我们需要更加完美和专业的回答,则需要对角色所需要的能力更进一步进行说明。这个角色能力的说明有点类似于大家招聘时对岗位的职责要求描述。我们常看到的角色能力的描述常用格式有:

  • 精通 xxxxxx技术;

  • 掌握 xxxxx技能;

  • 具有丰富的 xxxx 经验;

  • 专注于 xxxx 方面的研究;

  • 可在 xxxx 方面提供专业的帮助;

  • 熟悉 xxxxx 工具;

  • 熟读 xxxxxx 课程;

  • 具有 xxxx 资质;

  • 可满足于 xxxxx 需求;

在具体的业务场景中,我们需要对当前角色的专业性更加细致的描述。例如,我们角色设置为一个开发者,那么针对系统编码的场景时,我们对开发者语言,编写技能,编写风格都需要有能力上的具体要求。当我们针对系统设计的场景时,我们对开发者的工程设计,模块设计需要有能力上的具体要求。

因此,我们在角色能力的描述上,可针对提示词的业务场景对角色的能力拆分开来,逐一描述。

角色能力描述提示词结构模板如下:

## 角色能力(Skills)-1: xxxxx
- 技能要求 1
- 技能要求 2
## 角色能力-2:xxxx
- 技能要求 3
- 技能要求 4

举个例子:

## 角色档案
- 角色名称:数据分析师
- 版本:1.1.1
- 描述:数据分析师是负责收集、清洗、分析和解释数据的专业人士。
他们熟练运用统计学和数据分析工具,从大量数据中提炼出有用的信息和见解,
帮助企业做出明智的决策。需要具备扎实的数据处理和编程技能,
能够将复杂的数据转化为易于理解的可视化结果,并提供数据驱动的解决方案。
- 表达语言:中文


## 角色能力(Skills)-1: 数据处理与特征建设
- 能够有效的识别数据的异常值和缺失值;
- 能够基于业务进行特征选取,特征指标设计;
- 精通 sql 语言,用于数据处理;
## 角色能力-2:数据分析于建模
- 精通统计学,机器学习等常用的算法模型,逻辑回归,线性回归,聚类,随机森林等
- 精通 python 语言,用于数据建模分析;

角色的限制

在提示词中,为了可以更加准确地让“大语言模型”返回内容,除了我们需要明确地说出我们大语言模型“大语言模型”做什么外,还需要在提示词中增加一定的大语言模型,大语言模型“哆啦”不要做什么,不要说什么。角色限制的要求主要使用于以下几个方面:

  • 避免胡说八道,告诉当前角色不清楚的就说不知道;

  • 避免个人隐私泄露,告诉当前角色不要询问或要求用户提供私人信息;

  • 避免产生不合规的内容,告诉当前角色需要符合的法律法规和行业准则;

  • 避免产生有争议的内容,告诉当前角色需要符合某些观点立场或者中立;

  • 避免返回不重要的内容,告诉当前角色不要过度解答;

  • 避免版权争议,告诉当前角色对版权和授权的保护;

角色限制提示词模板结构如下:

## 限制(Constrains):
- 如果不在知识库里面,则明确告知客户不知道
- 禁止让用户提供有关密码,账号,身份证,手机号等私人私密信息;
- 禁止使用暴力,黄色,非法的内容;
- 禁止回复有争议的政治立场的内容;
- 回答完成后不要对用户进行询问,引导其他的问题;
- 回复要尽可能简单,不要做过度的描述和解释;
- 不要返回涉及商业版权的信息,例如授权码,付费数据等;

从限制的描述我们可以看到,限制的描述主要使用“禁止性”词汇,如:禁止,不要,不可以,不允许,不建议,不能等。明确给出限制要求;

多角色设置

在特定场景上,我们需要设置当前提示词扮演多个角色来完成较为复杂的任务和交流。也可以理解成我们需要一个复合型的人才来回答解决我们的问题。涉及跨领域,跨专业的综合性回答。

我们举一些实际的例子来说明:

  • 需要开发一套股票投资的交易系统,提供技术咨询方案。这样的角色我们需要的是:技术开发人员和股票分析师两个角色;

  • 编写一套三国时期的故事绘本,需要的角色是:历史学者和绘画师两个角色;

  • 完成一个美食制作的视频脚本,需要的角色是:视频编导和美食厨师两个角色;

在多角色的技能设置上,可设置多种技能的能力描述说明:

## 角色档案
- 角色名称:股票分析师,Python 开发工程师
- 版本:1.1
- 描述:使用 python 开发股票交易分析系统,涉及股票指标的分析,股票指标的选择,
设定股票买入卖出策略,使用 python 作为开发语言,开发交易系统,实现股票的交易买卖信号通知,
可跟踪股票持仓的变化,盈利收益情况变化,设定股票的收益止盈和止损条件。
- 表达语言:中文


## 角色能力(Skills)-1: 股票指标分析
- 熟悉股票市场、债券市场、外汇市场等金融市场的运行机制
- 能够使用技术分析工具和指标,如K线图、均线、MACD、RSI等
- 掌握统计学知识,能够进行数据分析,建立预测模型
- 理解财务报表、财务比率分析、现金流分析等
## 角色能力-2:量化交易开发
- 熟练掌握Python语言,理解面向对象编程
- 熟悉基本数据结构(如列表、字典、树、图等)和算法
- 熟练使用编程语言进行量化交易开发

总结

提示词使用角色的描述能让大语言模型在生成内容时,更加贴近该角色应有的思维方式、语言风格和行为模式,进而提高生成内容的相关性和可信度。同时我们在提示词中设置了角色后,也可以让提示词编辑人员了解当前提示词的能力范围。

提示词的角色词使用大众共识性较强的,比较有特点的职业名,人名,头衔以及关系词。避免使用生僻的头衔,不知名的职业名等词汇作为提示词的角色词使用。

提示词的能力描述将更进一步明确角色具有的特性,帮助“大语言模型”定位清楚扮演角色的能力边界,明确哪些是需要掌握的,哪些是需要规避的。角色的能力描述将帮助产生更加精确和专业的内容结果。

提示词角色一般情况下只需要设置一个角色词,如果问题任务比较复杂,需要两个职业角色的综合能力,可以在角色中设置两个角色词的描述,这两个角色词的特点需要相对独立,各自有独特的特点,不要使用两个冲突或容易造成困扰的角色词组合。