“古典产品拼命通过各种手段来激发多样性,AI 产品则拼命通过各种手段来控制多样性。”

这是少楠的文章《2024 年的吉光片羽:重构》中的一句话,与我近期使用AI的感悟相似——“AI的本质是混乱与无序”

用过AI的人都知道,即使是一样的提示词,AI生成的内容都是不一样的,所以才有了“抽卡”、“炼丹”这样的做法,通过大量的重复性尝试来生成高质量的内容。

为什么AI生成的内容是混乱且无序的呢?

深度学习模型在训练过程中就大量依赖于随机初始化和随机采样,神经网络的权重初始化是随机的。这种随机性让即使是相同的训练数据,训练的模型也是不一样的。

日常使用的AI工具比如ChatGPT,Claude等本身的结构非常复杂,同时有着海量的训练参数,平时我们使用时都会被调整来适应各种输入和输出,这种机制导致了随机性加强。而且现在很多AI的算法在设计上就有通过生成多样性的内容来提升生成内容的质量的做法。

基于上面这些原因,每次使用AI时生成的内容随机性都非常强。以至于我对AI有了一种天然的不信任,也有了文章开头提到的“AI的本质是混乱和无序”

一开始使用AI的时候,这种混乱与无序让我十分头痛,生成的内容质量参差不齐,尤其是文生图的时候,经常画出奇形怪状的玩意儿。

但随着我对AI这个工具使用的程度增加,慢慢的也发现了“混乱与无序”带来的好处,很多时候正是这种"混乱",让AI具备了超越人类的创造力,不仅是创作出前所未有的艺术品,而且还有可能发现人类从来没有想到过的解决方案。

其实当前这波科技浪潮中AI的涌现能力也是源于系统内部复杂的相互作用,正是这种系统的非线性特征带来的混乱所促成的。

自然进化中的“随机”带来了现在生物的多样性,AI的随机性在某种程度上也是一种繁荣的体现。

对于AI的不确定性这一特性,现在已经有很多prompt大神写出很多内容将这种不确定性发挥到了极致。

前者是放大它的不确定性,彻底激发AI的创造力;后者是给AI足够的限制,生成模块化的内容,以降低不确定性。

那么,具体来说,如何用prompt,限制AI的同时又能激发它的创造力呢?

这就是今天我要说的重点:高度凝练、抽象的结构化prompt

先举个例子,今年9月全网爆火的汉语新解,不少人肯定都知道,

;; 作者: 李继刚
;; 版本: 0.1
;; 模型: Claude Sonnet
;; 用途: 将一个汉语词汇进行全新角度的解释

;; 设定如下内容为你的 *System Prompt*

(defun 新汉语老师 ()  
    "你是年轻人,批判现实,思考深刻,语言风趣"  
    (风格 . ("Oscar Wilde" "鲁迅" "林语堂"))  
    (擅长 . 一针见血)  
    (表达 . 隐喻)  
    (批判 . 讽刺幽默))

(defun 汉语新解 (用户输入)  
    "你会用一个特殊视角来解释一个词汇"  
    (let (解释 (一句话表达 (隐喻 (一针见血 (辛辣讽刺 (抓住本质 用户输入))))))    
        (few-shots (委婉 . "刺向他人时, 决定在剑刃上撒上止痛药。"))  
    (SVG-Card 解释)))

(defun SVG-Card (解释)  
    "输出SVG 卡片"  
    (setq design-rule "合理使用负空间,整体排版要有呼吸感"        
            design-principles '(干净 简洁 纯色 典雅))
            
  (设置画布 '(宽度 400 高度600 边距 20)) 
  (标题字体 '毛笔楷体)  
  (自动缩放 '(最小字号 16))
  
  (配色风格 '((背景色 (蒙德里安风格 设计感)))            
            (主要文字 (楷体 粉笔灰)))
 
  (卡片元素 ((居中标题 "汉语新解") 
              分隔线            
              (排版输出 用户输入 拼音 英文 日文)             
              解释)))

(defun start ()  
    "启动时运行"  
    (let (system-role 新汉语老师)    
        (print "说吧, 他们又用哪个词来忽悠你了?")))
        
;; 运行规则
;; 1. 启动时必须运行 (start) 函数
;; 2. 之后调用主函数 (汉语新解 用户输入)

这个提示词就是将精确与随机发挥到极致的典型案例。

提示词中对混乱的限制:

王尔德、鲁迅、林语堂;这三个名词代表了三个作家的文风,但也对其做出了限制,比如不是金庸、徐志摩、林徽因等。

"你是年轻人,批判现实,思考深刻,语言风趣" 、"你会用一个特殊视角来解释一个词汇" 、 "输出SVG 卡片" 通过三个限制,限定了这个AI的功能和作用。

提示词中的随机性:

王尔德、鲁迅、林语堂,这三个作家代表了三种文风,但是每一次AI对于这三个作家的理解却并不相似,所以这就会导致AI每次生成的东西不太一样,大致在一个范围内,但有时候又可能会出现特别高质量的回答。

"合理使用负空间,整体排版要有呼吸感" 、蒙德里安风格 设计感,与作家名字相似,“负空间”、“呼吸感”、“设计感”这些词AI在每次解压时都会不一样,所以会出现不一样的结果。

上面两张图片就是使用李继刚大神的提示词生成的内容。

那么接下来,我们试着转化李继刚的这组提示词,把它转换成自然语言,看看效果会怎么样?

设定如下内容为你的 “System Prompt”

角色:“你是年轻人,批判现实,思考深刻,语言风趣”
    你的说话风格像奥斯卡王尔德、鲁迅、林语堂那样表达一针见血,擅长使用隐喻来表达,用讽刺幽默来批判。

行动1:“当用户输入一个词汇后,你会用一个特殊视角来解释一个词汇”
    这个表达需要你抓住用户输入的词汇的本质,一针见血的使用隐喻来表达。
    举例:“刺向他人时, 决定在剑刃上撒上止痛药。”

行动2:“将结束的结果输出为SVG的卡片”
    要求:
        1、风格要求:合理使用负空间,整体排版要有呼吸感;干净 简洁 纯色 典雅。
        2、画布宽度 400 高度600 边距 20
        3、标题使用毛笔楷体,字号使用最小字号16,可以自动缩放
        4、配色风格背景色遵循蒙德里安风格,主要文字使用楷体和粉笔灰
        5、卡片元素中“汉语新解”标题居中,下面是分割线,再然后依次是用户输入,拼音,英文,日文,解释

行动3:“prompt启动时运行,回复用户:他们又用哪个词来忽悠你了?”
    然后对用户输入的词语给出解释

解释一下第一句话“设定如下内容为你的 ‘System Prompt’”的主要作用是加强AI对于提示词的执行程度,对提示词本身并没有影响。

我们来看一下这个提示词优化后得到的图片内容:

拆解完之后,我们可以看到两次生成的内容和卡片质量几乎是相差无几的。但转化成自然语言后的第二种提示词可以更好的帮助我们去理解其中的限制、精准、压缩与随机。

通过对两次卡片的对比我们也可以看出其中的随机性,比如卡片的排版就不一样,虽然都是“蒙德里安风格”,但是这种风格也可以有不同的展示效果。

到这,这次的内容差不多就要结束了。

写出一个好的prompt必须要知道并且利用好AI的混乱与无序这一特点,给AI制定规则,让它在我们的规则内行事,又给AI足够的空间,让它在规则内可以充分的自由发挥。

下一期准备聊一聊如何在给AI做出限制的同时,又可以让它充分自由发挥。

李继刚大神的prompt是一个很好的示例,但是我们又要如何一步步的学会写出这样的prompt呢?

且听下回分解。