為什麼角色資料庫不是可選的
《冰與火之歌》裡有一個著名的穿幫。
Jeyne Westerling 在《劍刃風暴》被描述為「臀部窄小」,兩本書之後的《群鴉的盛宴》卻變成「臀部豐滿」。George R.R. Martin 雇了兩位全職助理專門維護一份「系列聖經」——超過兩千個有名字的角色,每個人的出生日期、外貌、家族關係都記錄在冊。兩個人盯著,還是漏了。
Martin 公開認了錯。讀者不會放過這種事。
問題出在一個聽起來很合理的念頭:「我記得住。」
主角叫什麼?當然記得。眼睛什麼顏色?大概記得。母親的娘家姓氏?得翻一下。第一次心碎是幾歲——等等,這件事決定過嗎?
十萬字以上的小說、二十個以上的角色、半年以上的寫作週期。三個條件湊齊,記憶就開始背叛。不是忘了大事,是忘了小事。而小事會在最糟的時機跳出來咬一口——第二十八章角色回憶童年,突然需要他第一隻寵物的名字。翻遍草稿,第七章寫的是狗,第十五章寫的是貓。
讀者抓不出哪裡不對。但他們感覺得到。
一致性錯誤的殺傷力被嚴重低估了。沒有人會明確地想「這角色前後矛盾」,可是那種模糊的違和感會疊加,一層一層,直到他們闔上書說「寫得不夠好」——卻說不出原因。
海明威的冰山理論在這裡有另一層意義。讀者只看到水面上的八分之一,水下那七分之八撐著整座冰山。沒記錄那七分之八?水面上的部分就站不穩。角色會變「薄」,因為連創作者自己都不知道他在故事之外是什麼樣的人。
關係網絡讓問題加倍惡化。兩個角色之間一條關係線。三個角色?三條。四個?六條。十個角色——四十五條。這不是加法,是組合爆炸。不寫下來,就會迷失在自己建造的世界裡。
在 Slima 中建立角色資料庫
上一篇文章建好了檔案結構,裡面有一個角色資料夾。現在,讓它變成真正能用的東西。
打開 File Tree,角色資料夾可以長這樣:
角色/
├── 主角群/
│ ├── 李明-主角.md
│ └── 陳雨-女主角.md
├── 配角/
│ ├── 王老師-導師.md
│ └── 老張-線人.md
├── 反派/
│ └── 張威-主要反派.md
└── _角色模板.md
注意最底下那個 _角色模板.md。底線開頭讓它永遠排在資料夾最上面——每次創角色,複製一份就好。
一份完整的角色檔案要涵蓋六個區塊。不是因為看起來專業,是因為每個區塊解決一個具體的寫作問題。
基本資料決定角色的「座標」。出生年代、成長地點、現在的職業——這些不是填表格,是在定義他的世界觀。農村長大的人和都市長大的人,站在同一片稻田前,腦袋裡想的事情完全不同。一個會想起童年,一個只會想到蚊子。
外貌特徵不需要寫身分證。讀者記不住精確的身高體重,但會記住「左眉有一道疤」或「永遠戴著那條起毛球的紅圍巾」。這叫識別性特徵——讓角色在腦海裡變成一個具體的人,而不是一組形容詞。
性格特質必須分層。表面那一層是別人第一眼的印象:冷漠、話多、神經兮兮。核心那一層藏得深:重感情、自卑、渴望被認可。最有意思的角色,表面和核心之間存在張力。一個看起來什麼都不在乎的人,其實比誰都在乎——這種矛盾不是 bug,是 feature。它讓角色真實。
背景故事回答「為什麼」。他不信任任何人,為什麼?十五歲時父親過世,他認為是自己的錯。這個創傷也許永遠不會在書裡完整揭露,但它影響角色做的每一個決定。水下的七分之八就在這裡。
動機目標分兩條線。外在目標是角色嘴上說「想要」的:找到兇手、贏得比賽、逃出困境。內在需求是他真正「需要」的:學會信任、接受自己、放下過去。好故事的結構通常是——角色追著外在目標跑,跑到一半撞上內在需求,不得不面對。
說話風格是最容易被忽略、卻最能讓角色活過來的東西。長句還是短句?會不會罵髒話?緊張時有什麼口頭禪?如果把對話裡的角色名字全部遮住,讀者能不能光憑講話方式認出誰是誰?做得到,那是角色。做不到——那只是一個會開口的道具。
使用 AI 維護一致性
十萬字的小說要靠人工逐頁檢查角色一致性,坦白說,不切實際。
按下 Cmd+Shift+A(Mac)或 Ctrl+Shift+A(Windows),打開 Slima 的 AI Chat Panel。AI Assistant 能讀懂整個專案結構,所以跨檔案的檢查對它來說是基本操作。
一致性檢查——外貌描述
請檢查「李明」這個角色在所有草稿檔案中的描述是否一致。
重點檢查:
- 外貌描述(身高、髮型、眼睛顏色、特殊標記)是否前後一致
- 性格表現是否符合角色設定
- 說話風格是否保持統一
請引用具體的檔案和段落,列出任何發現的矛盾。
這段提示詞做的事很簡單:讓 AI 把所有草稿掃一遍,比對同一角色在不同地方的描述。它可能會回報「第三章寫李明戴黑框眼鏡,第十五章變成銀框」——這種細節,人工檢查極容易漏掉。
聲音檢查——對話風格
以下是李明在不同章節的對話。請根據他的角色設定檔(角色/主角群/李明-主角.md),分析這些對話是否符合他的說話風格。
檢查要點:
- 句子長度和結構是否符合設定
- 用詞習慣是否一致
- 情緒表達方式是否符合性格
如果發現不符合的地方,請具體指出並建議修改。
操作的關鍵在於同時給 AI 看兩份文件。在 AI Chat Panel 裡用 @ 引用角色設定檔,再貼上對話段落,AI 就能拿設定去比對實際寫出來的台詞。
關係動態追蹤
請分析李明和陳雨在整本書中的關係發展。
為每個他們互動的場景,標記:
- 章節和場景位置
- 此時的關係狀態(敵對/中立/友好/親密)
- 這個場景讓關係如何變化
請指出任何關係變化過於突然或缺乏鋪墊的地方。
這個提示詞抓的是關係弧線裡的斷裂點。第五章兩人還在吵架,第六章突然變好友——AI 會直接標出來說「這裡缺過渡」。人寫到後面常常忘了前面角色之間的溫度,機器不會。
邊寫邊維護的習慣
過時的角色檔案比沒有檔案更危險——它不是幫忙,是誤導。
一個實驗:從今天開始,每次在草稿裡確定一個新的角色細節,立刻更新角色檔案。不是「等一下」,不是「之後再整理」。立刻。因為「之後」在寫作中是一個不存在的時間點——等到「之後」,要嘛忘了,要嘛記錯。
Writing Studio 的分割視窗(Cmd+ 或 Ctrl+)讓這個習慣變得毫無成本。左邊開章節草稿,右邊開角色檔案。寫到「李明下意識摸了摸左眉的疤痕」——往右邊瞄一眼,疤痕有沒有記錄?沒有?三秒鐘加上去。回到左邊繼續寫。思路沒斷。
碰到還沒決定的細節,別留空白。空白會偽裝成「已完成」。用明確的標記:
- 最喜歡的食物:[待定 - 考慮炸雞或牛肉麵]
之後全域搜尋「待定」,所有未決定的細節一次浮出水面。比對著記憶東翻西找高效十倍。
角色設定要做大改動的時候——比如把創傷事件從「父親過世」改成「父親失蹤」——先去 Version Control(Cmd+Shift+G)建一個快照。改動牽一髮動全身。失蹤和死亡對角色心理的影響截然不同,連帶著對話語氣、行為模式、跟其他角色的互動方式都可能要調整。快照讓後悔有退路。
不同類型角色的記錄深度
六區塊完整檔案適用於故事支柱,不適用於所有角色。記錄深度應該和角色的份量成正比。
主角和核心配角——完整檔案,六區塊一個不少。這些角色撐著整個故事的重量,任何細節都可能在某個轉折點變得關鍵。花在記錄上的時間,會在整個寫作過程裡持續回報。
一般配角用簡化版就夠。基本資料、在故事中的功能、兩三個識別性特徵。便利商店阿嬤的童年創傷?不用知道。但她叫什麼名字、在哪幾章出現過、為什麼對主角特別好——這些得記下來。忘了這些,寫到後面會出現「兩個功能一模一樣的路人角色」這種尷尬局面。
跑龍套角色一句話搞定:「第三章計程車司機,話多,提供城市背景資訊。」記這句話的目的不是為了日後發展他,而是為了宣告「這個位子已經有人坐了」。
在 File Tree 裡用資料夾分層。主角群、重要配角各有完整檔案;一般配角集中到一份「配角速查.md」;跑龍套放進「臨時角色.md」。資料夾不會失控,資訊又能被搜尋到——兩全其美。
用 Quick Open(Cmd+P)跳轉到任何角色檔案。輸入「李明」直接到主角完整檔案,輸入「配角」到速查清單。幾秒鐘的事。查角色設定不應該是一件打斷思路的苦差事。它應該像呼吸一樣自然——做了不會注意到,不做才會出事。
Martin 有兩個全職助理,還是寫出了前後矛盾的臀部描述。
沒有助理不是問題。AI Assistant 讀得完整本書的每一個字,Version Control 記得住每一次修改,搜尋功能能在幾秒內撈出任何一筆資料。工具比人可靠——前提是,得用。
角色一致性不靠記憶力。靠系統。建好系統,細節永遠找得到。
下一篇,我們處理時間線管理——確保故事在時間邏輯上不出錯的方法。