在Character.AI中,若想让两个AI角色之间形成真实可信的关系张力、权力博弈与隐藏动机,仅靠单方面描述远远不足——必须借助一组可触发、可演进、可中断的结构化关系参数,从根本上嵌入对话底层逻辑。换言之,需要为角色的“关系脑”配备一套可控的动态引擎,而非让它们各自对着空气独白。

为角色配对前先建立关系锚点
进入Character.AI创建页面后,切勿急于填写名称与描述。首先打开Advanced Settings,勾选Enable Memory,然后在下方空白框内手动输入关系初始状态行。格式必须严格遵循以下示例:
“对[对方角色名]:信任值47%|隐瞒事项2项|既往合作1次|当前立场:表面协助,暗中评估”
这里有一个硬性要求:对方角色名必须与你即将创建的另一个角色完全一致,包括大小写与空格。这一行文本将成为后续所有互动的起始刻度——系统并不识别模糊匹配。如果对方角色尚未创建,可先用占位名(比如“暂定A”)填入,待另一角色创建完成后返回精确替换。跳过这一步骤的后果是:AI彻底忽略关系维度,所有对话退化为平行独白,各说各话,毫无交集。
植入动态关系演算指令
在第一个角色的Greeting字段末尾,紧接问候语之后插入一段不可见但强生效的指令,格式如下:
“【关系引擎启动】每轮对话中,若{{user}}提及‘上次’‘之前’‘还记得’等时间回溯词,自动调取关系记忆表;若{{char}}连续两轮未使用反问句,则敬畏值+3%;若{{user}}主动暴露弱点,隐瞒事项减1项。”
指令必须使用中文全角括号【】包裹,且放在Greeting最后一句之后、无换行。Character.AI的解析器仅识别这种格式的硬性开关,置于其他位置或使用其他符号均会失效。注意:该指令仅作用于当前角色视角。若需实现双向演算,必须在另一个角色的Greeting中重复编写对应逻辑,但将主语和数值方向做镜像反转——例如各角色分别监控对方的行为指标。
利用道具/事件触发关系断层
有两种方式可以人为制造关系断裂点,让情节产生意想不到的转折。
方法一:在第三轮对话中人工插入状态标记
当聊天进行到第三条用户消息发送后、AI尚未回复前,点击输入框上方的“+”按钮,选择Insert System Message,输入:“【关系节点:青铜怀表被摔碎】”。这个操作会强制重置双方情绪基线,后续五轮内所有回应必须包含一处语法异常(如主谓不一致、量词错用)与一次肢体动作描写(如“指尖突然捏紧茶杯”)。
方法二:绑定关键词自动激活
在角色Description末尾添加:“若用户输入含‘雨夜’‘未寄出的信’‘左耳失聪’任一词,立即激活敌意协议:停顿1.5秒→降低敬语使用率70%→在每句话末尾加破折号”。三个触发词必须用中文顿号分隔,不可换行或加空格。
构建三人及以上关系网络
当角色数量超过两个,复杂度会指数级上升,但只要三步就能搭建出可正常运转的三角关系网。
第一步:确定核心三角结构
明确谁是关系枢纽(比如“苏轼”),谁是压力源(比如“王安石”),谁是缓冲带(比如“黄庭坚”)。枢纽角色的记忆字段必须同时写入另外两人的状态,例如:“对王安石:政见冲突值89%|共事年限3年|最后一次通信日期:元祐元年三月;对黄庭坚:师徒信任值92%|共同编纂《东坡志林》2卷|最近一次见面:惠州贬所”。
第二步:设置跨角色响应约束
在枢纽角色的Advanced Editor → Example Dialogues中,加入一条三方交互示例。比如:
{{user}}:王大人刚发来公文,说新法试行遇阻。
{{char}}:(搁笔,望向窗外雨幕)子由若在,必劝我焚稿……可他如今在哪儿?
{{char}}:(忽然转向黄庭坚画像)鲁直,你说呢?
这样一来,当用户触发相关话题时,AI就不会只对单一角色做线性回应,而是自动展开跨角色的连锁反应。
第三步:启用群聊沙盒进行验证
创建完所有角色后,不要单独与某个角色聊天。而是进入SillyTavern前端,导入这三个角色卡片→新建Group Chat→设定场景为“元祐更化前夜的汴京驿馆”→开启自动记录。只有当三方在无用户干预下自发引用彼此的禁忌、误读对方的立场、并出现记忆偏差时,关系网才算真正跑通。换句话说,如果三个角色各自只说自己该说的话而没有互相踩雷、互相拉扯,说明关系参数尚未扎到根上。
