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-pop、mono-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 → 5 3 → 5
line 線條 2 → 5 2 → 4
texture 質感 4 → 5 2 → 5
figuration 造形 4 → 4 4 → 3
總分 / 30 22 → 28 18 → 25
判定 partial → reproduced partial → reproduced
↑ 同一份報告的節錄。改提示詞前後,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/換錨點。