規格裡最難抓的一種錯,是兩條各自都正確的規則。它們寫在不同的檔案、隔了兩個禮拜,誰也沒有引用誰,單獨讀都挑不出毛病。要等到某個輸出同時踩到兩條,才會看見它們一直在互相抵消,而那個時候你盯著查的通常是輸出。
我們的產品是家長上傳一張孩子的照片,系統寫出並畫出一本以那個孩子為主角的繪本。下面這兩條規則在我們自己的檔案裡從五月底一路活到七月底,兩條都沒被改過,也都沒有錯。
第一條管節奏。它寫成禁止句,這種寫法通常代表它是在一本壞掉的書之後才補上去的:
主角的名字出現在 50–80% 的頁面。不是每一頁,也不是每一句。
在寫手實際收到的指令裡還會再收緊一次:同一頁最多落兩到三次,看那一頁的字量。
第二條管身分。名字不是一個可以順手處理的字串。它是一個家庭決定的拼法,所以管線裡任何一段都不准動它:
專有名詞永遠不翻譯、不音譯、不在地化。名字是身分,由家庭拼寫。中文書裡的 Alina 還是 Alina,英文書裡的小寶還是小寶。
兩條隔兩個禮拜,寫在兩個檔案。一次讀一條,兩條都明顯是對的。
身分規則只說「出現的地方要照抄」,完全沒說該出現幾次。單獨執行它,名字就會落在每一頁,常常一頁兩次,有時候連著兩句都是。那時候文字讀起來不像故事,像一張填好欄位的表格。這正是頻率規則要擋的東西,它句子裡那個雙重否定就是疤。
接著頻率規則開始生效,名字出現的地方變少了。對讀者是對的。同時也代表另一件事:身分規則能夠被抓到失敗的地方,也跟著變少了。
七月二十九日,一張中文封面回來,孩子叫 Yuna,封面上印的是「柚奈」。同一批裡的一張日文封面,孩子叫 Tao,印出來是「タオ」。兩個名字都被改寫成在那本書的語言裡唸起來很自然的樣子。
規則一直都在指令裡。它就在一長串其他要求中間,佔一行。
我們現在知道,那是這一類規則會被安靜跳過的位置。
改法不是把它寫得更大聲。名字保證現在寫在「把名字交出去」的那一句裡面,緊貼著名字本身,而不是只活在上面某個區塊裡。
同一個形狀我們在別的地方也踩過。日文書要求用符合孩子年級的漢字,這條當初也是一行寫在要求清單中間;真的拿日本的學年別漢字配當表去數,超出年級的字有 214 個。規則在,只是離它要管的東西太遠。
真正解掉衝突的,是一條講重複、而不講名字的規則:一個識別特徵,第一次出現的時候寫完整,之後一律用短把手或代名詞。
這條規則咬得最痛的地方不在主角身上。生日主題的書裡,派對上其他小孩刻意不取名字,改用一個固定的日常特徵指認,而且每次出現都要照抄同一串字;一本書裡這個特徵可能要出現十二次。一句話讀一次沒問題,不代表讀十二次還沒問題。所以規則現在說:進門的時候講完整,之後壓到那個語言給得出的最短形式,而且掛在名詞上,不要掛在子句上。英文寫 the red-haired one,不要寫 the one who will not put the toy dinosaur down。日文寫めがねの子,不要寫めがねがずり落ちてくる子。長的那一版沒有錯,只是讀到第五次,讀者要等整個子句跑完才碰得到動詞,那一行已經不像句子,比較像規格。
然後這條反制規則自己也有帳單。代名詞不穩。
有一本已經交出去的英文書,那個被寫成「眼鏡一直往下滑的小孩」的角色,第三頁是 she,第五頁是 he。同一個孩子,隔兩頁。同一批書裡,凡是描述本身帶語法性別的語言,版本全部一致,因為在那些語言裡詞跟詞必須相互一致,一漂移當場就對不上。英文什麼都不必一致,所以它漂了也沒有東西擋得住。現在角色的代名詞跟他的短描述是同一個時候釘死的,跟上面那個修法是同一招:把規則放在它要管的那樣東西旁邊。
這些都不需要一套管線。晚上臨時編一個放了自家小孩名字的睡前故事,或是寫下來留著,能用的是同樣幾件事。
唸出聲,數那一頁的名字。短的頁面兩次是上限。如果每一句都有,你唸的是證書不是故事。
名字花在有用的地方:一個場景的開頭、真的分不清是誰在動作的時候、別的角色叫他的時候、還有轉折那一拍。其他地方交給代名詞,故事會跑得比較快。
代名詞挑定一個就不要再換。這一條在英文裡最容易翻車,我們自己也翻過。
還有一條沒得商量:名字絕不為了句子唸起來順一點而改形狀。一個被調整過拼法、或者被改得比較像那本書的語言的名字,已經不是那個孩子的名字了。五歲的孩子在紙上遇到自己的名字,只做一個很短的檢查:這是不是他的名字。調整過的名字,剛好就是過不了這個檢查的那一種。
上面所有的例子都來自我們自己的產品,不是別人的案例。
任何一本印了名字的書都可以拿這兩條去量,包含我們做的。如果你要找的是把孩子的名字原樣印上去的繪本禮物,我們自己的判斷方式跟上面同一條:翻到中間任何一頁,數名字出現幾次,再對照那個名字的寫法跟你給的是不是一個字都沒差。這兩件事要在同一本書上同時成立。