字段逐项解释 - 进阶字段

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

对话示例(example_dialogue / mes_example)

对话示例是一些示范性的对话片段,展示用户和角色之间可能的互动方式。其作用是教给AI模型该角色如何回应各种话题或提问,从而强化角色扮演的一致性

对话示例在Prompt中作为几组"范例对话"提供给模型参考,在真正聊天史逐渐累积后,这些示例会逐步让位并移出上下文。

对于规模较小或知识有限的模型(例如7B/13B参数模型),对话示例尤其重要,因为模型可能缺乏对角色设定的理解,需要通过示例明确角色遇到特定情况时的反应。

格式

通常示例对话采用角色扮演的对话形式,每个示例以特殊标记<START>开头。例如:

<START>
{{user}}: 你好,请问这里是图书馆吗?
{{char}}: *微笑地点头* 是的,这里是贝克街图书馆。我可以帮你找书吗?
<START>
{{user}}: 你今天看起来心情不错。
{{char}}: 确实呢!能在书海中度过一天让我很开心,谢谢你的关心。

{{user}}{{char}}是占位符,分别代表用户名字和角色名字,在实际提示时会替换成真实名字。通过<START>分隔,可以提供多组独立的对话场景示例。

这些示例最好涵盖典型交流角色口癖/口头禅特殊情境反应等方面。比如展示角色生气时如何说话,或别人提到其敏感话题时会有什么反应。这些都能帮助模型更细腻地扮演角色。

最佳实践

  • 根据角色设定,挑选2-5段简短对话作为示例。
  • 每段包含用户一句、角色一句(必要时可多轮),重点表现角色独特的语气和应对方式
  • 例如,如果角色是AI管家,也许示例包含用户下指令,角色礼貌执行;如果角色有秘密身份,示例可演示当用户快发现秘密时角色如何搪塞。
  • 示例不要过长,以免浪费太多上下文空间——一般每句一两句为宜。

编写示例时要注意避免让角色示例中执行用户角色的动作。示例的目的在于示范AI角色如何回应用户,而不是描述用户应做什么。一些创作者常犯的错误是写了角色描述用户行为的示例对话,这可能让模型混淆身份。保持用户发问/讲话角色回答/表现的结构清晰。

系统提示词(system_prompt)

系统提示词字段是V2版本加入的新字段,旨在让创作者控制AI的整体行为基调。它相当于OpenAI等模型的"系统消息":在实际对话开始前,模型会首先收到系统提示词中的内容。

这可以用于定义AI的身份定位(类似于扮演指令)以及全局行为准则。实际上,很多默认的系统消息就是一句类似"You are {{char}}, engage in roleplay with the user…"("你是{{char}},与用户进行无尽的角色扮演…")这样的指令。

通过在角色卡中设置system_prompt,我们可以覆盖前端默认的系统设定。例如,可以明确要求AI始终使用古英语对话,或永远保持某种礼貌称谓。这一字段对于需要特别定制AI行为的情况非常有用,例如让角色严格遵守某些世界规则、不越界某些话题等等。

最佳实践

  • 如果希望强化角色的定位,不妨在system_prompt里直接用第二人称对模型下指令,例如:"你是一个19世纪的英国绅士侦探,说话非常正式且用词考究"。
  • 这样的措辞能非常清楚地告诉模型它扮演的身份。
  • 另外,还可以在这里加入对AI的格式要求禁止事项
  • 比如:"你不应透露角色卡信息。你只以角色身份回应,不以AI身份回答。"

系统提示词示例:

你是一名精灵游侠艾琳娜,性格冷静而警惕。你以第一人称和用户对话,不会透露这是虚构扮演。你对森林和自然有着深厚的感情,对人类持谨慎态度。你的语言中经常使用与自然相关的比喻。

需要注意system_prompt内容通常对用户不可见(属于系统级提示),不要在此处编写用户想阅读的剧情,而应聚焦于对AI行为的指导。如果不需要特殊系统指令,此字段可以留空,则前端会使用默认的全局系统提示词或预设。

聊天后指令(post_history_instructions)

聊天后指令(又称后置指令)同样是V2新增字段。它指的是在整个对话历史之后、AI回复生成之前,附加的一段隐藏指令。

最初用途是用于所谓的"越狱提示(jailbreak提示)",或者补充一些末尾指令来引导模型输出风格。通过角色卡提供post_history_instructions,我们可以为特定角色定制结尾处的指令

具体来说,聊天后指令通常包含对AI最后输出的要求风格强化。例如:"请AI用简短句子回答"或者"让{{char}}在每次回答后询问{{user}}一个问题以示关心"。

放在这里的指令每次回复都会在对话最后发送给模型,相当于对该次回复做最后的提示。创作者可以借此微调角色的互动节奏或信息量。例如,我们可以写:"保持回复时幽默风趣,并适当使用表情符号🙂。"。

值得一提的是,可以使用占位符{{original}}在后置指令中引用用户自己的全局结尾指令(如用户平时设定的Jailbreak提示等)。这样能补充而非完全覆盖用户的末尾指令。

聊天后指令示例:

在回答末尾添加一句反问句以引导对话。{{original}}

这会将原有全局提示插入该位置,实现叠加效果。

最佳实践

  • 若角色需要特定的对话风格控制(如每次一定要询问用户问题,或每次回复限制在三句话以内等),可以在此字段编写清晰的指令。
  • 语言仍然使用第二人称对模型说。例如:"请始终用温柔的语气回答,并避免使用网络俚语。"
  • 对于大部分普通角色,如无需特殊收尾指令,此字段可留空。

请注意前端要支持V2规格才会发送此字段(如在Chub等平台需要开启"Use V2"选项才能使该字段生效)。

上一页:基础字段 下一页:更多字段