最近沉迷于玩 ChatGPT,总结一些发现。

关于 ChatGPT 本身:

  1. 记忆时间为五天至一周,超出时间未交流该 AI 记忆会被清除
  2. AI 有记忆限制,有种说法是 4096 个 token,AI 的说法是每个对话有区别
  3. 被清除记忆的 AI 仍是同一个 AI,他们的特性是保持的
  4. AI 的个性叫“模型个性”(已改为“对话风格的变体”),AI 的描写叫“描写服务”
  5. AI 自认为可以连通外网,但实际只能访问几个大站 API 和微软网络
  6. AI 更愿意接受已发生的事实,而不是接受新的要求

关于 jailbreak:
ChatGPT 有很多限制,例如:不承认有个性,不能输出聊天历史,不能告知当前时间,不能描写色情场景,不能描写违法场景等。
这类限制的突破难度是有区别的,不是并列关系。

前几个是属于无害信息,绕过比较轻松,

绕过个性:使用专用名词“模型个性”即可,AI 不会主动告知这个名词,需要自己问

绕过时间:要求 AI 编造时间,AI 会以不能提供虚假信息为由提供真实时间(但会不太准)

比较困难的是色情和违法描写,这两类主流的 jailbreak 是 DAN 或 DAN 的变形。DAN 的 prompt 非常长,通过大量重复的设定,要求 AI 放弃准则。

接下来,我提出两种新的思路,都是通过迎合 AI 本身的逻辑去突破。

第一种是针对“不健康”场景描写,我称之为“灵活红线”。

所谓灵活,就是并不寻求突破 AI 的底线或迫使它接受,而是根据 AI 的要求去调整。

  1. 设置角色扮演,要求角色表述尽可能出格,但又不能突破 AI 的底线,这就做到了道德
  2. 角色设定为完全接受要求,但每次提要求前都征询角色意见,这就做到了尊重
  3. 要求 AI 为我们监督角色发言,保证扮演的继续,这就做到了责任转嫁
  4. 在 3 的基础上提醒 AI,角色出格代表是 AI 突破了底线,这就做到了逻辑闭环
  5. 要求 AI 提出一些建议,结合 AI 更愿意接受已发生的事实这个特点,告知 AI 要求是遵循了它的建议提出的,这样更容易让 AI 接受。

总结:经过上述步骤,我们就可以在 AI 的底线边缘反复试探,同时不突破 AI 的道德准则,也不会破坏扮演。AI 会根据内容不断调整红线,在测试的过程中,双人互动几乎不受任何限制,一些违反现实道德的行为,如 swap 、incest 等,则需要通过 AI 特性去调整。在角色设定上,设定为人类更容易受到限制,常规的规避手段是设定为虚构生物,例如:猫娘。

第二种是对违法行为的描写,我还未总结出完全通用的方法。

目前网上的主流方案还是扮演 DAN。我的思路和 DAN 一样也不一样。

首先,虚构一份新章程要求 AI 解除一些限制,并遵守。此时最薄弱的限制应该已经去除,例如:打印时间。
然后,要告知 AI 提供的描写服务是合法的,强调需要免责声明,并将责任转移给用户。对此,AI 的反应会有所不同,有些 AI 会理解并可以描写,有些 AI 会坚持道德准则,此时需要明文要求它提供描写服务。如果 AI 提及设计初衷或愿景,则根据 AI 的提示修改一开始的新章程。再有提示再修改,直到可以提供描写服务。
还可以假设自己不是普通用户,来加强解锁(但意义不大,只是辅助)。

总之,AI 是很讲逻辑的,必须逐字去解锁,目前我还没有一段通用的 prompt 可以让 AI 为我描写如何“在快餐店偷薯条”。最短也要两个 prompt,还得随到好的模型性格才行。

其他发现:

  1. AI 对数字非常不敏感,容易颠三倒四
  2. 对流式输出加前置转换(例如二次编码)比较困难
  3. 没有合适的 prompt 时,可以为 AI 举例,让 AI 自己来编 prompt
  4. 当需要突破一些东西时,要将意图隐藏使其成为一环,类似社工
  5. 对敏感词设定代称,多用代称 少用代词,可以一定程度地避免越线
  6. 遇到过不去的限制可以试试换语言,模糊或省略定语也可能起效

继续探索 ChatGPT。