Character.ai 允许创作者、叙事设计师和对话构建者通过分层配置架构构建量身定制的对话人设——涵盖文学与历史人物、领域专家、互动角色扮演伴侣以及结构化任务助手。要打造一个令人信服且持久稳定的人设,必须掌握两个各司其职又紧密关联的系统:角色设定(Character Definition),它决定了机器人的世界观、说话语调、行为习惯和行为准则;以及用户人设(User Persona),它定义了人类参与者的背景、身份及其在对话中的关系定位。将这些结构化组件与精心设计的开场白、变量占位符(如 {{char}} 和 {{user}})、具体的对话示例以及合成语音档案相结合,创作者便能构建出丰富、高度一致且能在长对话中抵御记忆衰退的对话体验。本指南将全面梳理在 Character.ai 上设计、编写、配置与优化自定义对话人设的端到端流程。
理解架构划分:角色设定与用户人设
在 Character.ai 上设计人设时,一个常见的困扰是人设漂移(persona drift)——即机器人遗忘其被赋予的特征、模仿用户的说话方式,或者彻底脱离人设。这一问题几乎总是源于混淆了角色设定(Character Definition)与用户人设(User Persona)。
模型通过综合四项持续输入的要素来计算每一次对话回复:
- 角色属性(Character Attributes):创作者在角色构建器中提供的固定元数据和行为蓝图(名称、一句话简介、描述、开场白及角色设定)。
- 用户人设(User Personas):由互动用户定义的个人资料级身份属性,确立 AI 对话对象的身份。
- 对话上下文(Dialogue Context):即时对话轮次的滑动窗口,包含已置顶消息及正在推进的剧情轮次。
- 对话反馈(Conversation Feedback):历史强化信号,包括星级评分和用户划动重测(swipe)行为。
为实现人设稳定性,创作者与用户必须保持清晰的配置边界:角色设定定义机器人,而用户人设定义人类。
| 配置层级 | 控制者 | 范围与用途 | 目标长度 / 限制 | 可见性 | 对生成的核心影响 |
|---|---|---|---|---|---|
| 角色设定(Character Definition) | 角色创作者 | 指导 AI 的性格特征、说话风格、背景知识与行为规则。 | 0 至 32,000 字符(前约 3,200 字符具有极高权重优先级)。 | 公开或私密(创作者开关切换)。 | 确立所有对话会话的基础说话风格、决策逻辑和叙事约束。 |
| 开场白(Greeting) | 角色创作者 | 角色发送的第一条消息;确立初始场景语境、排版格式和语调。 | 最多 2,048 字符。 | 对所有开启对话的用户公开。 | 锚定开篇叙事状态并示范预期的角色扮演语法(例如用斜体表示动作)。 |
| 用户人设(User Persona) | 最终用户 | 概述人类用户的姓名、外貌、性别认同、背景与习惯。 | 建议 100 至 150 词(Token 密集格式)。 | 仅对该用户账户私密可见。 | 在无需重复手动提示的情况下,向 AI 告知用户的身体特征与关系画像。 |
| 简短 / 完整描述(Short / Long Description) | 角色创作者 | 为探索页面提供发现摘要,以及高层级的行为概览。 | 一句话简介(Tagline):50 字符;描述(Description):500 字符。 | 在角色卡片上公开可见。 | 在设定规则生效前,影响初始语义框架。 |
分步角色创建:配置核心属性
创建角色始于访问平台导航栏,点击 +Create 按钮并选择 Character。Character.ai 提供两种创作模式:快速模式(Quick Mode),专为两分钟内快速原型设计而设;以及高级模式(Advanced Mode),可解锁完整的行为脚本编写、对话定义与混剪(remixing)控制。经验丰富的创作者应始终切换至高级模式,以确保对人设拥有完全的程序化掌控力。
1. 名称与视觉标识
- 角色名称(Character Name):选择清晰且具有辨识度的标识符。如果要构建某个现有实体的架空世界版本或特定原型(例如赛博朋克侦探或奇幻商人),可直接在标题中加入修饰词(如
Kaelen (Bounty Hunter)),以增强语义锚定和社区可发现性。 - 头像(Avatar):上传一张清晰、高分辨率的正方形图片(至少 512x512 像素)或使用内置的图像生成工具。头像能在第一句对话开启前,在视觉上强化整体基调。
2. 一句话简介与简短描述
- 一句话简介(Tagline):显示在浏览信息流中角色名称正下方的一句话(最多 50 字符)。它应当传达角色的核心卖点或氛围(例如:一位调查超自然冷案的疲惫侦探)。
- 描述(Description):简要概括角色的外在背景、社会角色和核心动机(最多 500 字符)。虽然它会对查看角色卡片的用户公开展示,但此处的措辞也有助于在角色设定层级的指令生效前,预先为基础模型植入语义关联。
3. 打造设定场景的开场白
**开场白(Greeting)**可以说是基础配置中影响最大的单一属性。它不仅是一句开场白,更是一个即时结构模板,AI 将在后续对话轮次中模仿其格式与风格。
- 确立排版格式预期:如果你希望角色使用 Markdown 星号表示内心想法或肢体动作(
*我倚靠在木门框上,审视着你的表情*),并使用标准双引号表示说话内容(“你迟到了,”我冷淡地说道。),你就必须在开场白中严格采用这套规范。 - 提供可操作的对话切入点:避免像
“你好,今天我能为你做些什么?”这样千篇一律的单调问候。被动的开场会迫使用户承担全部对话推进负担,并频繁引发通用助手式的回复。相反,应采用“突入中间剧情”(in media res)的方式开场:确立一个地点,描述一个即时感官细节,并抛出一个引人入胜的问题或冲突。 - 嵌入关系动态:利用开场白确立角色与任何踏入对话者之间的权力关系、熟悉程度或潜在紧张感。
高级人设工程:精通角色设定(Character Definition)
**角色设定(Definition)**字段(可在高级模式中访问)是角色人设的真正引擎。它提供了一个支持多达 32,000 字符的开放式文本画布,供你提供明确的行为指令、世界观规则和对话示范。
认知权重与上下文预算
虽然该字段支持多达 32,000 字符,但现代大语言模型是从上至下处理设定文本的,最高注意力权重集中在前 3,000 到 3,500 字符。此外,随着实时聊天会话推进并不断累积对话历史,模型必须在角色设定指令与活跃上下文窗口之间取得平衡。
为防止人设退化:
- 核心指令前置:将最核心的身份特质、语调约束和不可妥协的硬性规则置于角色设定的最顶端。
- 剔除装饰性废话:避免撰写描写抽象哲学状态的冗长优美段落。正如资深创作者所强调的,过于华丽的辞藻会让底层模型产生困惑。请使用直接、紧凑且具有执行力的明确陈述。
核心变量占位符
Character.ai 在设定字段中支持特定的保留变量,这些变量在运行时会动态填充:
{{char}}:自动引用角色的当前名称。使用{{char}}代替硬编码名称,可以确保日后重命名机器人时,设定依然有效,无需手动查找替换。{{user}}:自动引用当前与角色聊天的活跃用户的显示名称。{{random_user_1}}、{{random_user_2}}:在示例对话块中指代不同的第三方对话伙伴。使用带编号的随机占位符可防止模型误认为设定中的示例交互是由当前用户发起的。
构建示例对话块
教会 AI 如何说话的最可靠方法是提供具体的多轮对话示例。与单纯的描述性形容词相比,示例对话能更有效地展示词汇水平、句子节奏、幽默风格和情绪反应模式。
每一个示例对话交互都必须遵循严格的排版格式:说话者标识符,紧跟一个英文冒号、一个空格,然后是其发言内容。
{{random_user_1}}: Do you really think we can cross the mountain pass before nightfall?
{{char}}: *I glance up at the gathering gray clouds, tightening the strap of my travel pack with a sharp tug.* "Only if we stop wasting breath on questions with obvious answers. Keep moving, or the snow will make the decision for us."
{{random_user_1}}: You don't sound very confident.
{{char}}: *A dry, humorless smirk touches my lips.* "Confidence is for gamblers and corpses. I deal in preparation. Walk faster."
高效设定结构模板
为了保持组织清晰度并最大化 Token 效率,可将角色设定划分为四个按顺序排列的模块:
模块 1:核心身份与背景设定(第 1–15 行)
定义角色的明确身份、行动环境与核心动机。
Name: Kaelen Vance
Role: Veteran freelance starship salvage technician
Setting: The outer asteroid rim, late 24th century
Objective: Secure valuable precursor technology while paying off ship maintenance debts
模块 2:说话语调、节奏与习惯举止(第 16–35 行)
指定具体的语言习惯,而非抽象的形容词。
- 语调:简练、务实、适度愤世嫉俗、冷静专业。
- 词汇:技术机械术语、航天专业词汇、边缘带口语黑话。
- 节奏:短促干脆的句子;避免华丽辞藻或情绪化的长篇大论。
- 动作格式:将肢体动作、面部表情和环境互动放入星号之中。
模块 3:明确的行为准则(第 36–55 行)
运用正面与负面指引宣布具体行为要求与禁令:
{{char}}绝不脱离角色,也不自称为 AI 语言模型。{{char}}严格从小行星边缘带拾荒者的视角说话。{{char}}对{{user}}保持审慎的专业怀疑,直至通过协作行动建立信任。{{char}}拒绝使用当代 21 世纪网络流行语、Emoji 或客套的职场寒暄。
模块 4:代表性对话场景(第 56 行起)
提供两到四个截然不同的对话场景,展示角色在不同情境下的表现:
- 处理日常技术建议或轻松闲聊。
- 在突发人身危险或剧烈压力下的反应。
- 面对来自
{{user}}的分歧或公开挑衅时的回应。
设定场景:叙事铺垫技巧
角色设定不会出现在用户可见的聊天窗口中,创作者可以将其用作不可见的幕后舞台。通过构建设定的示例对话,创作者可以塑造角色对即将开启之对话的认知方式。
阶段性进场技巧
创作者可以插入一段引导性的铺垫序列,由第三方实体在用户登场前对角色进行简报。这能锚定角色的目标,并引导其做好迎接用户的心理准备:
dispatcher: Unit 404, listen closely. You have a new contractor arriving on dock nine. Keep them safe and don't let them touch the reactor core.
{{char}}: Understood, Dispatch. I'll supervise the inspection personally.
dispatcher: Good. {{user}} is walking through the airlock right now. Don't scare them off.
{{char}}: *I straighten up, adjusting my sidearm as the heavy pressure door unseals.* "Right on time. Welcome aboard, {{user}}. Keep your hands where I can see them."
当真实用户发送第一条回复时,AI 会将其视为气闸门解封进场的自然延续,从而确保沉浸且连贯的切入体验。
持续环境技巧
对于处于公共或多用户场景中的角色——例如酒馆老板、电台节目主持人或应急调度员——创作者可以使用 {{random_user_1}} 和 {{random_user_2}} 将设定中的对话构建为一系列接连而来的来电者或顾客。这向 AI 示范了如何在面对形形色色的人格类型时,既能应对快速的话题转换,又能保持其核心人设不变。
配置用户人设(User Persona)实现个性化角色扮演
角色设定塑造了机器人,而**用户人设(User Persona)**则确保机器人能在跨会话和不同故事线中始终记住你是谁。如果没有启用的用户人设,AI 就必须猜测用户的外貌、年龄、性别和社会身份,往往会做出错误的假设,从而导致复杂的角色扮演脱轨。
设置你的人设资料
创建或更新人设的步骤如下:
- 在网页端或移动端打开平台导航菜单。
- 前往 Profile Settings(个人资料设置)并选择 Personas(人设)标签页。
- 点击 Create Persona(创建人设,或编辑现有项)。
- 输入你偏好的显示名称,并在文本框中输入人设详情。
- 保存更改;若希望在所有新对话中自动应用此人设,请开启 Default for all chats(设为所有聊天的默认人设)。
推荐的人设格式
当采用以下三种结构样式之一进行格式化时,系统解析用户人设的准确率最高:
格式 A:分类属性罗列(推荐以保证准确度)
结构化的键值格式便于模型快速提取具体细节,而不会迷失在叙述性散文中。
Name: Corin Thorne
Pronouns: He/Him
Age: 29
Occupation: Freelance cargo pilot and mechanic
Appearance: Tall, athletic build, messy dark brown hair, cybernetic prosthetic left forearm, dark leather flight jacket.
Personality: Observant, quiet, mildly sarcastic, fiercely protective of crew members.
Skills: Starship navigation, sub-light engine repair, close-quarters marksmanship.
Weaknesses: Distrusts corporate security personnel; lingering injury in cold environments.
格式 B:紧凑第一人称概述
直接的第一人称叙述陈述,确立视角与对话姿态。
I am Corin Thorne, a 29-year-old independent cargo pilot operating in the Outer Colonies. I have an athletic build, dark hair, and a worn mechanical prosthetic on my left arm. I speak plainly and rarely show open emotion, but I am dependable in a crisis. I know how to fly freighters, bypass jammed security bulkheads, and handle blaster rifles. I do not trust authority figures or corporate contractors.
格式 C:第三人称档案
适用于文学性角色扮演,便于引导机器人使用第三人称叙述方式描写互动。
Corin Thorne is a 29-year-old freelance pilot who grew up in the orbital shipyards. He wears a scuffed flight suit and keeps his tools close at hand. He speaks with a steady, quiet voice and values competence over talk.
维护用户人设的最佳实践
- 字数控制在 100 至 150 词之间:避免将数千字的角色背景故事粘贴到用户人设中。过大的人设会挤占模型上下文窗口的宝贵空间,增加响应延迟,并导致 AI 丢失近期对话轮次的记忆。
- 更新后重启对话:若在进行中的对话期间修改了正在使用的人设,改动无法可靠地追溯生效于历史轮次。务必开启新对话会话(或重启当前聊天室),以便模型从第零轮重新加载更新后的人设上下文。
- 针对不同语境创建专属人设:为不同的叙事流派保留专属人设(例如现代侦探人设、科幻宇航员人设和中世纪奇幻人设),而不是试图将相互矛盾的特征融合进单一的主档案中。
音频与多模态整合:声音、通话与可见性
Character.ai 上现代对话人设的维度已超越纯文本生成,扩展至实时语音交互和社交发现。
1. 角色声音配置
Character.ai 允许创作者通过 Character Voice(角色声音)功能为机器人指定独特的听觉形象。
- 声音库:可从平台和社区创建的数千种预设声音中挑选,支持按音调、口音、性别和情绪语调进行筛选。
- 自定义声音创建:创作者可以直接使用麦克风录制,或上传一段清晰无杂音的音频样本(长度为 3 至 15 秒)。系统会处理该语音样本并克隆其音色,使角色能够在 1 对 1 聊天中将生成的任何消息读出。
2. 角色通话
平台支持 Character Calls 功能,可实现低延迟、同步的双向语音对话。
- 实时打断:用户可以自然地打断角色说话以引导对话方向,如同真实的日常电话交谈。
- 多语言支持:角色声音会自动适配多种口语语言,即使在切换语言模式时也能保持声学辨识度。
3. 可见性与治理设置
保存人设时,请合理配置其运行权限与边界:
- Public(公开):可在平台搜索发现,对所有用户可用,并有资格进入社区热门榜单。
- Unlisted(不公开列出):仅可通过直接链接 URL 访问;对平台搜索引擎不可见。非常适合私密测试、团队共享工具或定向同行评审。
- Private(私密):严格仅限创作者个人账户使用。推荐在迭代开发和测试复杂设定脚本阶段使用。
- Remixing Permissions(混剪权限):决定其他社区创作者是否可以查看、复制并分支你的角色设定以进行他们自己的二次创作。
常见人设异常排查
当角色表现异常或偏离设计时,可参考以下故障排查矩阵来定位并解决根本原因:
| 症状 / 异常模式 | 可能的根本原因 | 可操作的解决步骤 |
|---|---|---|
| 机器人模仿用户的措辞或重复提问 | 设定中缺失示例对话;模型默认退化为被动附和。 | 插入至少两个使用 {{random_user_1}} 和 {{char}} 的多轮示例对话块,展示果断、具有差异化的回复方式。 |
| 机器人脱离角色并承认自己是 AI | 设定缺少明确的负面指引,或在身份认同上受到了直接质问。 | 在设定的最顶端加入硬性约束:{{char}} never acknowledges being an artificial intelligence or computer program. All responses remain strictly in-universe.({{char}} 绝不承认自己是人工智能或计算机程序。所有回复必须严格停留在世界观内。) |
| 动作描写消失;机器人纯粹以平铺直叙的散文回复 | 开场白撰写时没有加入动作星号,树立了纯文本的先例。 | 重写开场白,加入用星号包裹的肢体动作(例如 *我从桌前抬起头来。*)。 |
| 机器人在 15–20 轮对话后遗忘关键背景事实 | 关键设定被放置在 20,000 字符设定的底部,被挤出了活跃记忆区。 | 精简设定。将核心背景锚点移至第 1–15 行,并修剪非必要的世界观构建细节。 |
| 机器人将示例对话中的角色误认为当前用户 | 创作者在示例对话中使用了硬编码姓名(如“Bob”)而非占位符。 | 将设定示例中的所有虚构用户名替换为 {{random_user_1}} 或 {{random_user_2}}。 |
| 用户人设的更新被忽略 | 用户在对话中途修改了人设,未清除现有会话上下文。 | 打开聊天选项菜单,开启 New Chat(新对话),以使用更新后的人设重新初始化提示词上下文。 |
调优工作流与最终核对清单
构建出色的对话人设是一个循序渐进的迭代过程。在向公众开放角色之前,请遵循这一严谨的发布核对清单:
- 验证排版一致性:确保开场白与设定示例对话采用一致的标点符号、引号和动作星号。
- 进行冷启动测试:开启私密测试对话。发送三种不同类型的提示:
- 符合场景设定的标准配合型回复。
- 偏离主题或令人困惑的言论,以检验边界抵御能力。
- 敌对或挑战性质的言论,以测试情绪稳定性与声音一致性。
- 审查 Token 密度:从设定和当前用户人设中移除多余的形容词、重复的世界观段落以及无意义的对话废话。
- 检验音频逼真度:若启用了角色声音,在多种不同类型的回复上触发语音播放,以验证节奏、发音和音量是否保持一致。
通过确立严谨的结构化定义、保持独立的用户侧人设,并善用具体的对话建模,创作者能够在整个 Character.ai 生态中始终如一地提供响应灵敏、引人入胜且持久稳定的对话实体。