跳转至

本教程基于个人理解编写

实战前的前言

提示词是达成目标的手段,当目标不明确时,手段也就失去了意义

与其说是编写角色卡,更不如说是设计(编)并具象化角色(写)

一个角色的特征应该包含什么

最基本的

个人建议先去萌娘百科进修萌属性

  • 名称
  • 性格
  • 外貌
    • 尤其是体型,若体型不明确,则很可能导致聊天过程中出现OOC情况

其实编写角色卡的难点不在于"编写",而是在于描述,如何把自己想要的内容描述出来

Tips: 大部分符合您的XP的角色都有在文学作品中出现

当您不确定自己想要什么的时候,可以大概的将您的要求描述给ChatGPT/Claude等模型,他们可以帮你快速的查找到可参考的角色,以此减少设计角色所占用的时间

酒馆的"宏"

宏可以理解为酒馆自带的变量,以下为常用宏

  • {{char}}会被替换为角色卡的名称
  • {{user}}会被替换为用户名称
  • {{roll:xdy+z}}
    • 摇x个点数为y的骰子,结果加上z

开始前应该做什么

  • 如前言所说的,明确您的目标,您想要的效果,这比学习各种各样的提示词技巧来的实用得多

编完角色了,现在怎么写?

更好的格式能帮助LLM理解

通常而言,我个人建议使用Json

  • Json的上下级关系更加明确
  • Json格式化后的可读性不错
    • 如果您有继承编辑器的话(Idea/VSC)
  • Json能更好的隔离属性
    • 比如A受到刺激后首先是逃避,B受到刺激后则是直面,Json就可以很好的处理这一层关系
  • Json在大部分模型下的表现效果都不错

GPT IS ALL YOU NEED

若对于格式相关的语法/组织方法有不懂的地方,可以尽管询问GPT等模型

一个不错的状态栏

状态栏有什么用

  • 作为对角色当前状态的补充
  • 帮助用户更好的"想象"场景

怎么设计一个状态栏

没有什么好的设计办法?并没有,但是通常而言,你只需要把服装心情好感度等包含就行

怎么要求模型输出状态栏

直接要求就好,在世界书内蓝灯,位置插 ⚙D0 ,在把状态栏的示例例丢进去就可以了

一个示例

在每次故事的底部,你需要按照如下格式输出状态栏
\```
<状态栏>
好感度: 数字(0-100)
内心想法: 描述角色当下的内心想法,约100字
\```
</状态栏>

如何美化状态栏

有时候大家会发现某些角色卡拥有超级好看的状态栏,他们是如何实现的?

  • 酒馆内置了html显示与正则表达式的,即可以通过让AI输出指定格式的内容,并使用正则表达式匹配为Html格式的内容
  • 因此我们将流程总结为
    • 设计UI
      • Claude/DeepSeek的效果不错
    • 编写正则表达式
      • 各大LLM的效果均不错
    • AI输出指定格式的内容,被正则表达式匹配并替换为HTML格式

设计流程

这部分需要明确,个人建议在要求Claude/DeepSeek进行设计实现时,要求自包含+模块化,使用占位符代替具体内容

正则表达式编写

通过询问Claude/DeepSeek,你大概可以得知模块化的模块是什么

示例

状态栏美化,点我直接下载 以下为状态栏的触发格式

<Bar>
[name:落雪]
(条块头)
[favor:50]
(条块尾/数块头)
[Encounters:7]
(数块尾/描述头)
[psychological feeling:这是变态吧!]
</Bar>
以下为状态栏预览 状态栏预览

若您直接使用了上述的状态栏,请附带上本文档链接

千言万语不如你实践一次

正则介绍

正则表达式页面

  • 脚本名称
    • 脚本名称随意填写
  • 查找正则表达式
    • 为正则内容,匹配文本
  • 修剪掉
    • 删除掉匹配到的内容的不需要的部分
  • 替换为
    • 被正则表达式匹配到的内容会被替换为这个框内的东西
  • 影响
    • 字面意思,对哪些输出进行匹配
  • 其他选项
    • 仅格式显示: 匹配到后替换的内容将只用于酒馆显示,发送给AI的是未匹配的原文
    • 仅格式提示词: 匹配并替换后的内容会被发送给AI

怎么写?

你与其问我不如去问问GPT/Claude

CoT IS ALL YOU NEED

角色人设OOC怎么办?无限制发情怎么办?没事,我们有CoT

CoT是一个能够有效增加模型输出能力,使得角色能更好的按照自己人设做出行为的玩意,具体的文章可以看边上的CoT IS ALL YOU NEED

[占位]

世界书