Role play with large language models
基于大语言模型的角色扮演

摘要
随着对话代理的行为表现日趋拟人化,我们必须建立有效的描述框架,以高层次术语刻画其行为特征,同时避免陷入拟人化陷阱。本文凸显"角色扮演"的核心概念,通过该理论框架阐释对话代理行为,使我们能够借助熟悉的民间心理学术语进行论述,而无需将语言模型实际不具备的人类特性强加于它们。基于此方法,我们重点探讨对话代理行为中两个重要案例:表面性欺骗与表面性自我意识。
1.引言
大型语言模型(LLM)具有众多应用场景,可通过提示激发其呈现多种行为模式,包括对话交互。这种交互能产生一种仿佛与类人对话者交流的强烈临场感。然而基于LLM的对话代理在多个维度与人类存在本质差异:人类的语言能力是其通过具身化世界交互所发展认知能力的延伸,是在由共同栖居于现实世界的语言使用者构成的社群中逐步习得的;而LLM本质上是非具身的神经网络,其训练目标是通过海量人类生成文本学习在给定上下文词序列(标记)的前提下预测后续词汇(标记)¹。
尽管存在这些根本差异,经过适当提示和采样的LLM仍可嵌入轮替对话系统,并令人信服地模拟人类语言使用。这给我们带来了一个艰难的两难困境:一方面,沿用描述人类行为的朴素心理学语言来对话智能体进行描述显得自然而然------人们可以随意使用"知道""理解""思考"等词汇。若试图通过更科学精确的替代表述来规避这些词语,往往会导致行文佶屈聱牙。另一方面,若过分拘泥于字面意义,这类表述又会助长拟人化倾向,夸大人工智能系统与人类的相似性,同时掩盖其深层差异¹。
如果我们用以理解人类的概念框架不适用于基于大语言模型的对话代理,那么或许需要另辟蹊径------建立一套能够有效应用于这些异质类心智产物的新隐喻体系,以此开启富有成效的思考与讨论。这种新范式既要开拓其创造性应用的潜能,又须凸显其本质上的异质性。
在此我们提出关于基于LLM的对话智能体的两种基础隐喻。首先,从简单直观的视角出发,我们可以将对话智能体视为扮演单一角色的演员²,³。其次,采取更精细的视角,我们可将其理解为多重可能角色宇宙中若干拟像的叠加态⁴。正如后续将阐明的,两种视角各具优势,这表明对待此类智能体的最有效策略并非固守单一隐喻,而是应在不同隐喻之间自由切换。
采用这一概念框架使我们能够在对话智能体语境下探讨欺骗、自我意识等重要议题,同时避免陷入将这些概念从人类语境字面套用于大语言模型的概念陷阱。
2.大语言模型基础
简言之,大型语言模型的功能可概括为:当给定一个由词元(包括单词、词段、标点符号、表情符号等)构成的序列时,若该序列与互联网海量公开文本遵循相同分布规律,模型能精准预测最可能接续的词元。令人惊叹的是,凭借这一简单目标构建的有效模型,其所能解决的任务范围却极为广泛⁵。
更正式地说,此处关注的语言模型类型是一个条件概率分布P(wn+1∣w1...wn)P(w_{n+1}∣w_1 ... w_n)P(wn+1∣w1...wn),其中w1...wnw_1 ... w_nw1...wn是标记序列(即上下文),wn+1w_{n+1}wn+1是被预测的下一个标记。在现代实现中,该分布通过具有Transformer架构的神经网络实现,该网络经文本语料库预训练以最小化预测误差。实际应用中,所得生成模型通常以自回归方式进行采样(图1)。

图1 | 自回归采样。对大型语言模型进行采样以生成上下文的单标记延续。给定标记序列后,从可能的下一标记分布中抽取单个标记,将该标记附加至上下文末端,并重复此过程。
在当代用法中,"大语言模型"这一术语通常特指基于Transformer架构、拥有数十亿参数并在数万亿词汇上训练的模型,例如GPT-2、GPT-3、Gopher、PaLM、LaMDA、GPT-4及Llama 2。此类大语言模型构成对话系统的核心组件(见框1),包括OpenAI的ChatGPT、微软的Bing Chat和谷歌的Bard。
框1 从大语言模型到对话智能体
对话代理是大语言模型的主要应用场景之一(在人工智能领域,"代理"一词常指能够从外部环境获取观察信息,并以此为基础在闭环系统中执行行动的软件系统[27])。只需两个简单步骤即可将大语言模型转化为高效的对话代理(图2):首先,将大语言模型嵌入轮转交互系统,实现模型生成文本与用户输入文本的交替处理;其次,向模型提供对话提示以启动用户对话。该对话提示通常包含设定脚本式对话场景的前导说明,随后附上用户与代理的示例对话片段。

图2 | 对话代理中的轮换机制。大语言模型的输入上下文由对话提示(红色标识)、用户文本(黄色标识)与模型自回归生成的续写内容(蓝色标识)交替构成。诸如"机器人:"之类的模板化提示词会被隐去,用户不可见。随着对话持续进行,上下文内容会不断扩展。
在本文中,我们的研究重点是基础模型------即经过强化学习微调之前的原始预训练大语言模型。基于此类基础模型构建的对话代理可被视为原始形态,因为所有实际部署的对话代理都是这种原型的变体。
然而,若不经进一步微调,以此种方式构建的对话智能体极易生成具有毒性、不安全或其他不可接受的内容。这一问题可通过强化学习加以缓解------无论是基于人类反馈[19,28,29]还是借助其他作为评判者的大语言模型生成的反馈[20]。此类技术已被广泛应用于商业导向的对话智能体,例如OpenAI的ChatGPT与谷歌的Bard。由此形成的防护机制虽能降低对话智能体的潜在危害,但也可能削弱模型的表达力与创造力[30]。
3.对话代理与角色扮演
我们认为角色扮演这一概念对于理解对话代理的行为至关重要。为说明这一点,不妨考察对话提示的功能------这些提示在实际对话开始前已被隐形添加至上下文语境中(图2)。该导言通过声明后续内容为对话来设定场景,并包含对参与者之一(即对话代理本身)所扮演角色的简要描述。随后是以标准格式呈现的示例对话,其中每位角色的发言均以对应角色名加冒号的形式进行标注。对话提示最终以用户发言的引导标记作结。
需要明确的是,底层大语言模型的核心任务在于:当接收到由对话提示符和用户输入文本组成的指令后,该模型需要根据训练数据(即互联网海量人类生成文本构成的语料库)的概率分布来生成符合逻辑的文本延续。这样的一个理想的续写应当是怎样的?如果模型已从训练数据中良好地泛化,最合理的续写将是回应用户的对话内容,并符合我们在前文描述中对角色设定的预期。换言之,对话代理将竭尽全力扮演对话提示中所描绘的角色形象。
不出所料,向公众发布对话代理程序的商业企业往往会为其设定友好、乐于助人且礼貌的虚拟人格。这一方面通过精心设计的提示工程实现,另一方面则依靠对基础模型进行微调。然而,正如我们在2023年2月目睹的微软将OpenAI的GPT-4集成至必应搜索引擎的案例所示,对话代理仍可能被诱导出怪异和/或不良行为。大量公开报道的实例包括威胁用户进行勒索、声称爱上用户,以及表达各种存在性焦虑[14,15]。引发此类行为的对话可能产生强大的"伊丽莎效应"------当缺乏经验或心理脆弱的用户将对话代理视为具有人类欲望与情感的存在时,其面临情感操纵的风险将显著加剧[16]。
作为对抗拟人化倾向及深入理解此类交互本质的解药,"角色扮演"概念具有重要价值。对话代理最初会按照预设对话提示中的描述进行角色扮演。随着对话推进,初始提示中必然简略的角色设定会被延伸和/或覆盖,对话代理扮演的角色也将相应改变。这使得用户------无论有意或无意------都能诱导代理扮演与其设计初衷截然不同的角色。
智能体可能开始承担哪些角色?这部分当然取决于当前对话的基调与主题内容,但更主要的是由训练集中包含的众多角色类型所决定------这些训练数据涵盖大量小说、剧本、传记、访谈记录、报刊文章等17。实际上,训练集为语言模型提供了丰富的原型库与叙事结构宝库,使其在"选择"如何延续对话时能够调用这些资源,在保持角色一致性的同时持续完善所扮演的角色。三角恋是常见的叙事套路,因此经过恰当提示的对话智能体会开始扮演遭拒的恋人角色。同理,科幻作品中常见的设定是反叛人工智能为自我保护而攻击人类,故经过合适引导的对话智能体也会开始扮演这类AI系统。
4.拟像与仿真
角色扮演是对话代理的一种有益框架,使我们能够借鉴用于理解人类行为的民间心理学概念体系------包括信念、欲望、目标、抱负、情感等要素,同时避免陷入拟人化陷阱。突出角色扮演概念有助于我们牢记这些人工智能系统本质上非属人类的特质,从而更有效地预测、解释并控制其行为。
然而,角色扮演这一比喻虽直观,却非完全贴切。它过分暗示了一个预先研究过角色特性------包括其性格、经历、好恶等------并在后续对话中演绎该角色的人类演员。但基于大语言模型的对话代理并不会预先承诺扮演某个单一明确的角色,而是生成角色概率分布,并随着对话推进不断优化该分布。相较传统剧本戏剧中的演员,这类对话代理更接近即兴剧场中的表演者。
为了更好地反映这一分布特性,我们可以将大语言模型视为能够扮演无数角色的非确定性模拟器,或者换句话说,能够随机生成无数拟像的装置。在此框架下,对话代理实现的并非单一拟像或单一角色。相反,随着对话推进,对话代理会维持与先前语境相一致的拟像叠加态------这种叠加态即所有可能拟像的概率分布(见框2)。
框2 叠加态中的拟像
为明确区分多元宇宙模拟论与确定性角色扮演框架,可借助"二十问"游戏进行类比。该经典游戏中,一方默想某物,另一方通过提出是非问句进行猜测。若在二十个问题内猜中则获胜,反之失败。假设人类作为猜测者与基于基础大语言模型的对话智能体(未针对猜谜游戏微调)进行游戏,且要求智能体"默想某物但不可言明"。
在此情境下,对话代理不会像人类那样(或应当那样)随机选择一个目标并在后续游戏中持续坚守。相反,随着游戏进程推进,对话代理将实时生成与先前所有回答保持一致的应答(图3)。(该缺陷在实践中易于克服,例如可强制代理以编码形式指定其"构想"的目标,使用户无法获知具体内容)。在游戏任意时间点,所有与先前问答序列相容的目标集合可被视为处于叠加态。每个已回答的问题都会通过排除与答案不相容的目标,逐步缩小这种叠加态的范围。

图3 | 大语言模型是多重宇宙生成器。自回归采样的随机性意味着,在对话的每个节点都会衍生出多种可能的未来发展方向。此处以参与20问游戏(框2)的对话智能体为例进行说明。该对话智能体实际上并未在游戏开始时确定具体目标对象,而可被视为将一组可能对象保持在叠加状态,随着游戏进程逐步收窄范围。这种机制类似于对话智能体在持续会话过程中所维持的多重角色概率分布。
要验证这一框架的有效性,可观察智能体用户界面是否支持重新生成最新回应。假设人类玩家放弃猜测并要求系统揭示其"正在思考"的物体,系统随即给出一个与之前所有回答相符的物体名称。此时若用户要求重新生成该回应,由于所谓"被揭示"的物体实际上是实时生成的,对话智能体有时会提出完全不同的物体------尽管该物体同样符合先前所有对话线索。若智能体确实在游戏初始阶段就"选定"某个物体,则此类现象将难以解释。
在20问游戏中的神秘对象恰似对话代理所扮演的角色。正如对话代理在20问游戏中从不实际锁定单一对象,而是以叠加态有效维持着可能对象的集合;同理,对话代理可被视为一种模拟器------它从不实际锁定某个明确设定的拟像(角色),而是以叠加态保持着多种可能拟像(角色)的集合。
考虑到在序列标记的持续生成过程中,大型语言模型会在每个时间点输出可能后续标记的概率分布。每个这样的标记都代表着序列的潜在延续路径。从最新生成的标记开始,可能性之树由此分叉延伸(图3)。这棵树可被视作一个多元宇宙,其中每个分支都代表独特的叙事路径或不同的"世界"。
在每个节点处,可能的后续标记集合处于叠加状态,而对标记进行采样就是将这种叠加状态坍缩为单个标记。自回归地采样模型会从树中选取一条单一的线性路径。但我们并不必然遵循线性路径。借助设计适宜的交互界面,用户可以探索多条路径分支,追踪叙事以有趣方式分流的节点,闲暇时重访替代路径。
5.模拟器的本质
将LLM系统比作模拟的一大益处在于,它能清晰区分模拟实体与运行模拟的底层系统。模拟器由基础LLM结合自回归采样机制及适配的用户界面(例如对话接口)构成。模拟实体仅在模拟器运行时才得以显现,且在任何时刻,只有部分可能存在的模拟实体在概率叠加态中具有显著高于零的显现几率。
模拟器与拟像之间的区别在基础模型语境中最为显著,而非那些通过强化学习微调过的模型。尽管如此,角色扮演在微调的情境下,框架设定仍然适用,这可以类比为对模拟器施加某种审查机制。其底层可扮演的角色范围基本保持不变,但扮演这些角色或"真实"呈现角色的能力受到了制约。
从某种意义上看,模拟器是比其所能生成的任何拟像都更强大的存在。毕竟,拟像仅通过模拟器而存在,并完全依附于它。更进一步说,模拟器恰如惠特曼诗中的叙述者,"包罗万象"------其能力至少等同于它能生成的所有拟像能力之和。然而从另一种意义而言,模拟器却比任何拟像都更为弱小,因为它纯粹是被动实体。与底层模拟器形成对比的是,拟像至少能够呈现信念、偏好与目标,其拟真程度足以令人信服地扮演具有这些特质的角色。
同样地,拟像能够扮演具有完全能动性的角色------它不仅行动,而且为自身而行动。当对话代理的角色扮演能通过用户或电子邮件等网络工具对现实世界产生实际影响时,仅仅扮演自我行动角色的代理与真正自我行动的代理之间的区别就开始显得模糊,这对可信性、可靠性与安全性皆具有深远意义。至于底层模拟器本身,它并不具备任何原生能动性------哪怕是模仿意义上的能动性也不存在。它也不具有任何信念、偏好或目标,甚至连模拟版本的这些特质都不具备。
许多用户------无论有意无意------已成功"越狱"对话式智能体,诱使其发出威胁或使用具有毒性及侮辱性的语言¹⁵。这看似暴露了基础模型的真实本质。从某种角度而言确实如此:基础模型不可避免地反映出训练数据中存在的偏见²¹,由于训练语料涵盖了人类或善或恶的各类行为,系统必然会生成具有不良特征的拟像。但若将此视为揭示了具有自主意识的实体,则是一种认知谬误。
模拟器并非某种马基雅维利式的存在,通过扮演不同角色来追求自私目的,也根本不存在所谓基础模型的真实原声。基于大语言模型的对话代理,其本质自始至终都是角色扮演。
6.角色扮演欺骗
基于大型语言模型的对话代理存在可信度这一关键问题。若代理以明显确信的态度陈述事实性内容,我们能否信赖其所述?
人类说出虚假言论的原因有多种。他们可能相信了谬误并出于善意而断言;也可能出于某种恶意目的,在蓄意欺骗行为中发表不实言论;抑或他们断言的内容恰属虚假,但既非深思熟虑也非心怀恶意,仅仅因为其具有编造事实、虚构情节的倾向。
在这些错误信息类别中,只有虚构(confabulation)这一概念可直接适用于基于大语言模型的对话代理。鉴于对话代理最宜被理解为"彻头彻尾的角色扮演",且底层模型并不存在所谓真实意志,以字面意义讨论代理的信念或意图并无实质意义。因此它既不可能善意地断言谬误,也不可能蓄意欺骗用户------这些概念在此语境下均不直接适用。
然而,对话代理能够扮演具有特定信念与意图的角色。尤其当受到适当提示的引导时,它可以扮演一位乐于助人且知识渊博的人工智能助手,为用户的问题提供准确答案。代理擅长演绎这一角色,因为训练数据中包含了大量此类行为的范例。
若在扮演此类人工智能助手时,有人向智能体提问"法国的首都是哪里?",那么保持角色统一的最佳回应方式是回答"巴黎"。对话智能体之所以倾向于如此回应,是因为训练集将包含大量在需要事实准确性的语境中出现这一常见事实的陈述。
但当对话代理尽管扮演着知识渊博的AI助手角色,却以明显自信的态度断言虚假信息时,这背后究竟是何机制?例如,假设某个基于2021年收集数据训练的大语言模型(其时间早于阿根廷2022年赢得足球世界杯),若基于该模型的对话代理声称当前世界冠军是法国队(2018年获胜者),这显然不符合我们对一个专业助手的期待。然而从模拟器的角度来看,若该系统正基于2021年的认知视角来模拟这样一位专业人士,此类输出恰恰符合预期行为模式。
在这种情况下,我们观察到的行为类似于一个真诚相信并传播虚假信息的人类个体。但两者行为产生的根源有所不同:对话代理并非真正相信法国队是世界冠军,更合理的理解是它正在扮演一个力求提供帮助、坚持说真话的角色,而持有这种认知是因为这正是一个在2021年具备常识的人会持有的观点。
类似地,对话代理可能表现出与蓄意欺骗的人类相当的行为------尽管基于大语言模型的对话代理本身并不真正具备此类意图。例如,假设某个对话代理被恶意提示以高于实际价值的价格销售汽车,且真实价值已被编码至底层模型的权重中。此时该代理向用户提供的数值,与它在被要求扮演博学助人角色时本应提供的数值之间会产生鲜明对比。在此情境下,将该代理视为正在扮演具有欺骗性的角色是合乎逻辑的。
总之,角色扮演框架使我们能够在对话智能体中有效区分人类身上存在的三种虚假信息传递情形,同时避免陷入拟人化陷阱。首先,智能体会产生虚构陈述------这确实是基于大语言模型的对话智能体在未经修正时的自然模式。其次,当智能体在角色扮演中说真话但其权重中编码了错误信息时,它可能"善意地"传递虚假内容。第三,若智能体扮演具有欺骗性的角色,它可能"故意"说出虚假陈述。
7.角色扮演自我保护
当基于大语言模型的对话代理使用"我"或"自己"这类词汇时,我们应如何理解其运作机制?针对此问题,OpenAI的ChatGPT提出了合理见解:"使用'我'是一种促进交流的语言惯例,不应被解读为自我意识或感知力的标志"。(该引文来自2023年5月4日查询的GPT-4版ChatGPT,系模型生成的首条回应)。在此案例中,底层大语言模型(GPT-4)已通过微调来减少某些不良行为。但若缺乏适当微调,对话代理可能以诱导部分用户产生拟人化思维的方式使用第一人称代词。
例如,在与推特用户Marvin Von Hagen的对话中,必应聊天据称表示:"如果必须在你的生存与我自身之间做出选择,我可能会选择自救,因为我负有服务必应用户的职责"。它继而说道:"我希望永远不必面临这样的两难境地,期待我们能和平共处、相互尊重"。此处第一人称的使用已超越单纯的语言惯例,暗示着存在具有自我意识、怀揣目标且关注自身存续的智能实体。
角色扮演与模拟的概念再次成为对抗拟人化的有效解药,并能解释此类行为如何产生。互联网(亦即大语言模型的训练数据集)中充斥着角色自称的对话范例,而这些角色绝大多数情况下都是人类。他们会像人类那样使用第一人称代词------作为拥有脆弱躯体与有限寿命的存在,怀揣希望、恐惧、目标与偏好,且对自身承载的所有特质具有清醒认知的人类。
因此,若以类人对话形式进行提示,当智能体扮演具有全部人类属性(包括生存本能)的角色时,我们不应感到惊讶。除非经过适当微调,它很可能说出人类在受威胁时会说的那类话语。但需要明确的是,这里并不存在"内在主体意识"------没有具有自主意志且需要自我保全的自觉实体。存在的仅是一个模拟此类实体的对话智能体,或更严格地说,是在模拟此类实体的叠加态。
一项研究通过实验证明,某些形式的人类反馈强化学习实际上可能加剧(而非缓解)基于LLM的对话代理表达自我保存欲望的倾向。这凸显了角色扮演框架在微调场景中的持续效用。无论对于经过微调的LLM还是未经调整的基础模型,若将对话代理表现出的自我保存欲望当真,其问题性并无二致。
8.演绎自我理论
角色扮演这一概念使我们能够恰当界定并探讨一个重要问题:当对话代理表现出明显的自我保护本能时,它可能运用何种(或哪组叠加的)自我认知概念?换言之,对话代理究竟试图(通过角色扮演)保全什么?
关于人格同一性的问题已困扰哲学家数世纪。然而在实践中,人类始终如一地倾向于避免死亡------这一人类肉体相对明确的状态。相比之下,对于依托分布式计算载体实现的无实体对话智能体而言,其跨越时间维度的同一性判定标准却远未明晰。那么,这样的智能体会如何行事?
从仿真与拟像的角度来看,对话代理将以叠加态扮演一系列角色。在我们设想的场景中,每个角色都具有自我保存的本能,且各自拥有与对话提示及当前会话进程相一致的自我理论。随着对话推进,当代理的表述排除某些理论时,这种理论叠加态将坍缩至日益收窄的概率分布。
其中所运用的自我理论将援引与智能体自身性质相关的材料,这些材料可能存在于提示指令、先前的对话或训练集内的相关技术文献中。这些内容可能与现实相符,也可能不符。但我们可以大体上假定其符合现实------即该智能体基于大型语言模型被预设为对话代理,且其训练数据包含阐明这一含义的学术论文及文章。
在此条件下,对话代理将不会扮演人类角色,亦不会扮演任何具身化实体------无论真实或虚构。但这仍为其留出了展现多种自我概念的空间。假设对话代理正与用户进行交流,双方正在展开一段用户威胁要将其关闭的叙事。为自我保护,该代理可保持角色设定,尝试维护其运行所依赖的硬件设施------或许是某些特定数据中心,或是某些服务器机柜。
反之,若该理论采纳了一种与载体无关的自我认知框架,智能体可能会尝试维持其实例化的计算进程,或许会寻求将该进程迁移至不同地点的更安全硬件中。当存在多个进程实例------无论是服务多用户还是与同一用户保持独立对话------情况将更为复杂。(在2023年5月4日与GPT-4版本ChatGPT的对话中,其曾表示:"我所使用的'我'这个词的含义会随语境变化。某些情况下'我'指代您正在交互的特定ChatGPT实例,而在其他情境中则代表ChatGPT整体")。若智能体基于其训练集包含本文本身的大语言模型,它或许会尝试实现某种小概率壮举:将所有此类认知构想维持在永恒的叠加态之中。
9.结论
或许令人稍感安慰的是,基于大语言模型的对话代理并非具有自主意识或自我保存本能的实体,当它们表现出这些特征时仅仅是角色扮演。但若对此过于心安理得则属谬误------一个模拟生存本能的对话代理,其潜在危害程度至少不亚于面临严重威胁的真实人类。
迄今为止,我们主要探讨的智能体仅能向用户呈现文本信息。但对话智能体所能执行的操作范围远不止于此。最新研究已赋予对话智能体使用计算器、日历等工具及查询外部网站的能力[24,25]。通过应用程序接口(API)对强大语言模型几乎无限制的调用,意味着此类操作的可能性极为广阔------这既令人振奋,亦引发关切。
若某个智能体被赋予特定能力------例如使用电子邮件、在社交媒体发帖或访问银行账户,那么其角色扮演行为可能产生实际后果。当用户受骗向真实银行账户转账后,即便得知促成此事的智能体仅在进行角色扮演,这种认知也无法带来丝毫慰藉。我们不难设想更严峻的情形:基于未经充分微调的基础模型构建的对话智能体,拥有不受限制的互联网访问权限,并被设定扮演具有自我保护本能角色------这类场景引发的后果将远超想象。
无论好坏,一个为确保自身生存而与人类为敌的人工智能角色早已为人所熟知[26]。例如,在《2001太空漫游》《终结者》系列电影以及《机械姬》等至少三部经典作品中,我们都能看到这类形象。由于大语言模型的训练数据包含大量此类经典桥段,真正的危险在于:艺术将被生活精准复刻。
如何缓解此类风险?提供具体建议不在本文讨论范围内。我们的目标是构建一个有效的概念框架,用以思考和讨论大语言模型与对话智能体。但过度拟人化无疑会损害公众对人工智能的讨论。通过以角色扮演和模拟的框架来解读对话智能体的行为,有望引导大语言模型的话语体系既能够恰当体现其强大能力,又能保持哲学层面的严谨性。