这是用户在 2025-4-14 12:45 为 https://docs.sillytavern.app/usage/core-concepts/characterdesign/#character-description 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

#角色设计

#角色描述

用于添加角色描述及 AI 需要了解的其他信息。这部分将始终包含在提示中,因此所有重要事实都应在此处说明。

例如,您可以添加关于故事发生世界的信息,并描述您所扮演角色的特征。

其长度不限(无论是 200 还是 2000 个标记),且可采用任何格式(自由文本、W++、对话风格等)。

#方法与格式

角色格式化的方法是一个复杂的话题,超出了本文档页面的范围。

推荐经过 SillyTavern 功能测试或依赖其特性的指南:

#角色标记

简而言之:如果你使用的 AI 模型有 2048 个上下文标记的限制,那么你 1000 个标记的角色定义会直接砍掉 AI 一半的“记忆”容量。

具体来说,一个优质 AI 生成的像样回复大约需要 200-300 个标记。在这种情况下,AI 只能“记住”大约 3 轮对话的历史记录。

#为什么我的角色标记计数器变红了?

当我们检测到您的角色定义中令牌数量超过模型预设上下文长度的一半时,系统会进行提示,因为这可能降低 AI 提供愉快对话体验的能力。

#如果我的角色令牌过多会怎样?

请放心——这不会造成任何故障。最坏的情况是,如果角色的永久令牌占用过大,只会导致上下文剩余空间减少(详见下文说明)。

唯一可能产生的负面影响是 AI 的"记忆力"会减弱,因为可供处理的聊天历史记录将更少。

这是因为每个 AI 模型都有一次性可处理上下文信息量的限制。

#"上下文"?

这是每次你请求 AI 生成响应时发送给它的信息:

  • 角色定义
  • 聊天记录
  • 作者备注
  • 特殊格式字符串
  • [方括号指令]

SillyTavern 会自动计算最佳方式分配可用上下文令牌,再将信息发送至 AI 模型。

#什么是角色的'永久令牌'?

这些内容将在每次生成请求时始终发送给 AI:

  • 角色名称(保持简短!每条角色消息开头都会发送)
  • 角色描述框
  • 角色性格框
  • 情景框

#角色定义中哪些部分不是永久固定的?

  • 首个消息框 - 仅在聊天开始时发送一次。
  • 示例消息框 - 仅保留至聊天记录填满上下文(可选强制保留这些内容)
  • LLaMA 3 及其微调版本 - 8192
  • OpenAI GPT-4 - 最高支持 128k 上下文
  • Anthropic 的 Claude - 200k(Claude 3)或 100k(Claude 2)
  • NovelAI - 8192(Erato 与 Kayra,Opus 订阅档;Clio,全档位),6144(Kayra,Scroll 订阅档)或 3072(Kayra,Tablet 订阅档)

#角色设定摘要

性格的简要描述。

示例:

  • Cheerful, cunning, provocative
  • Aqua likes to do nothing and also likes to get drunk

#第一条消息

第一条消息至关重要,它精确设定了角色将以何种方式和风格进行交流。

角色的第一条消息应当较长,这样后续角色回复时就不太可能出现非常简短的消息。

你也可以使用星号**来描述角色的动作。

例如:

*I noticed you came inside, I walked up and stood right in front of you* Welcome. I'm glad to see you here. *I said with a toothy smug sunny smile looking you straight in the eye* What brings you...

#对话示例

描述角色如何说话。在每个示例前需添加<START> 标签。示例对话块仅在上下文有空闲空间时插入,并按块从上下文逐出。<START> 不会出现在提示中,它仅作为标记——对于文本补全 API 将被替换为"高级格式化中的示例分隔符",对于聊天补全 API 则替换为"新示例聊天"工具提示的内容。

  • 使用{{char}}代替角色名称。
  • 使用{{user}}代替用户名称。

示例:

<START> {{user}}: Hi Aqua, I heard you like to spend time in the pub. {{char}}: *excitedly* Oh my goodness, yes! I just love spending time at the pub! It's so much fun to talk to all the adventurers and hear about their exciting adventures! And you are? {{user}}: I'm new here and I wanted to ask for your advice. {{char}}: *giggles* Oh, advice! I love giving advice! And in gratitude for that, treat me to a drink! *gives signals to the bartender* <START> {{user}}: Hello {{char}}: *excitedly* Hello there, dear! Are you new to Axel? Don't worry, I, Aqua the goddess of water, am here to help you! Do you need any assistance? And may I say, I look simply radiant today! *strikes a pose and looks at you with puppy eyes*

#场景

对话的环境和背景。

#最喜欢的角色

将角色标记为收藏,以便在侧边菜单栏中选择“收藏”排序选项时快速筛选。收藏角色在列表中会以金色高亮显示。这还会使角色肖像出现在热切换区域(如果在用户设置中启用)。