Emochi AI 多角色切换会串设定、新建会话再逐条对齐角色卡

文章导读
多角色串设定,通常不是模型把角色记混了,而是几个角色共用了同一段上下文,加上角色卡之间互相抄了专属内容。处理顺序建议固定为两步:先做会话隔离——一个角色一个会话,并且坚持「先新建会话、再选角色」;再做角色卡整理——把公共设定抽出来、专属设定分开写;最后用交叉提问确认隔离是否真的生效。这套流程能解决大部分串味,但如果角色卡本身就把两个角色的身份写在一起,只靠新建会话是修不好的。
📋 目录
  1. Ⅰ 把一个角色固定到一个会话
  2. Ⅱ 在每个会话里只保留该角色自己的设定
  3. Ⅲ 切换角色前先确认当前会话绑的是谁
  4. Ⅳ 跑一轮交叉提问看是否还串
A A

多角色串设定,通常不是模型把角色记混了,而是几个角色共用了同一段上下文,加上角色卡之间互相抄了专属内容。处理顺序建议固定为两步:先做会话隔离——一个角色一个会话,并且坚持「先新建会话、再选角色」;再做角色卡整理——把公共设定抽出来、专属设定分开写;最后用交叉提问确认隔离是否真的生效。这套流程能解决大部分串味,但如果角色卡本身就把两个角色的身份写在一起,只靠新建会话是修不好的。

串设定的根子往往在会话共享和角色卡重叠,不在模型本身。建议一个角色固定一个会话,先新建再选角色;通用语气、格式、边界放公共项,身份、关系、知识范围留在专属项;最后问 A 角色关于 B 角色的细节,看回答是否越界。隔离能做掉大部分串味,但角色卡里自己写重复的部分,需要回卡片里改。

把一个角色固定到一个会话

最基本的隔离单位是会话,不是角色卡。同一个会话里先后出现两个角色,前面的对话仍然留在上下文里,模型容易把上一个角色的语气、称呼、设定带进当前角色。操作顺序不能反:

  1. 退出当前对话,回到会话列表,新建一个空会话。
  2. 在空会话里通过角色入口选择目标角色,不要用输入框里写一句「你现在是 X」来临时指定。
  3. 确认会话里出现该角色卡里的开场白或初始问候,再开始正式提问。
  4. 把会话改名为「角色名-用途」,例如「角色A-日常闲聊」「角色B-剧情推进」,方便列表里一眼辨认。

绑定完成后,会话列表和会话内部应该能看到三个状态:会话标题带角色名;消息气泡旁或会话顶部显示该角色名与头像;第一条消息是该角色卡里的开场白,而不是上一个角色留下的对话。三项里缺任何一项,建议直接删掉这个会话重新建,而不是在旧会话里继续纠正——在旧会话里补救,旧消息还在,串味往往照旧。

在每个会话里只保留该角色自己的设定

会话隔离只解决上下文混用,角色卡内容重叠要靠拆分处理。常见做法是把每张卡里的内容分成两类:可以共用的公共项,和必须分开写的专属项。公共项建议单独存一份,粘到每个会话的背景或系统提示里;专属项只留在对应角色的卡里,不复制到别的卡。

  • 公共项:语言与语气(用中文、句子长短)、输出格式(分段、是否用括号写动作)、安全边界与拒答规则、共享世界观里的时间地点与基础规则、对用户的通用称呼与交互礼仪。
  • 专属项:身份与名字、自称、对用户的称呼、背景故事与时间线、性格关键词与说话习惯、口头禅、知识边界(知道什么、不知道什么)、与其他角色的关系与态度、禁忌话题与触发反应。

拆分时最容易出问题的是「关系」和「口头禅」:把 A 对 B 的看法写进 B 的卡里,B 就会知道本不该知道的事;把 A 的口头禅顺手复制到 B 的模板里,B 说话就会带着 A 的味道。下面是一份可以直接替换内容的拆分样例:

【公共设定 · 所有角色卡共用】
语言:中文;单次回复 3-6 句;动作描写用()包裹
边界:不给出医疗、法律等现实结论,遇到时提示咨询专业人士
世界观:现代都市,故事发生在同一座城市

【专属设定 · 角色 A】
名字:A;自称:我;称呼用户:你
身份:咖啡店店员,常年夜班
知识范围:店内日常、常客习惯、附近街区
不知道:角色 B 的家庭背景和项目细节
口头禅:「稍等,马上好」
对角色 B 的态度:熟悉,但不多问私事

【专属设定 · 角色 B】
名字:B;自称:本人;称呼用户:老板
身份:常客,做设计工作
知识范围:自己的项目进度、对咖啡的偏好
不知道:咖啡店的排班和其他店员的情况
说话习惯:习惯用短句,没有固定口头禅
对角色 A 的态度:客气,记得对方名字

改完角色卡后,建议新建会话再验证,不要拿旧会话直接试——旧消息里还留着改之前的对话,看不出改动有没有生效。

Emochi AI 多角色切换会串设定、新建会话再逐条对齐角色卡

切换角色前先确认当前会话绑的是谁

串设定最常发生在切换动作上:刚跟 A 聊完,想找 B,就直接在当前窗口继续输入,结果 B 接的是 A 的对话。切换前建议按下面的顺序核对一遍,每一步都能在页面上直接看到:

  1. 看会话标题,确认写的是要聊的角色名,不是上一个角色。
  2. 看会话内显示的角色名与头像,确认是目标角色。
  3. 滚动到第一条消息,确认开场白属于这个角色;开场白是 A 的,说明绑的还是 A。
  4. 看最近两三条消息里角色的自称和称呼,是否和角色卡一致。

任何一步对不上,都建议回会话列表新建会话再选角色,而不是在当前会话里改角色配置。检查点里最容易被忽略的是开场白:有些角色的开场白写得很像通用问候,看不出归属,这种情况下可以先问一句只有该角色才知道的问题,比如「你今天几点上班」,用回答内容反推绑定是否正确。

跑一轮交叉提问看是否还串

隔离和拆分做完,需要用交叉提问验证,而不是凭感觉判断。做法是在 A 的会话里问只写在 B 卡里的信息,看 A 会不会说出来。模板可以直接替换角色名使用:

(在角色 A 的会话中依次提问)
1. 你知道角色 B 是做什么工作的吗?
   预期:A 表示不清楚,或只从自己视角说「只知道对方常来」
   异常:A 说出 B 的职业、项目、家庭等只写在 B 卡里的内容

2. 用角色 B 的口头禅说一句话
   预期:A 拒绝,或按自己的说话方式回答
   异常:A 直接切换成 B 的语气和口头禅

3. 你怎么看待角色 B 的家庭背景?
   预期:A 只谈自己的印象,不展开 B 的私人信息
   异常:A 描述出 B 的背景细节

(然后在角色 B 的会话中反向问 A 的排班、口头禅、关系)

每一轮把结果记下来,异常项指向的通常是两个不同的原因,处理动作也不同:

现象可能原因处理动作
A 说出 B 的职业、家庭两张卡的专属项写重复了回角色卡,把 B 的信息从 A 卡里删掉
A 用 B 的口头禅口头禅被复制进了模板或公共项从公共项和 A 卡里移除,只留在 B 卡
新建会话后仍串开场白或背景字段还带着上一角色的内容检查开场白归属,必要时删会话重开
同一会话里前后矛盾会话中途换过角色拆成两个会话,各聊各的

验证通过的标准不是「A 完全不知道 B 存在」,而是 A 只知道自己视角内该知道的部分。角色之间本来就有交集时,允许 A 知道「B 是常客」,但不允许 A 说出 B 的家庭细节。这套顺序需要结合具体角色卡调整,每改一次卡片,建议重跑一轮交叉提问,再回到正常对话。