AI理解绘画吗?我把提示词拆开重排了三十次的发现
我的判断是:AI对绘画的理解,更像条件反射,不是懂画。证据是我做的三十次对照实验——语序随便调,画面几乎不动;核心词删一个,画面塌一半;近义词一换,风格悄悄偏航。想用它,先按它的记性来,别按人的逻辑来。
AI理解绘画吗?这个问题我问过自己很多次,直到上周做了个小实验才有底气回答。固定种子、固定参数,只动提示词的一个变量,跑三十次。结果比想象中干净:它对语序近乎无感,对名词却斤斤计较。说白了,它不是在读句子,是在认词。
实验对象是一句很普通的描述:红色雨伞下的白猫,坐在雨后的人行道上。模型用的还是我常用的那套,种子固定在12345,重绘幅度0.2,保证其他条件全部锁死。动什么、记录什么,都提前列好表。
记录办法很土:每张出图按编号存档,旁边一行小字标注改动点。三十张图、三十行备注,做完回头看,规律自己浮出来了。比凭印象靠谱——记忆会骗人,文件夹不会。
调语序:画面几乎不动
把提示词的成分打乱重排,固定种子下画面的构图和元素几乎没有变化,模型对语序不敏感。它逐个认词再合成画面,而不是像人一样顺着句子读出场景。
我把「红色雨伞下的白猫」重排了十种语序,从「白猫在红色雨伞下」到「雨伞、红色、下面、白猫」这种接近乱码的排法。十次出图,构图差异小到截图放一起像连拍。只有一种极端情况除外——把否定词挪到句尾,「白猫,不是黑猫」,它就真的给你一只黑猫,仿佛后半句没发生过。
这个结果挺颠覆直觉的。人写句子讲逻辑,先主后谓,谁修饰谁都有讲究。模型不吃这套。你按中文语法精心调整的「正确语序」,在它那里基本是白费功夫。时间省下来,去抠词更划算。
顺手还验了英文。同一句话翻成英文再调两次语序,结论一致。所以网上那种「英文提示词必须按某模板排列」的说法,至少在固定种子下没撑住。模板有用的地方在于防漏词,不在于排列本身。
删一个词:塌得比你想象快
删掉一个核心名词,画面元素直接消失;删掉颜色词,默认色系立刻接管,改变幅度远超预期。提示词里每个实词都在工作,虚词才是可省略的部分。
删「红色」,伞还在,变成一把灰伞,整张图的情绪跟着冷下来。删「白色」,猫从白猫变橘猫,这正常。真正让我愣住的是删「雨后」:地面上的积水反光没了,整张图从「氛围片」退化成「证件照」,好感和前一张差着一个档位。
倒是修饰性的词删了无所谓。「慢慢地」「静静地」「悄悄地」这类副词,删前删后我盯着看了半天,没看出区别。这一轮下来我心里有了杆秤:名词和颜色是承重墙,副词是贴纸。
颜色词的替换也顺手试了两组。「红色」换成「绯红」,伞色变得偏紫,整张图往阴郁走了半步;换成「亮红」,伞像刚出厂,连带着猫的毛都蓬松了一些。一个颜色词的语气,能牵动整张图的温度,这是我没料到的杠杆。
换近义词:风格悄悄偏航
近义词替换会带出风格漂移:把「白色」换成「洁白」,出图曝光升高;把「人行道」换成「街道」,构图自动拉远。每个词背后连着一团训练数据,同义不同画。
这轮最有意思。「白色」换成「洁白」,猫变亮了,背景跟着过曝,像是模型把「洁白」和「高调摄影」那批图绑在了一起。「人行道」换成「街道」,镜头自动拉远,猫变小了,多了汽车和店铺——一个词的改动,等于换了个摄影师。
还有一组意外的:「雨伞下」改成「雨伞旁」,猫挪到了伞外,淋着雨。这属于情理之中。但「坐在」改成「蹲在」,猫的姿态对了,伞却歪了,三次里两次伞柄断裂。词与词之间的组合效应,比单独看某个词要复杂得多,改一处,别处会跟着抖。
三轮做完,三十张图摆在一起,我的结论是:它认词、认词的搭配惯性,但不理解「一句话想表达什么」。所谓AI理解绘画,更像是几亿张图的记忆在条件反射。理解它这个记法,比骂它笨有用。
补了一组小测试作收尾:给「红色雨伞」加权重,写成强调语法的版本。这一下它响应了,伞的颜色立刻压过整张图。你看,语法它不懂,权重它门儿清。这大概就是和它沟通的正确姿势——不写漂亮的句子,写分量分明的词。
实验之后我改了自己的写作习惯:写提示词不再打腹稿,改成填清单——主体、颜色、位置、光线、氛围,一格一格填进去。语序顺口就行,副词能删就删。那张伞下白猫的最后版本,就是清单写法出的,一次过。
常见问题
固定种子重跑,画面也会完全一样吗?
本地模型和多数线上工具在完全相同参数下能复现,个别平台服务端有随机因素,会有细微差别。实验前建议先空跑两次,确认复现性再开始动变量,不然数据会被污染。
这个实验对写提示词有什么实际帮助?
最大的帮助是省时间:不纠结语序,把预算花在名词和颜色词上;想换风格时优先换有画面联想的词,而不是加形容词。我现在的提示词比以前短了三分之一,出图反而更稳。
否定词为什么经常不生效?
多数绘画模型对自然语言否定处理很弱,「不是黑猫」里的「黑猫」反而会被当成重点词。想排除元素,应该用专门的负面提示词栏,而不是写在正面描述里。
长提示词比短提示词效果好吗?
不是越长越好。词多到一定程度会互相稀释,重点不突出。我的习惯是控制在能一句话读完的长度,每个词都有明确岗位,多余的全删。