想象你是一位舞台剧导演。演员已经站在台上,但他不知道“自己是谁”——你递给他一张人物小传,上面写着这个角色的姓名、年龄、职业、过往、执念;你又在耳边交代几句“这人外冷内热,说话带刺但心软”,帮他拿捏性格;你示范一句台词,让他学会整部戏的腔调;你提醒他记住前几幕的伏笔,别把剧情演丢了;最后让场务把布景灯光调好,几个角色站上各自的点位——大幕拉开,好戏开场。 这台戏,就是 AI 角色扮演。你在 Character.AI 这类产品里写的每一段 Prompt,本质上都是给大语言模型这位“全能但暂无灵魂”的演员递人物小传、讲角色性格、定说话腔调、存剧情记忆。本文要拆解这套“导演工作流”:角色定义、性格设定、对话风格、记忆管理、多角色交互、场景沉浸、迭代调优。学会这套方法,你就能让 AI 扮演任何角色,帮你写故事、练口语、做游戏 NPC,甚至成为产品的虚拟代言人。
掌握角色扮演 Prompt 设计,是 Prompt 工程师的核心内功:让 AI 从“万能聊天机器人”变成“有灵魂的虚拟角色”,直接决定聊天陪伴、游戏 NPC、虚拟 IP 三类产品的体验上限。
可视化演示
展示Character.AI角色定义与性格五维属性、对话风格参数控制(正式度/语气/详细度)及记忆管理上下文窗口滑动机制,切换模式理解角色扮演Prompt设计核心。
本节配有交互动效(进入视口后自动加载,约 3KB)。
角色定义与性格五维属性 角色定义Prompt包含身份背景、性格特征、说话风格三大核心要素,构建角色一致性 Big Five模型量化性格:开放性、尽责性、外向性、宜人性、神经质,每维0-1连续值 Character = {identity, personality(OCEAN), style} | consistency = key 角色扮演Prompt核心是定义清晰的角色身份和性格特征
角色定义
导演开排第一件事,不是走位,而是把人物小传塞给演员。小传上写着:这人叫什么、几岁、干什么、从前经历过什么、心里憋着什么没说出口的话。演员读上十分钟,再开口就有了底气。AI 的“人物小传”就是角色定义 Prompt——它是角色扮演的地基,地基不稳,后面所有设定都会塌。
角色定义 Prompt 回答大语言模型一个根本问题:“你是谁?”大模型本身像一个天赋极佳但暂时失忆的演员,你给它一段“工作牌文字”,它就能立刻进入状态。这段文字通常放在系统提示(System Prompt)最前面,相当于把工作牌贴在舞台入口,让模型每次生成前都先确认身份。
完整的角色定义由四块拼成。身份锚点给明确可验证的信息——姓名、年龄、职业,写“一位咖啡店老板娘”比写“一个神秘的人”有力得多;背景故事解释行为动机,“在雨夜失去过重要的人”比“有点忧郁”更有叙事力量;目标给角色行动方向,比如“她想攒钱把店开成百年老店”;限制挡住越界行为,比如“绝不主动谈论自己的过去”。这四块合起来就是一张标准角色卡(RoleCard)。
有了人物小传,演员才敢开口。你递出去的这张卡越具体,AI 的第一句台词就越有灵魂——角色扮演的地基,就是让模型在每次生成前都先回答“我是谁”。
- RoleCard(角色卡)整套角色信息的容器,相当于导演手中那份人物小传的总称。
- 身份(Identity)姓名、年龄、职业等锚点信息,让 AI 一开口就知道“此刻我是谁”。
- 背景(Background)过往经历构成动机来源,决定角色为什么这样想、那样做。
- 目标与限制(Goal \& Constraint)目标给角色向前走的牵引力,限制拦住越界行为,二者共同画定角色边界。
性格设定
人物小传是骨架,性格是血肉。导演拿到小传后会跟演员讲戏:“你这人固执,但讲义气;有人求你帮忙,你嘴上嫌弃,最后总会出手。”演员听完这句话,才知道遇到求助时该皱眉还是该伸手。性格设定,就是给 AI 讲这段“人物个性”。
性格设定本质上是一组行为偏置。大模型在预训练时读过成千上万个“固执讲义气”的角色,你只需几个标签,就能唤醒那类角色的行为分布,让模型的输出偏向某种反应模式。这比在小传里加十句外貌描写更管用——演员不需要知道角色的发色,需要知道的是“他会怎么做”。
性格设定有三个层次。性格标签要克制,3-5 个足够,堆太多模型反而“选择困难”,标签之间互相冲突会让人设混乱;行为模式给出具体反应剧本,“先嘴硬后心软”这类指令能稳定约束回合级行为,让每次应对都有连贯性;情感倾向决定情绪底色,乐观的角色在烂天气里会说“适合窝着看书”,悲观的角色只会叹气。三者合起来,角色的行为就有了可预测的内部逻辑。
演员靠什么进入状态?靠的是你讲的那几句性格戏。你写进 Prompt 的几个性格标签,就是帮助 AI 调整姿态的道具——人设两个字,一半是身份,一半是性格。
- Behavior(行为)角色对外界事件的最终反应,具体表现为模型生成的下一句台词或动作描述。
- Personality(性格)写进角色卡的性格标签,是保持稳定的“角色参数”,如固执、讲义气、外冷内热。
- Situation(情境)当前的事件或对话场景,是行为被触发的条件,同一个性格在不同情境下反应不同。
- f(映射函数)大语言模型本质上扮演这个函数,它把“性格 + 情境”翻译成具体行为输出。
对话风格
同一句“我等你”,老刑警说出来像命令,大学教授说出来像论文引言,初恋说出来像撒娇。导演只要示范一句“把你那把破伞收好,别滴得到处都是”,演员立刻懂了整部戏的语感。对话风格,就是你给 AI 的那句“示范台词”。
风格指令不会改变模型的知识储备,它改变的是输出的概率倾向——让模型更频繁地选中温柔短句,而不是书面长句。你可以把语言风格理解为一句句话在“词库地图”上的落点区域:风格设定就是在告诉模型“往这片区域走,别去那边”。
对话风格有三个旋钮可调。语气口吻管整体氛围,温柔、冷冽、俏皮,定下角色说话的“温度”;用词偏好管辨识度,爱用俚语还是书面语、有没有口头禅,一两句指定就能让角色有“人味”;句式特征管节奏,短句连发像刀锋,长句绵延像雾气。高手还会写“负例约束”——明确写出“禁止说'作为一个人工智能'”,能有效减少 AI 腔。
风格是角色最容易被观众记住的声纹。你把示范台词写明白,AI 说出的每一句话都会带着角色的“指纹”——不用看名字,只听语气就知道是谁在说话。
- Utterance(台词)角色最终说出口的具体话语,是风格最直接的载体。
- Context(上下文)场景、历史对话、用户输入等信息共同构成生成条件,是台词的内容来源。
- Style(风格)语气、用词、句式三件套,把模型的采样区域拉向特定语感区间。
- 概率采样台词不是唯一确定的答案,而是从分布中抽取,因此同一角色每次回复会略有变化,这是对话自然的来源。
记忆管理
好演员记得前几幕埋下的伏笔。第三幕再提到那把伞,观众立刻起鸡皮疙瘩。AI 没有天生的记忆,它只记得“被写进上下文窗口里的那几段话”。上下文窗口是舞台的物理边界,窗口之外的对话,模型一眨眼就忘得干干净净。
角色扮演的连续性,全靠记忆管理硬撑。所谓记忆管理,就是有策略地决定“哪些信息留在窗口内、哪些信息压缩后留下摘要、哪些信息直接丢弃”。Character.AI 这类产品之所以能陪你聊几百轮不串戏,靠的不是模型记性好,而是工程上把记忆安排得井井有条。
三类记忆手段缺一不可。核心记忆最稳固——身份、性格、风格写进系统提示最前部,永远不会滑出窗口;短期记忆是当前窗口内的对话现场,直接决定模型对最近话题的感知;长期记忆靠摘要压缩实现——早期对话即将滑出窗口时,抽取关键事实写成几句话再放回来。工业界还常用时间衰减权重:越久远的记忆权重越小,让最近的剧情更有存在感,避免旧事过度淹没新话题。
记忆是角色连续性的生命线。没有记忆的 AI 像每一场都失忆的演员,每幕戏都从“你好,初次见面”开始,观众很快就出戏了。
- Recall(t)(记忆回召)角色在第 t 轮对话时能够调用出来的信息总量,决定它此刻“还记得什么”。
- Core(核心记忆)身份、性格、风格等固定设定,处于上下文最前部,优先级最高、永不滑窗。
- Event(τ)(历史事件)发生在 τ 时刻的具体对话或剧情事件,是记忆的原材料。
- 衰减系数$e^{-\lambda (t-\tau)}$ 让越久远的事件权重越小,模拟人脑“近事清晰、旧事模糊”的特性。
- ⊕ 与 Σ(拼接与汇总)核心记忆与加权后的事件记忆拼接成完整上下文,共同输入模型。
多角色交互
群戏最难导。舞台上三个角色,谁先开口、谁在踱步、谁在角落里翻白眼,都得安排明白,否则观众分不清谁是谁。AI 角色扮演也一样,当你想让多个角色同台对话时,核心挑战是“别让角色串戏”。
多角色交互的技术核心是“标记”。大模型靠文本标记来区分说话人:你给每个角色的台词加上名字前缀,再规定旁白和动作的格式,模型就能在多个角色之间来回切换人格。这相当于给每个演员发一块写着名字的胸牌,谁开口先亮牌。
三个设计要点最常用。角色名前缀锁定发言权,格式写成“林岚:”和“沈默:”,模型读到不同前缀就切换对应人格;动作旁白独立标记,用星号或方括号包住,比如“(推开门)”,让舞台指示和台词分开层次;群像调度规定轮流次序,比如“店长先开口招呼客人,其他人再逐人回应”,避免冷场或抢话。多角色的关键,是让每个角色的角色卡独立存在,且彼此可见——角色能“听到”对方说的话。
好的群戏像围炉夜话,每个声部都清晰可辨。你把名字标记、旁白格式和发言次序立好,AI 就把舞台指挥权交给角色们自己——你只需坐在台下看戏。
- Line_t(当前回合台词)多角色对话中第 t 回合实际输出的一行文本,包含说话人标记和内容。
- Speaker^i(说话人标记)“林岚:”这样的名字前缀,明确当前由哪个角色发声,防止串戏。
- Role_i(角色人设)每个角色独立的角色卡参数,决定该角色说话的内容倾向与风格。
- Context_t(全局上下文)场景描述、旁白、其他角色最近的台词,共同构成这一回合的舞台信息。
场景沉浸
舞台布景一亮,观众就入戏了。雨声、咖啡香、暖黄的灯光——不着一句台词,情绪已经到位。场景描写是角色扮演的场域魔法,它不直接推动情节,却给一切对话染上底色。
场景设定不仅给模型信息,更给输出定调。一段“深夜的雨街”描写,会牵引模型生成更安静、更潮湿质感的句子;一段“熙攘的婚礼现场”则让台词更轻快喧闹。场景本质上是一种全局风格偏置,影响角色每一句台词的情绪浓度。
沉浸感设计分三层。场景构建要调动五感——视觉、听觉、嗅觉、触觉、味觉,一句“雨点敲在铁皮棚顶,空气里全是潮湿的咖啡香”立刻把用户拉进现场;情节推进要给出明确目标,“这场戏让客人说出心事”比“随便聊聊”有效十倍,目标给对话以方向;情感渲染控制情绪强度,让角色从“淡淡不安”到“几近哽咽”有梯度推进,别第一幕就嚎啕大哭。三者叠加,用户才会忘了自己在跟 AI 聊天。
人、景、情齐了,大幕一拉即是好戏。你写在 Prompt 里的那段场景描写,就是观众入场时听到的第一记钟声——戏还没开演,人已经坐稳了。
- Immersion(沉浸感)用户“入戏”程度的主观体验,是场景设计要优化的目标函数。
- Setting(场景设定)时间、地点、天气、五感信息构成的舞台背景,为所有台词提供氛围底座。
- Goal(情节目标)本幕玩家或角色要做的事,为对话提供推进方向,避免漫无边际。
- Emotion(情感渲染)角色当前的情绪强度与变化轨迹,是控制剧情温度的旋钮。
迭代调优
再好的戏也是排出来的。导演看首演录像,记下哪里笑场、哪里节奏拖沓,第二天改剧本重排。角色扮演 Prompt 的优化是同一件事:没有一次写好的 Prompt,只有不断打磨的 Prompt。
Prompt 工程天然是一个迭代循环:写初版 → 跑几轮对话 → 观察症状 → 修改角色卡 → 再测。Character.AI 的资深玩家和 Prompt 工程师都有一个共同习惯:把每一次“演砸了”的记录当成改进依据,而不是重新推翻重来。
优化有三板斧。病症反推修改点:人设崩了就加限制约束,风格跑了就补负例和示范台词,记忆丢了就压缩摘要给更多空间;A/B 测试:同一处设定写两个版本,在相同情境下各跑一遍,对比哪个输出更贴人设;效果评估看三个维度——一致性(角色行为前后是否矛盾)、风格贴合度(台词腔调是否统一)、记忆保持率(关键伏笔是否被回召),三维加权得到综合分。
好角色是迭代出来的。你每次记录下的“人设崩了”“风格跑了”,就是导演笔记本上的修改批注——改一版,演一版,AI 就会一版比一版有戏。
- Score(综合评分)衡量角色扮演 Prompt 质量的量化目标,用于横向对比不同版本。
- Coherence(一致性)角色行为与设定是否自洽,有没有出现前后矛盾、性格漂移。
- StyleFit(风格贴合度)输出台词与目标风格的吻合程度,评估“像不像这个角色说的话”。
- MemoryRate(记忆保持率)关键历史信息被正确回召的比例,衡量记忆管理是否有效。
- 权重 w按产品目标调节三项的相对重要性,权重总和通常归一化为 1。
AI 应用场景
游戏 NPC 对话设计
阶段:内容生成
解决的问题:传统游戏 NPC 的台词是写死的脚本,玩家一追问就露馅,千人一面没有灵魂。用角色扮演 Prompt,每个 NPC 都有独立的身份、性格、风格和记忆,对话可以无限变化且保持人设。
具体案例:某开放世界游戏里,酒馆老板“老 R”昨天被玩家赊过账。今天玩家再进酒馆,NPC 通过记忆管理还记得这件事,冷着脸说“先把昨天的账结了再点单”——玩家的世界感瞬间就立住了。
虚拟陪伴与情感倾诉应用
阶段:产品设计
解决的问题:陪伴类产品最怕“机械感”,用户三句话就察觉对面是个程序。角色扮演 Prompt 中的性格设定与情感渲染,让 AI 具备稳定的情绪底色;记忆管理让用户感觉“它真的记得我”。
具体案例:某情绪陪伴应用给 AI 设定“温柔但不盲目共情”的性格标签,用户隔了十天才回来,AI 还记得她上周提过的那只生病的猫,自然地追问一句“猫咪好点了吗”——用户留存率因此明显提升。
品牌虚拟代言人运营
阶段:营销运营
解决的问题:品牌 IP 需要人格化的表达方式,官方账号的回复往往冷冰冰、像公告。用角色扮演 Prompt 给虚拟店长设定俏皮语气与固定口头禅,让粉丝愿意主动互动。
具体案例:某茶饮品牌让虚拟店长在粉丝群“营业”,它有自己的人物小传(在店里干了五年、最爱新品)、专属口癖(“整一杯不啦?”),还会调用记忆对老粉说“你上次说减肥,这次给你换了零卡糖”。
Python 演示
class RoleCard: def __init__(self, name, age, job, traits, style): self.name = name self.age = age self.job = job self.traits = traits self.style = style self.history = [] self.keep_size = 5 def build_prompt(self, scene, user_msg): identity = "你是{0},{1}岁,职业是{2}。".format(self.name, self.age, self.job) personality = "性格:" + "、".join(self.traits) + "。" style_guide = "说话风格:" + self.style + ",永远不要打破人设。" if self.history: memory_block = "共同记忆:" + ";".join(self.history[-self.keep_size:]) else: memory_block = "共同记忆:你们今天第一次见面。" return "\n".join([ identity, personality, style_guide, "场景:" + scene, memory_block, "玩家:" + user_msg ]) def speak(self, pool, index): return pool[index % len(pool)] def run_demo(): lanyun = RoleCard( "林岚", 28, "咖啡店老板娘", ["温柔", "敏锐", "外冷内热"], "轻声细语,爱用短句" ) reply_pool = [ "这杯拿铁,为你调的。", "下雨了,进店坐坐吧。", "你心里有事,我看得出来。" ] scenes = [ ("深夜的街角咖啡店", "老板,来杯咖啡"), ("深夜的街角咖啡店", "你怎么知道我不开心?"), ("深夜的街角咖啡店", "你记得我上次说过的事吗?") ] for i, (scene, msg) in enumerate(scenes): print("--- 第{0}轮 ---".format(i + 1)) print(lanyun.build_prompt(scene, msg)) reply = lanyun.speak(reply_pool, i) print("林岚:" + reply) lanyun.history.append("玩家说:" + msg) lanyun.history.append("林岚说:" + reply) print() if __name__ == "__main__": run_demo()
self.history = []用列表保存历史对话,模拟角色的“记忆仓库”。def build_prompt(self, scene, user_msg):组装角色卡的统一入口,每次对话前先生成完整 Prompt。identity = "你是{0},{1}岁,职业是{2}。".format(...)身份锚点放在 Prompt 最前部,让模型先确认“我是谁”。personality = "性格:" + "、".join(self.traits) + "。"性格标签用顿号连接,3-5 个标签即可控制行为基调。style_guide = "说话风格:" + self.style + ",永远不要打破人设。"风格指令与“防崩约束”一次写好。memory_block = ... self.history[-self.keep_size:]只取最近 5 条记忆,模拟上下文窗口边界,防止无限膨胀。lanyun.history.append(...)每轮对话结束后把新内容写进“记忆”,下一轮才能 call back 前面的情节。
常见误区
误区总觉得角色卡写得不够多,于是拼命堆细节:发色、瞳色、服饰、星座、血型、喜欢的颜色……写了满满一屏,觉得这样 AI 才能演得立体。
正解这就像导演给演员塞了三十页户籍档案,演员反而抓不住重点。大模型的注意力有限,特征越密集,核心性格越容易被稀释。角色卡应该“少而精”:3-5 个性格标签、一段关键背景、一个明确目标、几条硬性限制——每句话都要服务于“这个角色会怎么说话、怎么做决定”。
为何常见:因为新手把“描写充分”误当成“细节堆砌”,忽略了 Prompt 是约束条件而非小说正文。
误区以为角色扮演只需要在开头写“你是林岚,咖啡店老板娘”,AI 之后的所有回复就都会自动带上老板娘的人设。
正解身份只是角色卡的骨架,没有性格、风格、记忆的支撑,这个角色很快就会“飘”成通用助手。就像只告诉演员“你演个警察”,却不告诉他性格刚正还是圆滑、说话冷硬还是温柔,他只能演成套路化的标签。角色定义只是第一步,性格决定反应、风格决定腔调、记忆决定连续性,四者缺一不可。
为何常见:因为“你是XX”是角色扮演最直观的写法,视觉效果上似乎立刻生效,让人误以为已经完成了全部设定。
误区想让 AI 同时扮演 A 和 B,就在开头写“你是 A,也是 B”,结果 AI 经常混淆两个角色,说话时人格来回跳。
正解多角色交互的关键是“各自独立、彼此可见”。A 和 B 需要各自的角色卡,回合输出时用“林岚:”和“沈默:”这样的名字前缀锁定发言权,动作旁白用星号或方括号单独标记。就像群戏要分别给每个演员讲戏,而不是把两个人喊到台上说“你们都是主角”。
为何常见:因为单角色经验让人以为“角色数量”只是名单问题,没意识到模型需要靠结构标记才能区分说话人。
误区为了让 AI“记住”,把过去几十轮对话全部原样拼到新 Prompt 里,结果不仅经常超出上下文窗口上限,AI 还抓不住重点。
正解记忆管理的本质是“取舍”。核心记忆(身份、性格)永远放在最前面;短期记忆保留最近几轮;更早的内容要压缩成摘要,只留关键事实和伏笔。就像记日记要写要点而不是逐字誊写全部对话。窗口是有限的,摘要越精炼,模型的处理空间越大。
为何常见:因为“记住一切”听起来最保险,没意识到上下文窗口的物理上限和注意力稀释问题。
面试题
Q1. 在角色扮演中给 AI 写“人物小传”,核心作用是?
- A.为角色建立稳定的人设锚点← 正确答案
- B.限制每句输出的字数上限
- C.提高回复内容的随机程度
- D.自动压缩对话的上下文
答案:A。人物小传即角色定义,核心是回答“我是谁”,为后续行为提供稳定的身份锚点。限制字数、提高随机性、压缩上下文都不是角色定义的功能,它们属于风格控制或工程优化手段。
Q2. 以下哪个写法最适合定义角色“性格”?
- A.请控制在五百字以内
- B.固执但讲义气、外冷内热← 正确答案
- C.请回复JSON格式数据
- D.将温度参数设为最低
答案:B。性格设定要用 3-5 个标签直接描述行为倾向,像“固执但讲义气”这样的标签能约束模型的行为分布。控制字数、要求 JSON、调温度参数都不是性格设定,它们分别属于输出格式和采样控制。
Q3. 上下文窗口塞满时,最先丢失的信息通常是?
- A.系统提示中的角色卡
- B.用户最近一条消息
- C.最早几轮的对话细节← 正确答案
- D.模型训练好的权重
答案:C。上下文窗口采用“先进先出”的截断策略,最早的历史细节最容易被挤出窗口。系统提示中的角色卡通常有较高优先级,最近的用户消息刚进来,模型权重则根本不占上下文空间。
Q4. 想让角色说话带港腔、爱用短句,应写在哪里?
- A.写在身份锚点区域
- B.写在对话风格区域← 正确答案
- C.写在记忆管理区域
- D.写在场景构建区域
答案:B。语气口吻、用词偏好、句式特征都属于对话风格的三个旋钮。身份锚点管“我是谁”,记忆管理管“记得什么”,场景构建管“身处何地”,都不直接约束说话腔调。
Q5. 多角色交互中,避免“串角色”的有效措施有?
- A.每个角色贴上独立姓名标签← 正确答案
- B.用星号或括号标注动作← 正确答案
- C.开场写明角色的站位次序← 正确答案
- D.让回复完全自由发挥
答案:ABC。角色名前缀锁定发言权、星号括号标记动作旁白、开场设定轮流次序,三者都是多角色调度的核心手段。“完全自由发挥”恰恰是导致人格混乱的原因。
Q6. 记忆管理的正确做法是?
- A.把所有历史原文塞进提示
- B.每轮对话前清空所有记忆
- C.让AI忘掉一切只回应当前
- D.抽取关键事实做成摘要回填← 正确答案
答案:D。记忆管理核心是“取舍”——核心记忆放最前、短期记忆留最近、早期对话压缩成摘要再回填。全量塞入会超窗口,清空记忆则会失去连续性,正确做法是抽取关键事实做摘要。
Q7. 角色扮演中“人设崩塌”的最常见原因是?
- A.输入画布尺寸设置太大
- B.用户连续发送消息次数太多
- C.角色卡太短且缺少约束← 正确答案
- D.采样温度参数设置过高
答案:C。人设崩塌多数因为角色卡没有写清楚性格、风格和限制,模型在长对话中失去了行为参照。画布尺寸、消息频率不是直接原因,温度参数影响的是随机性而非一致性。
Q8. 以下哪些做法能提升角色扮演的沉浸感?
- A.开场加入五感场景描写← 正确答案
- B.给角色明确目标与限制← 正确答案
- C.完全让AI自由随机编情节
- D.把关键历史记忆放进上下文← 正确答案
答案:ABD。五感描写建立场景,明确目标给情节方向,关键记忆保持连续性,三者叠加提升沉浸感。完全让 AI 自由编情节会导致剧情失控,反而破坏入戏体验。
Q9. 迭代调优中发现“角色说话风格漂移”,最优先的修改是?
- A.提高采样的随机性参数
- B.删掉角色的背景故事设定
- C.缩短开场场景描写的篇幅
- D.在风格指令里加负例约束← 正确答案
答案:D。风格漂移时,最直接的手段是在风格指令中补充负例约束,比如“禁止书面腔、禁止说'作为AI'”。提高随机性会加剧漂移,删背景或缩场景与风格问题无关。
Q10. 工程化角色扮演的记忆管理,下列说法正确的是?
- A.长对话必须做摘要压缩← 正确答案
- B.角色卡固定信息放提示最前← 正确答案
- C.记忆权重应随时间衰减← 正确答案
- D.多角色对话无需区分说话人
答案:ABC。长对话摘要压缩防止窗口溢出,角色卡固定信息放最前保证优先级,时间衰减让近期记忆更有存在感,三者是工程标配。多角色对话恰恰必须严格区分说话人,否则必然串戏。