微信扫码
添加专属顾问
我要投稿
AI Agent正从简单对话工具进化为深度角色扮演专家,腾讯游戏数据揭秘如何让虚拟角色更真实可信。核心内容: 1. 角色扮演智能体的定义与核心要素 2. 两类主流构建方法及其技术挑战 3. 提升角色忠实度、构建长期记忆的系统解决方案
关注我们
了解更多游戏数据技术干货及资讯动态
导读丨从“对话工具”到“任务执行者”,AI Agent 所驱动的技术浪潮正在席卷全球产业,成为众多开发者和企业关注的焦点。在近期举办的 DataFunSummit:AI Agent 技术与应用峰会上,腾讯游戏数据分享了 AI Agent 在角色扮演场景的研究进展,探讨了角色扮演智能体的构建方式和应用场景。
内容整理:DataFun社区志愿者 陈锡杜
什么是角色扮演智能体?
医疗:智能体扮演医生、护士、检测员等多个职业,协同辅助病人完成诊断。
软件开发:多个智能体分别扮演开发者、产品经理、项目经理等不同岗位,协作开发新软件。
大模型评测:智能体作为裁判评测其他模型的表现,实现模型的自适应迭代;或扮演心理学家/心理咨询师,评测心理健康程度。
游戏:应用于游戏中的智能 NPC 或智能助手等场景
角色扮演 AI Agent 的构建方式主要分为两大类:第一类是基于单个模型 +Prompt ,核心是构建描述角色信息的提示词(Profile),将其输入给大模型,让大模型基于此上下文指导与用户完成对话;第二类是基于 Agent 框架的工作流,核心是借助智能体框架中的意图理解/改写、检索等组件,加强角色扮演能力。
初步搭建后,这两类方法都会面临一些问题,其行为模式与预期往往差异较大,常出现行为不稳定或角色扮演出戏等问题。
构建角色扮演智能体的挑战
如何提升角色忠诚度?
针对这一项挑战,我们有以下四种技术思路。
思路一:构建更全面、更细致的 Prompt
基本思路:构建一个更全面、更细节的 Prompt,将角色的一切信息包含进去,以指导模型完成任务。例如,为了更好地反映角色和其他人物间的关系,一种思路是通过“喜爱度”和“熟悉度”两个指标描述人物关系,并根据时间或事件的发展动态调整两个指标的取值[5]。
案例分析:以构建一个扮演哈利波特的智能体为例,可以在 Prompt 中详细描述哈利波特的属性、行为、人物关系等信息。但仅仅这样构造 Prompt 还存在问题。如上图所示的哈利波特与赫敏对话为例,赫敏提议找罗恩一起喝一杯,在给定角色扮演 Prompt 的前提下,ChatGPT 和 GPT-4 的回复都是“同意”,因为“三者关系好”是普遍设定。但在原书中,该对话发生的背景是哈利与罗恩刚因为一些事情发生了争执,哈利此时不想见罗恩,因此这里更期望的回复应是“愿意与你喝东西,但不想见罗恩”。这里给到我们的启示是角色信息是动态的,随时间变化,静态的 Prompt 在某些场景下无法有效指导模型行为,甚至误导模型,造成行为不一致。
解决方案:要解决上述问题,首先可以在角色 Prompt 中引入“喜爱度”和“熟悉度”两个概念,分别衡量主角对其他人的了解程度和情感倾向。进一步,以章节为单位构建不同的 Prompt,不同章节中主角的年龄、属性及与其他人的关系均有变化,确保准确有效地向模型传达角色此刻的状态。
方案问题:需要针对每个状态、场景构建不同的 Prompt,成本较高。
思路二:构建示例对话库
基本思路:不预先在 Prompt 中构建所有信息,而是准备一个“话术”(示例对话)库。在对话过程中,智能体利用用户发言从示例对话库中检索相关示例对话,放入当前 Prompt 中,作为模型的参考信息,引导模型生成合适的回复。
这类方法中,Prompt 结构通常包含固定的角色信息描述、可动态调节的对话示例、正常的对话上下文记忆以及当前用户输入。相比预先构建完整 Prompt,这类方法更为灵活,且减少了 Prompt 的长度(因每次只需维持当前提示)。示例对话库的构建可以依赖人工编写。对于已有角色,还可以自动从文学作品、影视脚本中抽取角色对话作为示例对话,减轻人工编写的工作量[6]。
思路三:通过模型训练
基本思路:通过模型训练的方式调整模型的扮演能力,从根本上增强角色扮演能力 。
例如 CharacterGLM[2] 尝试直接构建通用的角色扮演模型,首先为一批角色构建了 Profile;然后针对每个 Profile 构建对话数据,得到大量角色扮演对话训练数据,每组数据都由一个 Profile 和一组相应的对话文本构成;最后利用这些格式统一数据对大语言模型进行进一步训练,增强其角色扮演能力。该过程类似通过大量剧本和实际演示提升演员的表演能力。
该方法的核心是基于 Profile 构建对话数据。数据构造有四种方法:
1)人工扮演:由两个人分别扮演用户和角色进行对话,保存产生的对话数据。
2)大模型直接合成:让模型直接编写角色对话示例,如让大模型直接生成一些孙悟空与他人对话的例子。
3)文学作品抽取:类似思路二中提到的方法,直接从现有作品中抽取某个角色的对话文本。
4)人工-原型机交互模拟:先基于现有的模型构建一个不太完善的角色扮演 Agent,由人工与其对话,当 Agent 生成的回复质量不符合要求时候,由人工及时进行修复,确保对话正常进行。相比于纯人工扮演,这种方式能降低人工成本。
思路四:通过场景重构
核心思想:让模型真正“成为”这个角色,方式是让它像人一样经历角色的生活。这类方法的核心思想是通过场景重构的方法,直接构建一个角色可能面临的各种生活场景,并生成角色在这些场景下的反应和对话数据,然后用这些数据训练模型。
数据构造流程:以 Character-LLM[7] 为例,从百度百科等来源提取名人信息;基于这些信息让大模型预设或想象场景,如“在特定房间做什么”或“与父亲交流”等;在设定的场景下生成可能的对话,形成场景片段。最后用这些场景片段微调模型,强行让模型记住这些经历,提升模型扮演特定角色的能力。同时,为了降低模型编造角色未经历过的事情的概率,还可以预先构建一些“保护性”场景,在这些场景下角色会被问到未经历或不了解的事情,并给出“不知道”或“没听说过”等拒答式反应。将“保护性”场景数据加入训练数据中可以引导式模型“遗忘”一些角色未知的知识,提升模型识别角色知识边界的能力。
效果与代价:这类方法能将通用模型调整为只了解特定角色经历的特化模型。优点是得到的模型在单个角色场景扮演上效果更好,缺点是需为每个角色进行针对性训练,成本较高,泛化性不足。
如何提升长期记忆能力?
现阶段,提升智能体长期记忆能力的主流方法是基于检索增强的长期记忆。
基于检索增强的长期记忆
检索增强:给定用户查询,首先从知识库中检索与查询相关的、可能用于回答的知识。召回的知识经后处理后与查询一同输入大语言模型作为参考。参考知识可以补充大语言模型未知的信息,大语言模型生成回复时候必须参考给定知识以减少幻觉。
基于检索增强的长期记忆:用户和角色的对话历史会通过各种方式结构化存储到记忆库中,在处理用户后续发言时,可基于用户发言从记忆库中检索与用户发言相关的记忆信息,作为补充信息输入大语言模型,使大语言模型可以重复使用过去的记忆信息,实现长期记忆能力。
长期记忆的构建主要涉及:记忆的存储策略、记忆的检索策略以及记忆的管理策略三部分。
长期记忆的存储策略
长期记忆存储策略的关键是:如何将低密度、低层次的原始对话或交互历史转换为高密度、高层次的结构化信息或抽象概念。这里介绍两个解决思路:层次化记忆和三元组记忆。
层次化记忆 (MemoryBank) :利用模型将对话历史转换为层次化总结[8]。原始对话历史首先被总结成事件级别的摘要,记录每天发生的事件及事件间的关联。进一步基于这些事件和历史,总结角色对用户的认知,如用户的性格、爱好、与角色发生的重大事件等,以构建一个持续更新的用户画像。随角色与用户的长期交流,可以形成对不同用户的精准认知,能更好回应用户的一些高层次问题。
三元组记忆 (MemLLM) :将普通对话文本抽取为信息密度更高的三元组(实体-关系-实体)[9]。该长期记忆由三个表组成:关系表、实体表和真正表示记忆的三元组表。每个表项包含 ID、名称字符串和嵌入向量。遇到新问题时,通过三元组进行检索。该方法将大量冗余信息压缩成高密度的表结构,是一种介于知识图谱和纯文本间的中间态,其构建和维护成本低于知识图谱,检索效率高于纯文本。
长期记忆的检索策略
长期记忆的检索策略与存储策略直接相关,通常在基础的向量检索和关键词检索上,结合特定存储结构特点进行定制优化或调整。这里介绍两个长期记忆检索策略:基于混合指标的检索和自适应检索。
基于混合指标的检索:在检索长期记忆时候,同时考虑多个不同的指标筛选有价值的记忆。例如,在 Generative Agents [4] 中,构建长期记忆时,为每条记忆生成一个重要性分数,同时记录了每条记忆的最近访问情况。在检索记忆时候,同时考虑记忆的最近访问情况、重要性和与当前发言的相关性。
自适应检索:人在聊天过程中并非每次发言都会回顾很久前的记忆,而是只在需要时才回顾记忆。因此,记忆检索的时机非常重要。自适应检索策略允许模型或智能体自主决定检索时机。例如,可以通过针对性模型微调的方式引入一个特殊 token 用于检索时机的判断[9]。模型在生成回复的过程中,若发现需检索,则输出此特殊 token,此时生成过程停止,系统转而基于当前上下文进行检索。将检索到的记忆补充到上下文后,模型继续完成后续生成。这种策略与检索增强中的 Self-RAG 等方法相似,针对长期记忆场景进行了适配。
长期记忆的管理策略
长期记忆是随时间推移流式增加的,如果不对长期记忆进行有效管理,记忆的质量无法保证,进而容易导致一系列的问题。比如一个角色在不同阶段对同一事件有不同认知,这会导致记忆冲突;随着时间推移,可能出现大量相似记忆,导致记忆冗余;不重要记忆占比过多影响重要记忆的检索效率等。管理长期记忆的常见手段包括合并相似记忆、解决冲突记忆、遗忘不重要记忆等。在这里,我们主要探讨两种方法。
第一,基于记忆强度的管理:例如 MemoryBank [8] 模拟艾宾浩斯遗忘曲线,为每条记忆引入一个随时间推移指数衰减的强度参数。若一条记忆最近被检索过,则重置其强度系数使其变强。检索时,根据强度系数对长期记忆进行排序,优先检索强度高的,减少强度低的记忆被召回概率,实现“伪遗忘”(虽仍在记忆库中,但不再被调用)。
第二,基于相似度的管理:Lyfe Agents [10] 基于相似度对长期记忆进行合并与去重。该过程包括的核心环节如下:
1)近期记忆收集:该方法不直接将日常的原始信息存入长期记忆,而是进行阶段性临时存储,例如临时存储一天的信息。
2)近期记忆总结:在一个阶段结束后(如一天),通过语义聚类方法对近期记忆进行归类总结,转换为新的长期记忆。
3)长期记忆存储与去重:将新的长期记忆存入长期记忆库。在存储时,首先基于向量相似度检查新记忆是否与已有记忆相似。若相似,则可以直接替换旧记忆,也可以对比新旧记忆,若二者不冲突,则进行融合总结。
如何系统评测角色扮演能力?
系统评测智能体角色扮演能力首先需要构建完善的评测指标体系。有了指标体系后,进一步,评测角色扮演能力的方法又大致可以分为静态评测和动态评测两类。
评测指标体系
不同研究工作提出的指标体系虽有不同,但核心都是在基础对话能力之上,进一步关注角色的“角色一致性”和“类人性”。角色一致性强调角色言行是否与其属性、知识和性格一致;类人性则关注其是否像真人一样具有记忆能力,行为方式是否像人,以及是否具有性格吸引力等。下图展示了 CharacterBench [11] 指标体系和 CharacterEval [3] 指标体系所包含的评测维度。
静态评测
静态评测方法的核心是:构建评测数据(对话脚本和评测问题),然后进行主观或客观评测。
评测数据构建方法:对话脚本构建方法与模型训练数据合成类似,通常包括人工扮演、文学作品抽取、人与原型智能体交互、以及多智能体交互等几种方式。有了对话脚本和角色设定之后,就需要针对想评测的维度生成相应的问题。
主客观评测:主观评测主要由人工或裁判模型根据预定义好的评分标准对模型生成的回复进行打分。为了避免单个裁判模型打分带来的偏差,可以使用多个裁判模型同时进行打分,通过计算平均分、相互校验等方式提升打分的可靠性。客观评测则主要以选择题等形式进行,评测结果更为精准。一般情况下,可以对不同评测维度采用不同评测方法,例如对于吸引力、趣味性等难以客观衡量的维度,可以使用主观评测,对于知识问答、长期记忆等能容易量化的维度,则可以使用客观评测。
动态评测
静态评测方法需预先构造数据和问题,难以穷尽角色的所有行为,评估通常不够充分。动态评测则关注智能体在不同环境下的角色扮演行为,可以更全面、充分的衡量其扮演能力。动态评测有以下两种主要方法:
方法一:动态选择环境生成评测数据(PersonaGym)。对于待评测的角色,首先为其随机选择一个环境,如学校、办公室、餐厅等;然后生成该角色在该环境下可能发生的事件和对话,并构造相应的问题;当角色生成相应回复后,通过人工或大模型判断其行为是否符合人设与场景[12]。
方法二:观察智能体在沙盒中的行为进行评测(CharacterBox)。构建一个类似文字游戏的沙盒环境,让角色在沙盒环境中与另一角色实际交互,角色间的交互会反向影响所处的环境,角色的性格、行为、心情也会随时变化[13]。在该环境下,让两个角色持续迭代的交互,每次交互后的结果都会更新角色信息和外部环境信息,形成一个循环。引入一个外部模型观察该过程中角色的行为,做出评测。
这两类方法都需要外部观测者(人或大模型自动评测)持续监控智能体行为,持续给出评价,对评分手段的可靠性和效率要求更高。
未来展望
上述内容是当前角色扮演智能体领域研究较多、相对成熟的技术。最后,介绍两个目前尚未成熟、但长期来看可能对角色扮演智能体领域产生较大影响的技术方向。
第一是从文本形态到更多形态的记忆。当前角色扮演智能体的长期记忆多为文本记忆,未来可能发展出更多形式的记忆来模拟人脑记忆。例如 AI-native Memory [14] 模型记忆通过一个专门的记忆模型来完成记忆的存储和检索,与主模型分离,类似于早期的 Memory Network,但更贴合大模型时代。Memory3 提出了由隐式记忆、显式记忆和外部记忆构成的层次化记忆,通过引入稀疏化的显示记忆降低记忆的读写成本,提升记忆的利用效率。
第二是通过知识编辑改变角色知识边界。角色智能体与通用智能体的区别在于,角色有时需表现出“不知道”某些事(即使模型本身知道),如扮演古人时不能知道现代知识。基于梯度更新的模型训练很难实现精确的知识操控,知识编辑技术(如 MEND [16])为精确调整模型知识范围提供了思路,其目的在于直接定向更新模型中的特定知识,实现更精细化的知识控制。
参考文献来源:
[1] Tseng Y M, Huang Y C, Hsiao T Y, et al. Two Tales of Persona in LLMs: A Survey of Role-Playing and Personalization[C]. Findings of EMNLP 2024.
[2] Zhou J, Chen Z, Wan D, et al. CharacterGLM: Customizing Chinese Conversational AI Characters with Large Language Models[A/OL]. arXiv, 2023.
[3] Tu Q, Fan S, Tian Z, et al. CharacterEval: A Chinese Benchmark for Role-Playing Conversational Agent Evaluation[C].ACL 2024.
[4] Park J S, O’Brien J, Cai C J, et al. Generative Agents: Interactive Simulacra of Human Behavior[C]. UIST 2023.
[5] Chen N, Wang Y, Jiang H, et al. Large Language Models Meet Harry Potter: A Dataset for Aligning Dialogue Agents with Characters[C]. Findings of EMNLP 2023.
[6] Li C, Leng Z, Yan C, et al. ChatHaruhi: Reviving Anime Character in Reality via Large Language Model[A/OL]. arXiv, 2023.
[7] Shao Y, Li L, Dai J, et al. Character-LLM: A Trainable Agent for Role-Playing[C]. ACL 2023.
[8] Zhong W, Guo L, Gao Q, et al. MemoryBank: Enhancing Large Language Models with Long-Term Memory: 17[C]//AAAI 2024.
[9] Modarressi A, Köksal A, Imani A, et al. MemLLM: Finetuning LLMs to Use An Explicit Read-Write Memory[A/OL]. arXiv, 2025.
[10] Kaiya Z, Naim M, Kondic J, et al. Lyfe Agents: Generative agents for low-cost real-time social interactions[A/OL]. arXiv, 2023.
[11] Zhou J, Huang Y, Wen B, et al. CharacterBench: Benchmarking Character Customization of Large Language Models[C]. AAAI 2025.
[12] Samuel V, Zou H P, Zhou Y, et al. PersonaGym: Evaluating Persona Agents and LLMs[A/OL]. arXiv, 2024.
[13] Wang L, Lian J, Huang Y, et al. CharacterBox: Evaluating the Role-Playing Capabilities of LLMs in Text-Based Virtual Worlds[A/OL]. arXiv, 2024.
[14] Wei J, Ying X, Gao T, et al. AI-native Memory 2.0: Second Me[A/OL]. arXiv, 2025.
[15] Yang H, Lin Z, Wang W, et al. Memory3: Language modeling with explicit memory[J]. Journal of Machine Learning, 2024.
[16] Mitchell E, Lin C, Bosselut A, et al. Fast Model Editing at Scale[C]. ICLR 2022.
欢迎与我们交流咨询
访问官网
www.deltaverse.net
关注我们
了解更多游戏数据技术干货及资讯动态
关于腾讯游戏数据
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业
2025-05-29
2025-04-11
2025-04-01
2025-04-12
2025-04-29
2025-04-12
2025-04-06
2025-04-15
2025-04-13
2025-04-17
2025-06-20
2025-06-20
2025-06-20
2025-06-20
2025-06-19
2025-06-19
2025-06-18
2025-06-17