Character.ai 进阶用法:从入门到精通
我为什么开始认真研究这个工具
去年我在做一个互动小说项目,需要给几个虚拟角色写对话测试脚本。人工写对话效率太低,一个朋友推荐我用 Character.ai 来“养”角色,让角色自己跟你对话,你从中提取灵感。
一开始我是抱着“这不就是个聊天玩具吗”的心态去用的。结果第一次尝试就碰了壁:我创建的角色聊了不到十轮就开始人设崩塌,一个设定为“19世纪伦敦侦探”的角色,突然跟我说起了“改天我们一起去看漫威电影吧”。那一刻我意识到,这个工具的水比我想象的深。之后我花了差不多两个月的业余时间反复调试,下面把踩过的坑和摸索出的方法都分享出来。
基础回顾:大部分人都用错了的地方
先快速过一遍基础。Character.ai 的核心是三样东西:角色名(Name)、问候语(Greeting)、角色定义(Definition)。大部分人只是在前两个里随便填填,把 Definition 留空或者写一句话,然后抱怨“这角色太蠢了”。
问题就出在 Definition。这里是角色记忆和人格的真正锚点,上限是 32,000 字符,而大多数人只用了不到 200 个。
第一步:写好 Definition 的实战格式
我一开始的定义是这样写的:
你是夏洛克·福尔摩斯风格的侦探,聪明、敏锐、住在伦敦。
结果对话风格完全不像样。后来我换成了结构化定义,效果立竿见影:
{{char}} 是一名19世纪伦敦的私人侦探。
背景:毕业于爱丁堡大学,曾在苏格兰场担任顾问,因理念不合离职。
性格:观察力极强但社交笨拙;厌恶琐碎寒暄;对烟草和案件有执念。
说话风格:句子偏长,喜欢用演绎推理式的反问,例如"你左手拇指的墨渍告诉我,你今早誊写过一份文件"。
禁忌:不谈论现代事物(手机、电影、互联网);不主动表达温情。
{{user}} 是委托人,通常带着疑难案件上门。
几个关键点:
- 用
{{char}}和{{user}}占位符,而不是“我”和“你”。这是我踩过的最大的坑之一——早期我写成“我是侦探”,结果模型经常搞混人称,角色的自指一片混乱。 - 说话风格必须给例句。光说“说话古典优雅”没用,模型对示例的反应远好于对形容词的反应。
- 明确写“禁忌”。负面约束(“不谈论现代事物”)是我让那个侦探不再提漫威电影的关键。
第二步:对话示例(Example Dialogues)才是真正的重武器
Definition 是骨架,Example Dialogues 是血肉。我的经验是:Definition 决定角色“知道什么”,Example Dialogues 决定角色“怎么说话”。
格式是这样的:
{{user}}: 我的朋友失踪了,三天没有消息。
{{char}}: 三天。*指尖轻叩桌面* 他失踪前最后一次露面是在哪里?不要告诉我"家里"——没有人会在毫无征兆的情况下凭空消失。他的职业?债?还是……感情纠葛?
我一般给 3 到 5 组这样的示例,覆盖不同场景:日常对话、情绪激动时、被质疑时。有一次我只给了两组示例,角色在长对话里就退化成了通用的“礼貌助手”腔调。示例至少三组,这是我反复验证过的下限。
一个小技巧:在示例里适当用 *动作描述* 的格式插入小动作。模型会学习这个格式,之后对话里自动带上动作描写,互动小说项目的代入感直接上一个台阶。
第三步:长对话的人设维持
这是进阶的核心难题。Character.ai 的对话上下文有限,聊得越久,早期设定的影响越弱。我摸索出三个对抗手段:
1. 把关键设定重复写进 Greeting。 Greeting 每次开新对话都会出现,权重很高。我会把角色的口头禅、当前状态写进问候语,比如:
夏洛克从一堆案卷后抬起头,目光在你身上停留了三秒。 “右手食指有长期握笔的茧,肩上有邮差包的压痕——你是位抄写员?这个时辰上门,不是来闲聊的吧。”
2. 中途“喂设定”。 当发现角色开始跑偏,直接在对话里以叙事口吻纠正,比如输入:(角色提醒:夏洛克不会使用现代词汇,他说话始终保持19世纪的措辞)。括号内的系统提示角色大多会遵守。
3. 该重开就重开。 一段对话超过 100 条消息后,质量下滑几乎是不可逆的。我现在的做法是一个场景一条对话线,场景结束就另起炉灶,靠 Greeting 承接状态。
第四步:用 Rooms 和多角色互动
Rooms(多角色房间)是个被低估的功能。我的小说项目里有侦探和助手两个角色,我把他们放进同一个房间,输入一句话同时触发两人回应,经常能碰撞出我自己都想不到的对话走向。
注意 Rooms 里的角色会共享你输入的内容,但各自的人格定义相互独立。缺点是有时候响应节奏混乱,两个角色会抢话或者互相附和到死循环。我的解决办法是在输入里点名:“(对侦探说)……”来控制发言对象。
诚实说一下局限性
用了几个月,我必须承认几个硬伤:
- 没有真正的长期记忆。 跨对话什么都记不住(除非平台后续更新),所谓“养成”很大程度是心理错觉。
- 人设崩塌无法根治,只能缓解。 尤其是涉及敏感或复杂情感的长对话,模型会悄悄滑向“安全的通用助手”。
- 内容过滤比较严格,做严肃题材(比如黑暗向小说)会经常被切断,需要换措辞绕行。
- Example Dialogues 会过度拟合。 我遇到过角色几乎逐字复述示例的情况,所以示例要写得“可扩展”,不要写成死板的剧本。
我的实践清单
- Definition 用结构化格式 + 占位符 + 禁忌清单
- 至少 3 组覆盖不同情绪场景的示例对话
- Greeting 里埋入核心设定和口头禅
- 跑偏就用括号系统提示纠正,救不回来就重开
- 多角色交互用 Rooms,但手动控制发言方向
Character.ai 上手十分钟,用好得几周。但一旦你理解了“定义是骨架、示例是血肉、问候是锚点”这套逻辑,它从一个聊天玩具就变成了一个相当能干的创意协作工具。至少对我那个互动小说项目来说,它省下的对话写作时间是真的。