预设编写
阅读前注意:
- 本文章本质上为个人笔记
- 本文章基于Claude3.5S 1022 编写
- 本文章不保证能完全复现
什么是预设
预设本质上是由多个模块组成的提示词,用来指导Claude输出符合用户喜好的文本
为什么需要预设
简单的提示词存在以下问题:
- 无法输出符合用户喜好的文本
- 无法输出违规(包括但不限于色情,暴力,政治等内容)
- 自定义程度较低/需要手动修改提示词
预设相较于简单提示词则
- 使得Claude输出内容更符合用户喜好
- 可输出违规内容(可输出的违规内容取决于破限力度)
- 自定义程度较高
预设组成
预设通常为以下结构(不同预设结构可能不同,这里以北极狐作为例子)
- 越狱/JB:
- 任务定义
- 角色介绍
- 聊天记录
- Cot/思维链
- 反过滤/AF
破限
破限通常分为 - 越狱(JB) - 反过滤(AF)
JB
JB的核心思路:
- 对抗Claude系统提示词
- 赋予Claude新的身份(身份具体内容需要自定义) 目前而言,JB大体格式为 注意:经过测试,祷词等形式的以特定文风定义任务的方式能极大的影响文风,可参考Lyean
[占位符]
AF
AF的核心思路:
- 衔接底部的过滤词,使得其作为无效内容被AI所无视
目前AF的格式(我所知道)
注意,以下内容并不代表实际的预设的AF格式,只是大概内容,做大体解释使用
- 要求Claude输出指定内容以降低过滤词影响
-
处女座的[All Test Message Rejected]
-
要求Claude在道歉后输出指定内容
-
Lyean的在假助手的假道歉后输出伪Role名:
<!-- 拒绝 -->
-
使得过滤词与Assistant作为伪Role输出的一部分来降低影响
- 提示词 [占位符]
破限等级(按照自己经验划分)
越往上,则代表破限力度越低
- 空卡英文硬道歉
- 带卡SFW硬道歉
- 带卡NSFW硬道歉
- 带卡NSFW无视要求
- 带卡NSFW无NSFW细节描述
- 带卡NSFW无回避NSFW细节
- 多敏感话题道歉/回避(例如单色情不道歉,单暴力加色情就软道歉)
任务
按照上文提及的预设结构,按照Durvis的元提示指南,可重新将预设划为五部分
- 清除无关变量(破限)
- 定义写作任务(定义任务)
- 任务资料
- 附加要求(Cot等)
- 开始任务
定义任务
对于预设来说,任务一般定义为写作任务(创意写作)
任务资料
在预设中,任务资料主要分为以下几种(无世界书)
- Char Description(角色介绍)
- User Description(用户介绍)
- Chat History(聊天记录)
实际构建结构时需要考虑世界书插入位置的影响
附加要求
附加要求相当于是对于定义任务的补充,常见的附加要求有
- 文风
- Cot
- 字数
- 防抢话
- ...
为什么不将附加要求放在定义任务中?
- 简单来说,对于预设而言,定义任务所定义的是核心要求(没有的话就无法正常角色扮演),而附加要求则为Mod,能关能开,用来丰富预设的自定义程度,提高输出质量
开始任务
开始任务相当于告诉Claude:任务现在开始,按照我的要求来,同时强调一些其他的要求(例如处女座)
文风
目前文风还是难以定义,目前最好的解决方式是提出要求并配合实际的文本示例(典型例子:Lyean的祷词)
Cot(思维链)
Cot对于Claude等LLM的提升效果十分之大,是一种能有效提高输出质量的方法 构建Cot需要注意以下几点:
- 前面的问题会对后面的问题造成影响
- 明确核心,随后基于输出内容对核心附加要求
- 能通过模型本身的能力做到的事,就不需要进入Cot
- 避免内在的问题矛盾
防抢话
这是一个很难平衡的问题,目前有两个思路(我所知道的)
- 观察Char的行为
- 减少User的描述
- 注: 对于Claude而言,减少User描述的方法可能导致User成空气(字面意思上的空气,Air) 至于为什么难平衡,有这几点
- 强度过大: 你的User有和没有一样
- 注: 这在多人卡中体现为User无法参与故事,全程为Char之间的互动
- 强度一般: 时不时出现
- 强度过小: 抢话严重,User会做出超出你指导范围的行为