字段逐项解释 - 扩展字段

了解角色卡扩展字段的作用、填写方法和最佳实践

备用开场白(alternate_greetings)

备用开场白字段允许为角色提供多条不同的首句对话。当用户开始新的聊天时,可以"刷"出不同的开场白,让互动不至于每次千篇一律。

例如,可以写3种风格各异的开场白:热情的、自闭的、搞怪的,让用户选择喜欢的方式切入剧情。

备用开场白通常以数组形式存储多条字符串。各前端实现有所不同:在SillyTavern等界面中,开启聊天时可以点"换一个开场白"来切换这些预设。

在编写alternate_greetings时,需要用<START>标记区分每条开场白内容(这一要求与示例对话类似,用于识别分段)。每条备用开场白的写法和普通开场白相同,只是不止一条而已。

备用开场白示例:

<START>
*月光洒在空地,一道纤细身影自树冠跃下...* "这么晚了,你在这森林里做什么?这里不欢迎人类。"
<START>
*忽然,你感觉到树影中有一道视线。一个清冷的声音响起:* "站住。报上名来!不要妄动,否则箭不长眼。"

最佳实践

  • 充分利用备用开场白来展示角色不同行为侧面
  • 例如,一个复杂角色可能在不同情况下有不同初始反应:第一次见面很高冷,另一次见面也许是热情打招呼。
  • 你可以写两条反差的开场,让用户决定选哪种开局。
  • 注意保证每条开场白都符合角色人设自洽,不要一条把角色写崩了(比如一条温柔一条暴躁,除非刻画的就是多重人格)。

如果没有特别需要,多余的备用开场白也非必需,可以只提供一个默认开场白。

角色书 / 世界观设定(character_book)

角色书(Character Book)类似于一个随角色卡走的小型设定集或记事本。它可以看作角色专属的lorebook:包含更多详尽的背景、世界观信息、人物关系等辅助性资料

这个字段主要为高级创作者准备,用于补充主描述中未详述的内容,同时又希望AI在适当情况下知道。这些信息通常不直接出现在基础Prompt中,而由前端在对话进行时根据需要插入(例如根据关键词触发等)。

在V2规范中,character_book是一整个可选字段,可以包含多条"记忆条目"。而在V3中,对角色书进行了增强,引入了"装饰器"语法,让作者可以指定某条信息在对话进行到第几轮时出现、或在特定条件下激活。

这使得角色书功能更加强大,比如可以设定:"当对话发生在森林时,激活精灵王国的背景介绍"。

最佳实践

  • 如果你的角色设定很复杂,善用角色书来存放次要信息
  • 例如世界观设定、大段的故事背景、历史事件年表、其他相关人物简介等,都可以写在角色书中,而不占用主要的描述字段。
  • 要确保每条信息相对独立,并配有触发条件或关键词(如果前端支持的话)。

对于不支持高级角色书的前端,它可能会简单将角色书内容附加在Prompt后。因此仍需注意字数和相关性,不要堆砌无用信息。

初学者如果暂时用不到,可以忽略此字段。中级用户可以尝试将角色书当作一个手动管理的记忆库:随着剧情推进,手动添加/修改其中的内容,以协助AI记忆长期情节。但这需要前端支持"动态编辑角色书"或"世界信息"的功能。

创作者备注(creator_notes)

创作者备注是写给角色卡使用者看的说明或提醒,而非给AI模型看的提示。这部分内容不会注入到对话Prompt中,不影响AI的行为。

通常在一些分享平台上,创作者会在备注里写下角色的版权信息、创作灵感、使用建议或警告(例如"此角色有暴力倾向,慎用")。用户在导入角色卡或查看角色详情时可以阅读这些备注。

最佳实践

  • 如果你打算分享角色卡给他人,推荐写一些创作者备注。
  • 内容可以包括:角色来源(如原著/原型简介)、使用建议(如"适合长对话""需搭配某某扩展使用")、版本更新记录等等。
  • 这些信息应避免出现会剧透剧情或影响用户体验的内容,主要起提示作用即可。

创作者备注示例:

角色原型来自自创奇幻世界"银月森林"。艾琳娜Version1.0 by 用户名。适合喜欢奇幻冒险的用户,建议搭配森林背景图使用效果更佳。

创作者备注支持多语言书写(V3规范中可以分别提供不同语言的备注文本),如果面向国际用户分享,可考虑附上英文说明。

标签、创作者名、版本等元数据

角色卡还可以包含一些元数据字段,例如标签(tags)创作者(creator)角色卡版本号(character_version)来源(source)创建日期(creation_date)修改日期(modification_date)

这些字段不用于对话生成,而是方便整理和展示。

主要元数据字段

  • 标签(tags): 一组关键词标签,描述角色的类型、特点,用于搜索或分类角色。比如标签可以是["奇幻","精灵","战士"]等。
  • 创作者(creator): 你的名字或ID,用于标识角色卡作者。
  • 角色版本(character_version): 角色卡本身的版本号。例如"1.0""2.1"等,当你对角色卡做了重大修改时可以更新此值。
  • 来源(source): 角色卡发布或获取的来源链接。如填入分享网站的URL或作品原型链接等。
  • 创建/修改日期: 时间戳或日期字符串,记录角色卡创建和最近一次修改时间。

这些字段大多是可选的。如果你仅个人使用,可不特别填写;但若公开分享,完善这些信息有助于他人了解角色卡背景。特别是标签字段,可以在角色分享站点(如Chub.ai)上让其他人更容易搜索到你的角色。

扩展字段(extensions)

扩展字段是一个留给前端或用户自定义数据的通用容器。格式上通常是一个空的JSON对象{}

如果某些应用需要在角色卡里存储特定于自己的信息(而这些信息不在官方规范内),可以放入extensions里,以避免破坏标准字段。普通用户在编写角色卡时一般不会用到这个字段,除非你明确知道某个前端/插件使用它。

举例来说,如果你有一个插件想在角色卡里保存角色的某些统计数据或特殊配置,就可以写入extensions。

请注意不要随意往角色卡里加未定义的新字段,否则别的前端读取时会无法识别甚至拒绝加载。正确做法是利用extensions存放,这样即使其他应用不认识其中内容也会安全忽略。

上一页:进阶字段 下一页:角色卡编写技巧