skills/persona-story:把小說變成既有人格的記憶。三條界線寫進流程——他不知道的事 不能變成他的 event、整本原文不入倉庫、SOUL.md 只有使用者能改。 reference/interview.md 是開場四題(**不問譯名版本**:那是要他猜,而他手上那批 寫的是什麼字,讀一次就知道);reference/extract.md 是一個場景要抽什麼與知情層級。 AGENTS 加第 18 條硬規則:匯入原作只能給他「他知道的事」。 README 補 persona-story 一節;persona-anime 補一句指路(先建人格再讀原文)。 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.4 KiB
開場問答(匯入前一定要問完)
這四題不要猜、不要用預設值帶過。
譯名版本不在裡面,那一題不要問。 問他「這批是角川還是東販」是要他猜—— 他手上那批原文寫的是什麼字,讀一次就知道了。所以正名表改成掃出來給他確認 (見下面「正名表怎麼來」)。
1. 匯給哪個人格
先跑 persona.mjs list 把可用的人格列給他看,不要用猜的。
已經載入一個人格的話就是它——不要為了匯入而換人格,那是他的決定。
要匯給別的人格:先 release 再 load,兩個動作都要他點頭。
2. 作品名
要完整書名(含卷次)。這會寫進每一則記憶的 source,之後追出處靠它。
一次匯多卷時,--work 的 slug 用作品而不是單卷——
同一部作品的去重合併要在同一個工作區裡才做得到。
3. 章節檔在哪、什麼編碼
要的是:目錄路徑、檔名規則(怎麼排序)、編碼。
- 編碼不確定就自己驗:讀前幾百個位元組看有沒有亂碼,比問還快。
- 常見的是 UTF-8 與 Big5;簡體來源多半是 GB18030。
- 一個檔一章與整本一個檔的處理方式不同,要問清楚是哪一種。 整本一個檔的話先問他章節標題長什麼樣(用來切章)。
4. 這次要匯哪幾章
不要預設「全部」。一次匯完一整部作品是幾百則記憶, 出錯的時候分不出是哪一章的問題。
建議的講法:先匯 2 到 3 章,跑完給他看結果,確認視角與顯著度沒問題再往下。 他要一次全匯也可以,但要先講一句「出錯會很難查」,並且確認備份做了。
問完之後
export(persona-transfer)留一份備份——匯入是大量寫入,要回得去。novel init --work "<書名>" --slug <work-slug>建工作區。- 進正名表(下一節)。
正名表怎麼來:掃出來,他只做確認
不要請他打一張表。 他不會記得那本書裡「閃光」出現過幾次, 但那件事機器數得出來。所以順序是:先掃,再讓他確認。
novel scan --work <slug> --dir <章節目錄> --session <id>
novel name review --work <slug> --session <id>
scan 抽人名候選(對話歸屬、敬稱結尾、片假名、高頻詞),每個候選附上
出現次數與一到兩行上下文,並且猜一個關係節點,分成四種信心度:
| 信心度 | 意思 | 怎麼處理 |
|---|---|---|
exact |
字面等於某個關係節點的 name |
--accept-exact 一次收下,沒有判斷空間 |
alias |
等於節點的標籤或備註裡出現過的別名 | 給他看一眼就收 |
fuzzy |
部分重疊(共用兩個以上的字) | 一定要他確認,這格最容易錯 |
unknown |
猜不到 | 新人物就先 relation node;不是人名就 name ignore |
要給他看的是上下文那一兩行,不是候選清單本身。 「這個詞出現 41 次,其中一句是『閃光又衝出去了』」——他一眼就判得出來; 只給他一個「閃光」,他要回頭翻書。
ignore 是「確認過這不是人名」的清單。地名、招式名、系統詞擋不完,
所以 ignore 過的下次掃就不再出現——不然每加一章就要重看同一批。
補漏用手動:novel name add --from "<字面>" --to "<節點 name>"。
正名沒確認完不要往下走:novel candidate add 遇到 about 裡有未確認的 token 會擋下來。
那不是刁難——錯的名字寫進 about,要等 relation doctor 才發現,那時候整批要重跑。
中途發現問題怎麼辦
| 發現 | 怎麼處理 |
|---|---|
| 正名表確認錯了 | 改 names.json 的 map,已經 candidate add 的那幾章重跑,不要手改候選檔 |
| 掃出來一堆不是人名的詞 | 正常。name ignore 掉,下次掃不會再問 |
| 同一個角色有好幾種寫法 | 全部都要進 map 指到同一個節點。網路譯本前後不一致很常見 |
| 編碼判斷錯了 | 停下來重讀。亂碎的字會讓在場判斷失準,那個錯不會浮出來 |
| 章節順序排錯 | first_seen 會錯,時間軸就錯了。重排再重跑那幾章 |
| 他中途說「不要匯了」 | 工作區留著不刪(memory/import/<slug>/),還沒 novel write 就不會污染記憶 |