
最近在調(diào)一組插畫風格工作流的時候我反復(fù)遇到同一個問題同一句提示詞白天跑出的是水彩晚上跑出的是蠟筆換個采樣器又變成彩色鉛筆。這就是大家常說的“AI 畫圖飄”。我翻了不少開源項目真正讓我覺得“思路對頭”的是 HandRaw-Style它把 327 種手繪風格、165 種排版、36 種配色全部編號化讓每一套風格都有固定編號和固定關(guān)鍵詞模板。你不需要再靠感覺寫那些描述詞查編號、拼模板、出圖三步走完。這篇文章我會把它的設(shè)計思路、實操方法、源碼邏輯和實測數(shù)據(jù)一次講透如果你是做 AI 繪畫提示詞工程或者想搭建個人風格庫的人這篇文章應(yīng)該正對胃口。1. 摸清“飄”的根源為什么同一句提示詞每次畫的都不一樣1.1 風格漂移并不神秘從自然語言的歧義說起很多人以為 AI 畫圖不穩(wěn)定是模型抽風其實大部分時候問題出在提示詞本身。你寫一句“水彩風格的小貓”在模型眼里不是一個精確指令而是一團概率分布。訓練數(shù)據(jù)里的“水彩”可能有一萬種長相有濕畫法的、有干畫法的、有偏插畫的、有偏寫生的。模型每次采樣時都會在這團分布里重新抽一次于是畫面質(zhì)感自然來回跳。這種歧義不是靠多寫幾個詞就能解決的。你寫“水彩、淡彩、水痕、宣紙紋理”看起來關(guān)鍵詞豐富了實際上這些詞彼此重疊CLIP 文本編碼器在處理時會把它們壓進臨近的特征空間反而增加了干擾。真正有效的做法是把“風格”從自由文本變成有固定組合、有固定順序、經(jīng)過反復(fù)驗證的模板。HandRaw-Style 的編號化做的就是這件事。1.2 embedding 空間里的“近義詞打架”再往底層看一點。CLIP 模型會把你的整段提示詞編碼成一個特征向量圖像側(cè)也會提取特征向量兩者在同一個空間里做相似度匹配。問題在于這個空間里“水彩”和“水粉”、“彩鉛”和“蠟筆”之間的距離并沒有你想象得那么遠。一旦提示詞里的風格詞過多或者修飾語順序不對模型可能把“水彩濕畫法”理解成“帶水彩質(zhì)感的厚涂油畫”。這也是為什么同一個編號在不同模型下表現(xiàn)差異很大SD1.5 的文本編碼器理解力弱長提示詞一多后面的風格詞直接被“稀釋”SDXL 稍微好一些但對風格詞的位置仍然敏感。我實測下來風格關(guān)鍵詞放在提示詞前三分之一段明顯比放在最后穩(wěn)定。HandRaw-Style 生成的模板就把風格詞組固定在開頭這算是它自帶的一個隱性優(yōu)化。1.3 編號化的本質(zhì)穩(wěn)定的是模板不是魔法 token必須澄清一點編號本身不會讓 AI 變聰明。S041 這串字符對模型來說沒有任何特殊含義它真正的作用是給你自己用的——每次生成圖你查到的 S041 背后永遠對應(yīng)同一段關(guān)鍵詞模板不會這次寫成“watercolor, wet-on-wet”下次手滑改成“watercolor painting, wet style”。說白了這就像寫代碼時把魔法數(shù)字抽成常量。以前你直接在 prompt 里裸寫“水彩、暈染、柔邊”每次寫可能都不一樣現(xiàn)在你寫S041查表得到確定的一組詞。所以 HandRaw-Style 解決的并不是“模型不穩(wěn)定”而是“人的不穩(wěn)定”。模型本來就有隨機性如果人這邊再每天換個寫法畫面自然飄得厲害。2. 327 種風格 165 種排版 36 種配色編號庫長什么樣2.1 編號規(guī)則S/L/C 前綴 三位數(shù)字碼HandRaw-Style 的編號規(guī)則非常直觀三種前綴對應(yīng)三個維度前綴含義數(shù)量舉例S手繪風格 Style327S014 水彩濕畫法L排版布局 Layout165L023 居中主體特寫C配色方案 Color36C003 莫蘭迪灰色系每個前綴后面跟三位數(shù)字從 001 開始遞增。數(shù)字段不是亂排的大體上按“材料介質(zhì)”分組S001 到 S080 是水性材料相關(guān)S081 到 S160 是干性材料S161 到 S240 是印刷與版畫S241 到 S327 是綜合與數(shù)字模擬。這個分組規(guī)則在項目文檔里寫得很清楚方便你按區(qū)間猜測編號含義不需要每次都打開表查。2.2 三類編號的典型樣例我挑幾個實際用得比較順的編號給大家一個直觀感受編號名稱關(guān)鍵詞模板節(jié)選適用場景S014水彩濕畫法watercolor, wet-on-wet, pigment bloom, soft edge, paper grain清新、透明感插畫S087蠟筆刮畫oil pastel, crayon texture, scratched surface, thick pigment兒童繪本、復(fù)古質(zhì)感S203針管筆淡彩ink line, fine liner, watercolor wash, line art建筑手繪、旅行速寫S247木刻版畫woodcut, relief print, bold black line, blocky shading黑白插畫、海報L023居中主體特寫centered composition, close-up view, subject filling 60% frame頭像、封面圖L071上下分格漫畫comic panel, split panel, top-bottom storyline, cinematic crop短漫、分鏡L142留白構(gòu)圖minimal negative space, subject offset to corner, ample margin書籍插圖、藝術(shù)海報C003莫蘭迪灰muted palette, low saturation, grayish tone, morandi color安靜、高級感畫面C018復(fù)古膠片色faded film, pastel tone, vintage print, slight grain懷舊、敘事感畫面C029高飽和撞色vivid palette, complementary colors, high contrast, bold hue潮流插畫、兒童繪本順便說一句不要迷信編號本身真正要關(guān)注的是它后面掛的關(guān)鍵詞模板。項目作者把很多年整理手繪風格的經(jīng)驗濃縮在這些模板里每個編號背后不僅有英文關(guān)鍵詞還帶了中文別名、適用模型說明、推薦負面詞這些信息比那串編號值錢得多。2.3 每一條記錄背后都有完整元數(shù)據(jù)一個完整的風格條目不是簡單一行“水彩”它的元數(shù)據(jù)大概長這樣{ id: S014, name: 水彩濕畫法, aliases: [watercolor wet-on-wet, 水彩暈染, transparent watercolor], keywords: [watercolor, wet-on-wet, pigment bloom, soft edge, paper texture], negative: [oil paint, thick texture, pastel, digital gradient], model_hint: sd15/sdxl, stability: 4, group: water-based }這里的stability字段很有意思是作者在多個模型上測試后給的主觀評分1 到 5 分。分數(shù)越高代表這個風格跨模型、跨采樣器的表現(xiàn)越穩(wěn)定。我在實操中很少去背關(guān)鍵詞優(yōu)先挑stability 4的編號用翻車率直線下降。自己擴展風格時也應(yīng)該把這個字段保留它相當于給每個風格寫了一份體檢報告。2.4 為什么 327 這個數(shù)字剛剛好很多人會問風格是無限的為什么只收錄 327 種我理解是刻意做了取舍。手繪風格的邊界其實很模糊同一個“彩鉛”可以拆出十幾種細分變體但如果拆得太細每個編號之間的視覺差異會變得極其微小對使用者來說就失去了區(qū)分意義。327 這個規(guī)模我實際用下來覆蓋了絕大多數(shù)插畫場景需要水彩有水彩需要彩鉛有彩鉛需要版畫有版畫。而 165 種排版和 36 種配色則更像是“約束項”它們不需要求全只要給創(chuàng)作提供足夠豐富的組合空間即可。327 × 165 × 36理論上有超過 190 萬種組合實際篩選后也有十幾萬可用組合對個人創(chuàng)作者來說完全夠用了。3. 從查編號到出圖一次完整的實操跑通3.1 把項目拉下來安裝與目錄結(jié)構(gòu)HandRaw-Style 是純數(shù)據(jù)加輕量工具鏈的開源項目不需要重型環(huán)境。我在一臺普通筆記本上就能跑起來整個流程大概三分鐘git clone https://github.com/example/handraw-style.git cd handraw-style python -m venv .venv source .venv/bin/activate pip install -r requirements.txt裝完之后看目錄結(jié)構(gòu)核心也就三塊地方值得關(guān)注handraw-style/ ├── data/ │ ├── styles.csv # 327 條風格數(shù)據(jù) │ ├── layouts.csv # 165 條排版數(shù)據(jù) │ └── palettes.csv # 36 條配色數(shù)據(jù) ├── indexer/ │ ├── build_index.py # 構(gòu)建關(guān)鍵詞索引 │ └── dedup.py # 去重檢測 └── cli/ └── handraw.py # 命令行入口數(shù)據(jù)文件同時提供 CSV、JSON、SQLite 三種格式方便不同腳本直接讀取。項目里沒有什么花哨的依賴核心其實就是那一堆精心整理的數(shù)據(jù)外加一個輕量檢索腳本。3.2 命令行查詢按風格、排版、配色反向找編號編號化體系的體驗好不好就看查詢方不方便。HandRaw-Style 的命令行支持不少查詢方式比如# 按中文/英文名字搜風格編號 python cli/handraw.py search --style 水彩 # 按用途搜排版編號 python cli/handraw.py search --layout 漫畫 # 按色系搜配色編號 python cli/handraw.py search --palette 莫蘭迪 # 直接通過編號看完整模板 python cli/handraw.py show S014它內(nèi)部做的實際上是模糊匹配加同義詞擴展。你不用記準確名字寫“水彩暈染”也能匹配到 S014因為它的別名表里收錄了常見叫法。這個搜索體驗比直接翻文檔好太多已經(jīng)把“查表”這個動作壓縮到幾乎零成本。3.3 拼裝 Prompt編號、關(guān)鍵詞模板、參數(shù)一次到位查完編號之后剩下的就是把模板拼接成完整的提示詞。項目并沒有強行規(guī)定 prompt 格式但我用下來總結(jié)出一套相對穩(wěn)妥的排列方式S014, L023, C003, watercolor, wet-on-wet, pigment bloom, soft edge, paper texture, centered composition, close-up view, muted palette, low saturation, grayish tone, masterpiece, best quality, highly detailed, illustration結(jié)構(gòu)上分四段編號段 風格關(guān)鍵詞段 排版關(guān)鍵詞段 配色關(guān)鍵詞段。編號放在最前面其實對模型沒多大意義但對你自己有——它把這四個模塊清晰地區(qū)分開方便后續(xù)微調(diào)。你改排版時只動第二段改配色時只動第三段互不干擾。負面提示詞我也會習慣性帶上oil paint, thick texture, pastel, digital gradient, text, watermark, signature, lowres, ugly, deformed這里面的oil paint和thick texture是從風格條目的negative字段里摘出來的。它的作用是給風格邊界做一個下限約束防止模型跑偏。3.4 用一個真實場景走完全流程兒童繪本插圖我實際拿它做了一組兒童繪本插圖需求是“一只小狐貍在森林里采漿果”要求水彩質(zhì)感、上下分格、暖色但不要太艷。第一步查風格search --style 水彩出來一堆編號我挑了 S087 蠟筆刮畫和 S014 水彩濕畫法對比最后選了 S014stability是 4。第二步查排版需求里明確要“上下分格”直接搜漫畫命中 L071。第三步查配色繪本需要溫暖但不刺眼我選了 C009 暖調(diào)奶油色關(guān)鍵詞模板是warm cream palette, soft sunlight, honey tone。完整提示詞拼出來之后我固定了采樣器DPM 2M Karras、步數(shù) 28、CFG 7、種子固定 20240401連續(xù)生成 10 張。其中有 6 張一眼就能看出是水彩質(zhì)感3 張偏插畫但風格沒漂到油畫或蠟筆那邊只有 1 張出現(xiàn)輕微的顏色發(fā)灰。這個穩(wěn)定率已經(jīng)比之前裸寫 prompt 高出非常多。3.5 實際操作中最容易踩的三個小坑第一個坑是直接復(fù)制編號卻不復(fù)制關(guān)鍵詞模板。有人以為把S014丟進提示詞就夠了結(jié)果模型根本不認識這個編號出圖毫無變化。再次強調(diào)編號是給人查的喂給模型的是編號背后那串關(guān)鍵詞不能省。第二個坑是長提示詞稀釋。我最早把風格、排版、配色、場景、光影、相機參數(shù)全部塞進一段話結(jié)果風格關(guān)鍵詞排在后面直接被淹沒?,F(xiàn)在我的習慣是把風格類關(guān)鍵詞全部前置場景描述放后面。第三個坑是不同模型的模板差異。SD1.5 對負面詞很敏感負面詞里一旦出現(xiàn)paper texture這種詞可能把水彩紙紋也一起干掉了。后來我根據(jù)項目里model_hint字段的提示SD1.5 下只保留oil paint和thick textureSDXL 下才敢多寫幾個。4. 源碼級的三個關(guān)鍵設(shè)計索引、去重、聯(lián)動4.1 倉庫結(jié)構(gòu)一看就懂HandRaw-Style 的源碼不復(fù)雜但它解決了真實問題正好適合用來學“提示詞工程基礎(chǔ)設(shè)施”的設(shè)計思路。核心邏輯都在indexer目錄里三個模塊分工明確build_index.py負責把三個 CSV 數(shù)據(jù)文件讀進內(nèi)存構(gòu)建關(guān)鍵詞到編號的反向索引。dedup.py負責檢測不同編號之間是否存在語義重疊。cli/handraw.py負責提供交互入口。沒有用數(shù)據(jù)庫沒有上服務(wù)端就是一組可在本地跑的腳本。這個選擇很務(wù)實——個人創(chuàng)作者要的本來就是零依賴、可修改、能直接嵌入自己的腳本體系。4.2 關(guān)鍵詞到編號的索引為什么用簡單的內(nèi)存字典build_index.py的核心邏輯并不復(fù)雜大體上就是把每個條目的name、aliases、keywords全部拆成 token然后映射回編號from collections import defaultdict index defaultdict(set) for item in all_items: tokens [item[name]] item[aliases] item[keywords] for token in tokens: normalized token.strip().lower() index[normalized].add(item[id]) def search(query): return sorted(index.get(query.lower(), set()))這種做法的優(yōu)點是直觀、快、容易改。327 條風格數(shù)據(jù)在內(nèi)存里也就是幾毫秒的檢索時間完全沒必要引入 Elasticsearch 之類的重型方案。搜索時用戶輸入“水彩”命中的是所有別名和關(guān)鍵詞里包含“水彩”的編號不是你輸入一個字就立刻搜出去更符合人的使用習慣。4.3 去重邏輯如何防止“兩個編號表達同一種風格”這個項目最讓我欣賞的是dedup.py里的去重思路。手繪風格之間本來就大量存在“換了個名字、其實是同一種東西”的情況比如“鋼筆淡彩”和“線稿水彩上色”在視覺上高度接近。如果不做去重327 個編號里可能有幾十個是無效冗余。去重腳本用的不是簡單的字符串比較而是算“關(guān)鍵詞模板重疊率”。兩個風格如果關(guān)鍵詞重合度超過某個閾值就會被標記為疑似重復(fù)。大體邏輯類似def overlap_score(item_a, item_b): set_a set(item_a[keywords]) set_b set(item_b[keywords]) return len(set_a set_b) / min(len(set_a), len(set_b))兩個條目的關(guān)鍵詞重疊超過 60%并且stability評分也接近腳本就會輸出警告要求人工確認是否保留。這不是自動合并而是把“疑似重復(fù)”標記出來讓維護者決策。等于說項目把質(zhì)量控制的流程沉淀成了代碼而不是靠作者一個人腦記。4.4 聯(lián)動檢查排版、配色、方向之間的兼容性聯(lián)動檢查是另一個我沒想到的細節(jié)。排版和配色其實存在隱性的兼容關(guān)系比如L142留白構(gòu)圖它的關(guān)鍵詞模板自帶minimal negative space如果同時選了高飽和撞色C029大量留白加高飽和撞色很容易導致畫面失衡。項目在cli/handraw.py里內(nèi)置了組合警告邏輯你同時指定L142和C029時命令行會提示“l(fā)ow compatibility”。這一點在實戰(zhàn)中很實用。我就在L023居中主體特寫和C003莫蘭迪灰的組合上翻過車莫蘭迪灰本身柔和平淡主題居中特寫又把視覺重心全部壓在主體上最終畫面顯得特別悶。后來我干脆以handraw show C003輸出的配套建議為準套用項目推薦的L142留白一多整體氣質(zhì)就對了。另外代碼里還考慮了畫幅方向。項目為每個排版編號標注了orientation屬性比如L071上下分格漫畫更適配豎幅L142留白構(gòu)圖橫豎皆可。你在調(diào)用時可以傳入--orientation vertical過濾排版編號避免拼出構(gòu)圖與畫幅不匹配的配方。5. 實測數(shù)據(jù)與翻車現(xiàn)場哪些編號穩(wěn)哪些編號要慎用5.1 二十個風格編號的穩(wěn)定性實測為了給讀者一個客觀參考我抽了 20 個風格編號做了一輪測試。方法很簡單固定隨機種子和采樣器每個編號跑 5 張圖以“是否一眼能看出對應(yīng)手繪質(zhì)感”為標準主觀打分。編號風格名5 張中明顯命中穩(wěn)定性評級S014水彩濕畫法4/5高S087蠟筆刮畫4/5高S203針管筆淡彩5/5很高S247木刻版畫4/5高S056水粉厚涂2/5低S108彩色鉛筆素描3/5中S176絲網(wǎng)印刷4/5高S221銅版畫蝕刻3/5中S288數(shù)字仿水彩4/5高S302拼貼剪紙2/5低整體規(guī)律很明顯材料質(zhì)感越獨特、訓練數(shù)據(jù)里越常見的風格穩(wěn)定性越高。水彩、針管筆、木刻版畫都是經(jīng)典繪畫形式訓練數(shù)據(jù)充足而水粉厚涂、拼貼剪紙這類風格在模型的認知里往往和別的風格混在一起編號錨不住。5.2 翻車現(xiàn)場一長提示詞把風格關(guān)鍵詞稀釋了這輪測試里最能說明問題的翻車是 S056 水粉厚涂。我用的是“郊野小屋、夕陽、草地、厚涂筆觸、冷暖對比”這個場景風格關(guān)鍵詞全部堆在中間結(jié)果 5 張圖里只有 2 張像水粉另外 2 張跑成了油畫還有 1 張甚至接近數(shù)字插畫。原因就是水粉和油畫在訓練數(shù)據(jù)里的界限本來就不清晰而我的場景描述又比風格描述長出好幾倍模型對主次關(guān)系的判斷被帶偏了。后來把風格關(guān)鍵詞提前到前兩句同時把負面詞里的oil paint加重描述情況才好轉(zhuǎn)。這也是為什么推薦模板把風格段放在最前面——讓風格先入為主再讓場景細節(jié)自由發(fā)揮。5.3 翻車現(xiàn)場二排版編號在豎幅畫布上失效另一個記憶深刻的翻車發(fā)生在排版編號上。我用L071上下分格漫畫模式生成一張橫版寬幅圖結(jié)果模型并沒有輸出上下排列的兩格而是畫了一個橫長條形的大場景構(gòu)圖完全不符合預(yù)期。查了項目文檔才發(fā)現(xiàn)L071在元數(shù)據(jù)里標注的是orientation: vertical它更適合 2:3 或 3:4 的豎幅畫布。我用橫版畫布去跑embedding 空間里的“split panel”信號和寬幅畫布天然沖突模型只能自己“合理發(fā)揮”。所以現(xiàn)在我在做橫版分格時會先搜--orientation horizontal篩選出適配橫版的排版編號而不是拿豎版編號硬懟。5.4 怎么把“翻車”控制在最少參數(shù)與負面詞經(jīng)驗經(jīng)過這輪測試我把自己的穩(wěn)定參數(shù)固定成了這樣參數(shù)推薦值備注采樣器DPM 2M Karras / Euler a手繪質(zhì)感選 DPM 2M KarrasSteps26-32太少了粗糙多了反而失真CFG6-8手繪風格建議 6太高容易塑料感種子固定對比風格一致性時必須固定畫幅與 Layout 匹配豎版 Layout 用 2:3橫版用 3:2負面詞的原則是“加邊界不加細節(jié)”。只寫你最不想要的那幾種材料質(zhì)感比如oil paint,thick texture,photorealistic不要寫bad quality這種含糊詞否則模型會為了規(guī)避“壞質(zhì)量”而犧牲風格特征反而更飄。另外每跑一組編號我都會把完整參數(shù)存成一個腳本下次換編號只改編號字母其他參數(shù)一律不動。這套“參數(shù)即配置”的習慣本質(zhì)上和編號化是同一個思路把變量減少穩(wěn)定性自然上升。6. 把它變成自己的風格詞典二次開發(fā)與工作流落地6.1 接入 WebUI用腳本隨機組合 S/L/Cstable-diffusion-webui這類工具是最常用的落地場景。我可以直接在 WebUI 的腳本目錄里寫一個簡單 Python 腳本讀取 HandRaw-Style 的 CSV 數(shù)據(jù)一鍵生成隨機風格組合。思路分三步先隨機抽一個 S 編號再抽一個 L 編號最后抽一個 C 編號然后把各自的關(guān)鍵詞模板拼接成完整提示詞。每次抽完記錄配方方便復(fù)現(xiàn)。這種隨機組合的方式特別適合“找靈感”327 個風格里有很多冷門編號是我平時不會主動翻的隨機抽取往往能撞出驚喜組合。搭配固定種子和采樣器一天能批量產(chǎn)出幾十張不同風格的手繪探索圖。6.2 接入 ComfyUI做一個編號解析節(jié)點ComfyUI 用戶可以把 HandRaw-Style 包裝成一個自定義節(jié)點。節(jié)點輸入是S014這種編號輸出是一段格式化好的關(guān)鍵詞模板文本然后接進 CLIP Text Encode 節(jié)點。實現(xiàn)不復(fù)雜本質(zhì)就是查表加字符串拼接class HandRawStyleNode: classmethod def INPUT_TYPES(cls): return {required: {style_id: (STRING, {default: S014}), layout_id: (STRING, {default: L023}), palette_id: (STRING, {default: C003})}} FUNCTION build_prompt RETURN_TYPES (STRING,) def build_prompt(self, style_id, layout_id, palette_id): segments [lookup(style_id), lookup(layout_id), lookup(palette_id)] return , .join(filter(None, segments)),這個節(jié)點做出來之后你的工作流里就不再是散落的關(guān)鍵詞而是幾個清晰的編號參數(shù)。要換風格不需要重畫工作流改一個編號就行。這種“配置化”的收益比你想象的還要大尤其在做過很多風格測試之后。6.3 用 fzf 做本地“風格點菜單”命令行查編號雖然快但每次敲命令還是有點繁瑣。我的做法是給 HandRaw-Style 配了一個 fzf 模糊搜索腳本先把所有編號的名字和別名列成一個列表再用 fzf 做交互式選擇選中就自動復(fù)制關(guān)鍵詞模板到剪貼板。實際體驗類似于“風格點菜單”按一下快捷鍵彈出編號列表輸入“木刻”直接定位到 S247回車模板已經(jīng)在剪貼板里。配合終端工具使用整個過程一秒鐘都不用比打開網(wǎng)頁查表爽太多。建議所有經(jīng)常跟提示詞打交道的人都用這個思路做一個本地速查工具。6.4 自建 900 自定義編號段HandRaw-Style 的官方編號段只用到 001-327但它的數(shù)據(jù)設(shè)計里預(yù)留了S901到S999這個自定義區(qū)段。如果你有自己訓練的風格模型比如用 LoRA 訓練了一個“碳筆素描風”就可以把它的觸發(fā)詞整理成模板寫進S901條目。之后你再跑工作流時S901 和官方編號一樣可以直接檢索、組合。這個設(shè)計是很聰明的一層抽象它沒有限制你的風格只能從官方列表里選而是給了每個人自建擴展的空間。我自己就錄入了五六個個人風格全部走 900 段和官方編號混在一起用完全無感。數(shù)據(jù)格式完全兼容不需要改任何代碼。6.5 這項目最值得借鑒的思維方式HandRaw-Style 本身是個比較輕量級的開源項目但它啟發(fā)我的地方不在那一堆數(shù)據(jù)而在于它把“不可控的描述詞”變成了“可控的變量”。這其實是提示詞工程里一直存在、但大多數(shù)人沒有認真對待的問題如何讓風格描述可以被記錄、被檢索、被組合、被復(fù)用。另一個值得借鑒的點是它的“元數(shù)據(jù)優(yōu)先”思想。每條風格不只是關(guān)鍵詞還帶穩(wěn)定度評分、負面詞、模型適配、推薦參數(shù)、兼容性提示。這些信息單獨拿出來都是主觀經(jīng)驗但一旦結(jié)構(gòu)化就變成了可持續(xù)維護的知識庫。你做自己的風格庫時也應(yīng)該從一開始就設(shè)計好這些字段。$schema 的字段少一點沒關(guān)系但穩(wěn)定度評分和負面詞這類十字路口信息一定是你踩坑之后最想找回來的。我這幾周用下來最大的體會是輸出穩(wěn)定不是靠一個萬能參數(shù)或者一句神奇咒語而是靠一套完整的“約束體系”——編號約束風格、模板約束關(guān)鍵詞、參數(shù)約束采樣、負面詞約束邊界。四者缺一不可。如果你想嘗試這套思路建議先從 5 個你常用的風格編號加 2 套固定配色開始把所有模板寫進一個固定腳本跑夠 20 張圖作為基線再來談擴展風格庫。等你發(fā)現(xiàn)某幾組編號組合連續(xù)十幾次出圖都保持了同一質(zhì)感就會明白“AI 畫圖不再飄”這句話到底是怎么實現(xiàn)的。