Voice Extraction · 運作邏輯
一位作者,怎麼變成一個能寫的真人原型編輯
丟一位作者的文章給
/voice-extract,它怎麼把「筆調」抽成可重用的 profile——還生一個真人原型編輯、
證明它寫得出來。這是
/style-extract 的文字雙胞胎。
設計提案
抽一個筆調不難,難的是證明真的抽到了。/voice-extract 讓 orchestrator 讀完一位作者的語料、抽成 voice-DNA,實例化一個真人原型編輯去寫沒在語料裡的新題目,再交給獨立的 scorer 對著她的筆調錨逐面向打分——不是「讀起來像」就算數,是分數證明寫得出來才算數。一句話:抽取靠讀的眼,驗證靠獨立的眼。
先解釋一個詞:harness(工法)。指這個 skill 不是「一個 AI 從頭做到尾」,而是
一個總指揮(orchestrator)調度幾個各自獨立的 subagent、中間設「停下來給人拍板」的關卡(gate)。寫稿的 subagent 跟打分的 scorer
分開,評審不會替自己的稿說話——跟
/write-issue 的總編獨立核查、
/style-extract 的獨立評分,是同一套思路。
整條流程
金色=「停下來給人決定」的關卡;左邊那條迴路=沒過就改了重來。
① 輸入:你要餵它的三樣
skill 開工前用 AskUserQuestion 一次問齊(這就是 GATE 0)。
| 要給的 | 說明 |
| 一位作者的語料 | 8–12 篇同一位作者的文章最好,橫跨他寫的不同類別(人物/產業/現場…)。連結或全文皆可。 |
| 給什麼用 | 是要做一位真人原型編輯(取法筆調),還是只偷招給現有編輯——影響抽取的重點與驗證方式。 |
| 硬限制 | 有沒有「一定要保留」的招牌、或「絕對不學」的習慣(例:他的弱點不要複製)。 |
② 為什麼特別:抽取靠讀的眼,驗證靠獨立的眼
subagent 只用在「需要獨立」的地方,不是每件事。
抽筆調得讀完整批、整體地看——一個人的筆調是節奏、用詞、世界觀一起作用的,拆成六個 subagent 各看一塊反而看碎。所以抽取由 orchestrator(配並行讀者讀料)一次讀完、整體抽。
但驗證需要一雙不偏私的眼。寫稿的 subagent 會覺得「我寫得很像他」,容易給自己人情分。換一個沒參與寫的 scorer,純粹對著作者的筆調錨打分,才抓得到飄移。所以驗證才拆獨立 subagent。
③ 抽取:把筆調讀成可寫下的 voice-DNA
orchestrator 讀完語料,把「筆調」這個模糊的東西,拆成六個寫得下的面向。
| 面向 | 抽什麼 | 進 profile 哪裡 |
| 寫作身份 | 他在乎什麼、對食物/主廚/傳統的立場、跟讀者的關係 | soul |
| 筆調機制 | 句子節奏、怎麼開場、怎麼收尾、用詞溫度、用不用「你」、招牌轉場 | soul〈怎麼寫〉 |
| 招牌動作 | 3–5 個命名、可轉移的技術(如「冷知識鉤」「數字落差」「跨文化映照」) | 筆調錨 + 招 |
| 筆調錨 | 4–6 段逐字照抄的短範文,最能代表他的筆調 | anchors(the show) |
| 不要學的 | 他的結構弱點(清單化、逐道菜、把洞見外包給引述) | soul〈守則〉 |
| 題材範圍 | 寫哪些主題/從什麼角度切/幾乎不碰什麼 | memory 種子 |
④ 驗證:寫一篇沒寫過的題目,交給獨立 scorer 打分
這是這個 skill 真正的價值。抽完不算數,要能寫得出來、而且分數證明像,才算數。
把真人原型編輯實例化後,給它沒在語料裡的新題目寫測試稿(刻意鋪難度:① 主場題=他本行,先確認生得出來 → ② 離場題=跨領域,測筆調撐不撐得住 → ③ fresh 壓力測試)。然後每篇各派一個獨立 scorer,給它「測試稿 + 作者的筆調錨 + voice-DNA」,請它逐面向打分:開場型態對不對?招牌動作在不在?句子節奏、口吻?並且——有沒有滑成作者的弱點(這是 voice-extract 特有的一關:真人原型編輯要有他的筆調、卻不犯他的毛病)。三份合起來=筆調保真報告。
為什麼一定要用「沒在語料裡」的題目?就像 style-extract 是生新圖、不是把錨點圖再貼一次——要證明 profile 會 generalise(在新題目上重現筆調),不是背他寫過的東西。Musubi 的首驗就是寫阿根廷 huertas(不在她語料裡的題),看她的「冷知識鉤+跨文化映照+暖收尾」在陌生材料上還在不在。
⑤ 兩道 gate:人在哪裡拍板
全程互動,每道 gate 都用 AskUserQuestion——AI 跑、人決定。
GATE 0開工前 → 問齊三樣輸入(語料/用途/硬限制)。
GATE 1voice-DNA 抽好 → 停,給你看:抓到他的筆調了嗎?哪個面向要補?筆調錨選這幾段 OK 嗎?並且:幫這位真人原型編輯取一個小名(之後就用這名字呼叫他)。
GATE 2測試稿+保真報告出來 → 停:夠像/某篇飄了/犯了他的弱點。不夠像就補 soul、換筆調錨,重寫重驗,直到穩定或你喊停。
⑥ 輸出:兩樣(這是它比 style-extract 多的)
一次 voice-extract,同時吐一位真人原型編輯、和一批可共用的招。
① Voice Profile 真人原型編輯本體
soul + 筆調錨 + memory——用來實例化一位取法該作者筆調的 AI 編輯。就是要像他。
② 技藝參考(招) 共用
蒸餾出的可轉移招式 → 進共用 craft-anchors.md,養所有編輯。偷招、不偷筆調。
為什麼 voice-extract 多這一類、style-extract 沒有?因為寫作的「招」比視覺風格更可拆解。一個視覺風格基本上是整包重現的;但「冷知識鉤、數字落差、跨文化映照」這種寫作招式,可以從作者身上拆下來、給完全不同筆調的編輯用。所以同一次抽取,既產一位真人原型編輯(①),又落下一批人人可用的招(②)。
docs/editors/<小名>-*.md ← 真人原型編輯 profile(自成一包)
├── <小名>-soul.md 我是誰 + 怎麼寫 + 守則(避開他的弱點) the why
├── <小名>-anchors.md 筆調錨:他的原文範本(逐字) the show
└── <小名>-memory.md 學到的準則 + 寫過的主題(滾動) the grow
refs/craft-anchors.md ← 招落這裡(全編輯共用,跟筆調分開)
craft-anchors.md = 全編輯室的共用技法庫,會愈長愈厚。每跑一位作者的 voice-extract,就把他蒸餾出的招 append 進這一份——於是它慢慢長成一座「所有取法過的作者的招」的武器庫。三條規矩讓它不爛掉:① 標出處(每招註明「出自〈某作者〉」);② 去重(已有的同招就補一個新例、不重列);③ 標適合誰/題型(庫一大,要讓編輯各取所需——Passe 不會用「拉遠抒情收尾」,但可能愛「數字落差」)。原創四位寫稿時讀得到它(博採眾招);真人原型編輯不讀——它封在自己的筆調裡,越像原作者越好,借了別人的招會四不像。所以招進公庫的真正意義是:把真人的招,捐給虛構的原創編輯用。
⑦ 跟 /style-extract 的對照
同一套工法、兩種介質——一個抽視覺風格,一個抽寫作筆調。
| 階段 | /style-extract | /voice-extract |
| 進料 | 一組參考圖 | 一位作者的語料 |
| 抽取(多面向) | 逐面向分析視覺風格 | 逐面向抽 voice-DNA(6 面向) |
| 🚦 Gate 1 | 確認 style spec | 確認 DNA + 取小名 |
| 驗證(獨立 subagent) | 生新圖 → 對錨點圖打分 | 寫 fresh 稿 → 對筆調錨打分(+有沒有犯弱點) |
| 迭代 | 不夠像 → 調 profile 重生 | 不夠像 → 補 soul/換錨 重寫 |
| 產出 | Style Profile(spec+anchors+validation) | Voice Profile(真人原型編輯)+ 招(共用) |
首位真人原型編輯:Musubi(取法 Mingchu 資深編輯的筆調)已用這套流程手動跑通。讀 5 篇語料抽 voice-DNA → 建 profile(soul+筆調錨+memory)→ 讓她寫「阿根廷 huertas」驗證她的冷知識鉤、跨文化映照、暖收尾在陌生題目上還在不在 → 通過。/voice-extract 就是把這套手動流程,變成 orchestrator+獨立 subagent+兩道 gate 的自動 harness——跟當初 style-extract「先手做、再包成 skill」一模一樣。
守門原則
抽取靠讀的眼,驗證靠獨立的眼。抽取由 orchestrator 讀完整批(筆調是整體的);驗證交給沒寫過稿的 scorer(要不偏私的裁判)。
讀起來像 ≠ 真的重現。要在沒寫過的題目上重現筆調,才證明 profile 會 generalise,不是背他的舊文。
筆調錨 > 規則描述。純規則(「他句子很暖」)釘不住筆調;逐字的原文範本,才是真人原型編輯能對齊的校準樣本。
有他的筆調,但避開他的弱點。真人原型編輯=作者的筆調 + The Pass 的結構紀律。複製鉤子、數字、映照、暖收尾;但不複製他清單化、逐道菜、把洞見外包給引述的毛病。
取法技法 ≠ 取法整個人。「招」是可轉移、給所有編輯的技術;「筆調」是某一位的、只給他的真人原型編輯。兩條路分開——取法一個人的筆調(做真人原型編輯),或養四個原創(招)。