Style Extraction · 運作邏輯

一組圖,怎麼變成驗證過的風格

丟一組參考圖給 /style-extract,它怎麼把「風格」抽成可重用的 profile——而且證明它生得出來。這頁拆解它的 input、harness、output。
抽一個風格不難,難的是證明真的抽到了/style-extract 的特別之處在這:一個總指揮(orchestrator)親眼把風格讀成規格,接著生圖測試,再交給獨立的驗證 subagent 對著原圖逐面向打分——不是「看起來像」就算數,是分數證明能重現才算數。一句話:抽取靠整體的眼,驗證靠獨立的眼。
先解釋一個詞:harness(工法)。指這個 skill 不是「一個 AI 從頭做到尾」,而是一個總指揮(orchestrator)調度幾個各自獨立的分身(subagent)、中間設「停下來給人拍板」的關卡(gate)。像出菜口的廚房:主廚分派、各站位廚師各做各的(味道不互串)、出餐前主廚把關。下面整條流程就是這套工法。

整條流程

金色=「停下來給人決定」的關卡;左邊那條迴路=沒過就改了重來。
你餵給它什麼 參考圖 + 用途 + 名字 + 硬限制(GATE 0) orchestrator(總指揮)親眼讀圖 一次把各面向寫成草稿規格 — 不拆 subagent(造形再拆 construction+register) 組 profile 規格 + 挑 3 張錨點 + 提示詞片段 + negative 🚦 GATE 1 · 規格確認(人) ↓ 生圖(nanobanana,錨點定錨) 測試圖 · 物件 簡單·先打底 測試圖 · 場景 多元素 測試圖 · 概念 一段文章角度 驗證 subagent 5 軸打 0–5 獨立 · 不偏私 驗證 subagent 5 軸打 0–5 獨立 · 不偏私 驗證 subagent 5 軸打 0–5 獨立 · 不偏私 並行 · 各開獨立 context · 對著參考圖打分 重現性報告 每面向幾分 · 哪裡飄掉 · 穩不穩 🚦 GATE 2 · 夠像了嗎?(人) 夠像 ↓ 不夠像:改提示詞/換錨點 → 重生重驗 存進 ~/style-lab/ style.md + anchors/ + validation/(跨專案共用) 抽取靠整體的眼(orchestrator 一次讀完)· 驗證靠獨立的眼(subagent 不偏私) 看起來像 ≠ 真的重現 — 要分數證明能重現,才算過 錨點圖 > 文字 — 純文字釘不住風格,錨點圖才鎖得住

① 輸入:你要餵它的四樣

skill 開工前用 AskUserQuestion 一次問齊(這就是 GATE 0)。
要給的說明
一組參考圖5–15 張同調的圖最好。插畫、照片、社群圖、截圖、mood board 都能抽。
給什麼用插畫/照片/社群視覺——影響怎麼下提示詞、怎麼驗。
profile 名字之後別的專案就用這名字呼叫它(例:bold-popmono-ink)。
硬限制有沒有「一定要保留」的元素,或絕不要出現的東西。

② 為什麼特別:抽取靠整體的眼,驗證靠獨立的眼

這是整個 harness 的核心判斷——subagent 只用在「需要獨立」的地方,不是每件事。

很多人會直覺把「每個面向派一個 subagent 去分析」。我們刻意這樣。風格是整體的:配色、線條、質感是一起作用的,拆成六個分身各看一塊,反而把它看碎、又慢又貴。所以抽取由 orchestrator 親眼一次讀完。

驗證不一樣——它需要一雙不偏私的眼睛。寫 profile 的人(orchestrator)會對自己的作品「看起來覺得對」,容易給人情分。換一個沒參與寫 profile 的 subagent,純粹對著參考圖打分,才抓得到作者眼睛漏掉的飄移。所以驗證才拆 subagent,甚至可以多個獨立投票。

抽取(分析)驗證(打分)
誰做orchestrator 一次做每張測試圖一個獨立 subagent
為什麼這樣切風格是整體的,拆開反而看碎、又慢又貴需要不偏私的眼——作者會給自己人情分
動作各面向讀成規格(造形拆 construction+register)對著參考圖打 5 軸 0–5(register 並排錨點評)
設計原則:別為了 harness 而 harness。subagent 是用來「隔離」的工具——哪裡需要獨立、不互相污染的判斷,才用它。分析不需要隔離(同一雙眼看整體最準);驗證需要隔離(要一個沒立場的裁判)。這跟 /write-issue 把四個編輯、總編各開獨立分身是同一套思路。

③ 抽取:把風格讀成可寫下的軸

orchestrator 親眼看圖,把「風格」這個模糊的東西拆成看得見、寫得下的軸——其中「造形」再拆成 construction(怎麼長:笨拙↔寫實)+ register(什麼立場:醜↔美),因為這兩件會分開飄、又最承載靈魂。
面向抽什麼驗證打分?
palette 配色主色+近似 hex、平塗還是漸層、背景怎麼處理
line 線條粗細、手感、向量/手繪/無線
texture 質感印刷感、顆粒、網點、筆觸、平塗 vs 影線
construction 造形怎麼「建」人與物:比例、臉、抽象程度、笨拙↔寫實
register 立場美學立場:醜↔美、grotesque↔理想化、不討好↔優雅✔ 並排錨點評
composition 構圖主體/留白/比例/視角/構圖語言條件式*
mood 情緒調性、氣場、聯想✘ 只當分析鏡

這些被寫進 style.md,再加上一段「每次生圖貼的提示詞片段」和一份 negative——這就是規格部分(profile 的 tell)。*composition 只有當「構圖本身就是風格識別」(拼貼版面、極端留白)才打分;一般構圖是你下指令決定的、不歸風格。mood 只當分析鏡。所以**評分是 5 軸**:palette·line·texture·construction·register。

④ 驗證:同樣的面向,交給獨立 subagent 打分

這是這個 skill 真正的價值。抽完不算數,要能生得出來、而且分數證明像,才算數。

用 profile 生 3 張測試圖(刻意鋪難度漸層,見下)後,每張圖各派一個獨立的驗證 subagent,給它「該測試圖 + 參考圖 + 規格」,請它對著原圖打 5 軸 0–5 分(palette·line·texture·construction·register)、標出哪裡飄掉、給一句總評。三份合起來=重現性報告

register(美學立場)要「並排錨點」評,不單張評——單張看時模型的基本畫工會把你蒙過去(實測同一張:solo=2、並排錨點=5)。composition 只有「構圖即風格識別」才加、mood 不打分。收軸兩測試:① 歸屬(風格擁有還是指令擁有?)② 鑑別力(分數真的會動,還是永遠 4–5?)——兩關都過才配當評分軸。

測試圖刻意鋪「難度漸層」,不是隨手挑主題。主題配合 profile 的用途挑(The Pass→食物×AI),而且從易到難:① 一個簡單物件(先確認風格生得出來、訊號乾淨)→ ② 一個多元素場景→ ③ 一段文章的概念(拿真實角度先抽成視覺概念再畫)。第 ③ 張才是真實使用的壓力測試——風格扛不扛得住一個抽象概念,不只是具體物件。
只是要記得:驗證時只打風格 5 軸(palette·line·texture·construction·register)、不評概念好壞,所以對「風格穩不穩」的訊號仍乾淨;第 ③ 張若崩,先分清是概念弱還是風格飄。
真實案例:眼睛會被騙,分數不會。mono-ink(毛筆墨線風)那次,肉眼看第一版「一次就很像」——但驗證 subagent 一打分,line 面向三張全是 2/5:漏了原作最關鍵的「毛筆粗細變化+大實心黑塊」,畫成了均勻細線。把這點寫死進提示詞、重生重驗後,line 跳到 4–5,兩張升上 reproduced沒有驗證,這個漏洞就直接變成 profile 的內傷了。
面向(mono-ink)咖啡圖 v1→v2田裡圖 v1→v2
palette 配色4 → 53 → 5
line 線條2 → 52 → 4
texture 質感4 → 52 → 5
figuration 造形4 → 44 → 3
總分 / 3022 → 2818 → 25
判定partialreproducedpartialreproduced

↑ 同一份報告的節錄。改提示詞前後,line/texture 整排跳上去——這就是「飄移點 → 修正」的訊號從哪來。

2026-06-22 升級:補上 register/construction 兩軸 + 學會「怎麼修」。把舊「figuration」拆成兩軸重評,抓到舊 4 軸看不到的事:圖可以表面全對、卻把「靈魂」畫漂亮了——模型有強烈的「變漂亮/變乾淨吸子」,專磨掉醜、拙、awkward。而怎麼修,要看飄的是哪種屬性
飄掉的屬性怎麼修
結構性(姿勢/構圖/表情)用嘴釘得動——直接寫進提示詞片段
執行氣質(醜/拙/平塗 vs 影線)描述沒用、甚至打地鼠 → best-of-N(一批 4–6 張)+ 把評分當「選圖器」挑最對的
頑固質感(無影線/粗顆粒/posterize)後處理強制(ImageMagick posterize/threshold/疊顆粒)
還有一把尺要分清:保真 ≠ 好看。這裡的評分是保真選圖器(像不像錨點);真正會被你拿去用的是品味選圖器(你的眼睛)。兩者衝突時喜好贏——若你長期偏好另一種樣子,那是訊號:該重訂 register/換錨點,而不是讓 validator 一直把你往「更像來源」推。

⑤ 三道 gate:人在哪裡拍板

全程互動,每道 gate 都用 AskUserQuestion——AI 跑、人決定,跟選題、寫稿同一個哲學。
GATE 0開工前 → 問齊四樣輸入(參考圖/用途/名字/硬限制)。
GATE 1草稿規格寫好 → 停,給你看:抓到風格了嗎?哪個面向要補?錨點選這幾張 OK 嗎?
GATE 2測試圖+重現性報告出來 → 停:都 OK/某張飄了/整體不夠像。不夠像就回頭改提示詞、換錨點,重生重驗,直到穩定或你喊停。

⑥ 輸出:一個驗證過的 profile

三部分落在磁碟上 = 一個 style.md + 兩個資料夾。完整拆解見 換插圖風格 SOP
~/style-lab/profiles/<名字>/ ← 跨專案共用,任何專案來消費 ├── style.md 規格(5 軸+register)+ 提示詞片段 + negative + 驗證摘要 the tell ├── anchors/ 你給的原圖(複製進來,3 張甜蜜點)        the show └── validation/ 生的測試圖 + report.md(逐面向打分)    the prove

各專案的出圖 skill(如 The Pass /publish-issue)去選定的 profile 來生圖。換風格=換專案指向哪個 profile,生圖流程本身永遠不動。

⑦ 這個 skill 由什麼組成

skill 本體很薄(一份工作流),重量都在它產出的共用風格庫。
~/.claude/skills/style-extract/ ← skill 本體(跨專案、使用者層級) └── SKILL.md 工作流:orchestrator 怎麼讀圖、3 道 gate、驗證 subagent 怎麼打分、迭代迴圈 ~/style-lab/ ← 共用風格庫(skill 的產出歸宿,不碰任何專案目錄) ├── README.md └── profiles/ ├── bold-pop/ style.md + anchors/ + validation/ └── mono-ink/ 同上
為什麼放在專案外?抽出來的風格不只給電子報用——投影片、社群、客戶視覺都能套。所以 profile 存共用庫 ~/style-lab/,The Pass 只是它的消費者之一。測試圖也一律待在這裡,絕不寫進任何專案的 public/、絕不部署到網站(那是污染專案)。

守門原則

抽取靠整體的眼,驗證靠獨立的眼。分析由 orchestrator 一次讀完(風格是整體的);驗證交給沒寫過 profile 的 subagent(要不偏私的裁判)。
看起來像 ≠ 真的重現。驗證要對著參考圖誠實打分、不給人情分;飄掉就說飄掉。交付「驗證過」的,比交付「看起來對」的可靠太多。
錨點圖 > 文字。純文字提示詞釘不住具體風格,錨點圖(餵進生圖模型當 input)才鎖得住——profile 一定要帶錨點。影片截圖/有字幕的,先裁乾淨再當錨點,否則模型會把字幕一起學進去。
抽風格、不抄人。抽的是配色/線條/質感/構圖語言;不照搬某位作者的角色或具體構圖。產出要是「自己的概念,那個風格」。
小心「能力/變漂亮吸子」。頭號失敗模式——模型會把醜、拙、awkward 悄悄磨成討喜、對稱、competent。執行氣質「描述」不出來(愈用力描述愈乾淨);靠錨點鎖、best-of-N 抽樣+評分選圖、後處理補頑固質感。
保真 ≠ 好看。評分量的是「像不像錨點」(保真選圖器);會出街的是「你想不想用」(品味選圖器)。衝突時喜好贏;長期偏好不同,就重訂 register/換錨點。
The Pass 出菜口
風格抽取的運作邏輯 · 抽取靠整體的眼,驗證靠獨立的眼