我有個記事本,會在裡面記下想探索的主題,也記下日常讀到的相關資料。有些主題探索一陣子,慢慢就沒興趣了。然後對新主題興趣上來了,就去探索新的。新的會探索一陣子,通常也慢慢沒興趣了,然後又對另一個新主題產生新的興趣。雖說三分鐘熱度有三分鐘收穫,但還是太貪婪了,這是我心知肚明的缺陷。
在眾多的興趣之中,吃吃喝喝是特例。
在西方,德謨克利特說,沒有宴飲的人生,彷彿沒有旅店的漫漫長路。在東方,我的偶像陳曉卿說,我的故鄉只有一小塊,它在我的舌尖上。我對吃喝有一種奇怪執念,情不知所起,一往而深。百家飯、千卷書、萬里路,讀千卷書眼酸,行萬里路腳累,但吃百家飯,我的嘴從來任勞任怨。
吃喝跟流行音樂一樣,能為平凡的日子,留下那時那地那人的刻痕,那是一種獨特的雙向鍵結,而關於這種鍵結,我有很多例子。
小時候的夏天涼爽,現在的夏天炎熱,沒聽過日子發出聲響,但確實都給我一種漫長的愉悅。國小作文的題目,問長大後想要做什麼,有一段時間的答案是總統,後來知道總統只能做八年;有一段時間是太空人,後來知道太空上的伙食很差;有一段時間是職棒選手。那時候的職棒,還沒有穿很少的啦啦隊跟擦邊應援,也還沒有假球與簽賭案。兄弟象三連霸,三劍客紅極一時。棒球這項運動,時間長,節奏緩慢,跟夏天一樣。我阿嬤家後面有個大院子,長十來米,兩個人,一個手套,一面牆,一支球棒,是投打練習的最精簡配置。放學後開始,直到天色暗到看不到球了才不得不喊停,小時候的精力無限,打棒球是我遛自己的方式。結束後,踮著腳尖,從有點異味的冰箱裡,小心翼翼的抱出重重的西瓜。迫不及待的我,會把整張臉埋進去,左耳到右耳之間,滿是汁水,分不清是我吃西瓜還是西瓜吃我。國中後,長高了,後院變小了,球速變快了,比較少打棒球了,不過,每當無盡的夏日來臨,潮濕黏膩的高溫中,總隱約給我一種西瓜的香味。反之亦然。簡媜在回憶大學時期時說,像每一滴酒回不了當初的葡萄,我回不了年少,但西瓜的香膩多汁,總能帶我回到童年。
讀研究所前的暑假,去了趟中國。在西安,靠著琼過硬的歷史知識儲備,這座書上見過無數次的城市顯得極為生動。那天跟關老師,我們仨夜爬華山。傍晚吃完飯後出發,天色幾乎全暗的八九點,從山腳開始,走走停停,停停走走,一路唱著很老的歌。卡著點,清晨五點左右登頂,多雲的天,剛升起的太陽稍稍探頭,美麗極了。坐索道下山,回市區後,中午吃了一間早已忘記名字的水盆羊肉。樸素的店面,樸素的饃,樸素的羊雜跟水盆羊肉。難以形容,言語失效。不確定是身體的疲憊飢餓,還是看〈長安十二時辰〉後對水盆羊肉的嚮往,只知道那是我吃過最好的一頓羊肉,一直到現在都沒被超越。看金庸,華山是繞不過的山,在我對羊肉的探索中,那是繞不過去的華山。讓我之後每每吃到各種烹調方式的羊肉,都會暗暗與那天的水盆相比,手裡的食物突然也就那樣了。
有關這樣食物與回憶的連結,我能一直講下去,例如半月燒與高中晚自習,朝日壽司與大學期中期末考試,小米酒與畢業,阿玉水餃與初入社會,Kebab 與柏林夏日,7-11 的打拋豬與深夜暢談。我想表達的是,很多時候,吃吃喝喝遠不只吃吃喝喝,它能與經驗、記憶、時間、歷史、文化緊密纏繞,它跟文學、音樂、藝術一樣,都有超越自身的寬廣與遼闊,歷久總能彌新,也是它能讓我一直感興趣的原因。
術 #
無論復古與戀舊如何重複地成為潮流,我認爲當下就是最好的時代。AI 是一種品味、興趣、技能的放大器,我們活在好奇寶寶的黃金年代。客家精神不允許我浪費,每週的 token 額度沒用完就會很焦慮。最開始是讓 AI 去補充與擴寫之前零散的筆記,整理出一份十萬字左右的 “有關吃.md”。後來看到 Andrej Karpathy 提 LLM Knowledge Bases 的時候,起心動念,想嘗試將之前有關吃的內容規模化。
想要讓 AI 研究飲食,概念上來說非常簡單:i) 收集關於飲食的內容材料 ii) 確認嚴謹性與權威程度 iii) 根據內容材料寫文章。不過這是類似於,三步驟把大象關進冰箱的說法,缺乏參考意義。產出一份五千字的文檔是一回事,產出一千份五千字的文檔是另一回事。
跟幾乎任何問題一樣,首先是需要在心態上,把問題視為工程問題對待。直覺的想法是設計一套細緻的 pipeline,例如,既然網上已經有許多做 vibe research 的方法論,那是不是可以挑選幾套各路大神的流程,聚合蒸餾,美其名,站在巨人的肩膀上。不過,不加思索的聚合,很容易製造不必要的複雜度。類似劉瑜在批評西洋社會科學時提到的精緻平庸(Exquisite Mediocrity):用複雜的模型與方法論,得出平庸、甚至近乎常識的結論,例如人被殺就會死。這跟短髮的男生去剪頭髮很像,往往在一頓複雜的騷操作後,一看成果,都會不禁懷疑一下到底剪了啥。
在研究框架的設計上,不斷後設的確認框架有沒有隨時間變得複雜是很重要的。簡潔更難,simple is robust 是我跟 AI 溝通的高頻詞彙,如果未來某天,我被 AGI 歸類為油膩說教老登人類,那一定是我跟它說過太多次的 simple is robust。以飲食志為例,簡潔表現在不同層面的嘗試有:
工具層面:靜態 HTML 前端、、markdown file tree 就是資料庫、扁平 frontmatter、核心交付層只用 stdlib Python。
模型層面:在今天,當然我們可以硬開 fable5 + ultracode,力大磚飛的解決問題。神經網絡的不斷加深與參數無節制的擴張,是種路徑依賴的偷懶暴力美學。Anthropic 員工說,Markdown 已死,HTML 為王。何不食肉糜以不同的方式反覆出現,之前是手握軍隊與土地資源的皇帝,現在是手握 token 資源的數位領主。殺雞焉用牛刀是種誤導性的說法,更準確的是,殺雞不能用牛刀。小巧的剃骨刀才能剃骨,文武刀是不行的,是各自專精,不是向下兼容。不同問題,有對應適合 reasoning effort。在簡易的問題上過度思考,不只浪費 token,也容易鑽牛角尖。另外現實的是,這量級(約莫六百萬字)的文字產出,全用最貴模型去做的話,確實有點負擔不起 xDD
具體工作人員清單,因前後跨時較長,歷經多次改朝換代。需要網路搜尋的部分,多數是讓 gpt 5.4/gpt 5.4 mini 去做;流程規劃、統籌執行、監督則是由 opus4.7/opus4.8/fable5 進行;文字撰寫則多數由 sonnet 4.6/sonnet 5 操刀,另外,gpt 5.5 亦在 codex 的環境上對事實審查有貢獻。
流程層面:如果將文章理解成「將事實(claim)進行文風渲染」,則要注意的是, i) claims 本身的穩固 ii) 文風渲染需嚴格在 claim 後面進行。權重由高到低,claim 的三個來源分別是:權威書籍、高質量網路來源、模型本身知識。每個 claim 是一個有版本控制的 xxx.claims.jsonl,裡面存在 layer、source.tier、verify、hedge 四個欄位,用來區別實證與傳聞,來追蹤出處等級與驗證狀態。有確證才能直接描述,單一來源的只能 “據載”,有爭議的則須並陳說法。將 claims 渲染成散文形式的階段,需要禁止引入 claims 之外的新事實。
審稿是不可能人工審的,最後補了專門找碴的審查 agent,以及文風對齊的 agent。審查 agent 就是盡可能的滾動式掃描,沒啥可說的,文風對齊則很有意思:由於這是一個橫跨四個月的計畫,參與模型是持續升級的,單一模型本身能力是動態的,提示詞是持續迭代的,所以,文風統一是困難的。上線前最後一道檢查,是針對不同時間段產出的文章進行抽樣,例如四月、五月、六月、七月寫的,等比例隨機的各抽 10% 出來,移除掉明確帶有時間線索的文章後,讓多隻 agent 試圖去判斷寫作時間。如果文風足夠統一的話,理論上 agent 是不應該能猜出寫作時間的。這方法實際幫我修正 / 消滅了兩個文風指紋。(更多可以參考這個維基頁面,以及蜥蜴大的這個專案)
在文風方面,感謝 Milan Kun 的協助,他在研究歷史人物的時候,寫出一套絕佳的提示詞。曾經我以為,隨著模型的進步,提示詞工程早已被抽象掉,但這可能是源於對 “提示詞工程” 定義的模糊。如果將提示詞工程,理解為枝微末節的提示 AI 該使用什麼具體工具,轉換為什麼具體格式,這部分是人類不應該幫倒忙的。但如果將提示詞理解成一套品味偏好,是駕馭 AI 馬車的北極星,則是需要個人主動選擇的。例如:師法茨威格《人類群星璀璨時》,最高標準是不寫「偉人的豐功偉績」,而寫一個具體的人在命運轉折點上做出的選擇。讀完心裡發緊、眼眶發熱。茨威格寫的不是「成功」,是「一個人面對命運那一刻的樣子」。
道 #
在過程中,另外還有兩件事情一直佔據我的思考:一個是關於系統與完整,另一個是關於真相與視角。
關於系統與完整。人腦比較好理解整齊的結構,所以學科長期以來都是被分門別類的,但這絕不代表知識本身是能被如此劃分的。更多情況下,我認為這種刻意的秩序會導致失真。我曾經也妄想用一種自上而下的,樹狀的,分門別類的,圖譜類型的工具去整理紀錄。後來發現,一方面是,分類對邏輯與完整性的刻意追尋,可能像是在量子世界中追尋不骰骰子的確定,阻礙我們接近真實。另一方面是,框架的最優形態,似乎總是隨著條目的增加而動態改變。只有回過頭看,點才能連成線,而我們都對複雜缺乏敬畏之心。完整可能只是一種幻想,疊加產生湧現,像是我們的生活,命運要擺弄一個人之前從來就不會打聲招呼,總是說來就來。都懂未雨綢繆的道理,但從來沒有不出錯的人生。
關於真相與視角。尼采在思考 “事實” 的時候說:沒有真相,只有視角。數學透過公理,在一個前提下,才能相對客觀的建設世界;科學則是一種集體且主觀的看法,科學的進步是一場葬禮接一場葬禮;歷史只論述過去,但不等於過去。對於飲食這主題,我認為沒辦法,也不需要糾結於真相和視角,跟文學與藝術一樣,假作真時真亦假,無為有處有還無。榜單不等於好吃,嚴謹不等於客觀,權威不等於真實。
跋 #
不論能不能展現出飲食的廣闊,飲食包羅萬象的廣闊都在那邊。這作品註定坐井觀天,好在大家都知道天空有多麼廣闊。這不是一份嚴謹的百科全書,而是一份會出錯、故意有觀點不中立、AI 深度參與的個人筆記。如果有抓到錯誤,或是對於流程有其他有意思的想法,一封 email 能隨時聯繫到我!
有些人誤以為抱怨與挑剔就是品味,實在錯的離譜!對於飲食的品味,不是單一維度追求正宗,不是過度執著傳統,而是敞開心胸的欣賞每種料理與味型,理解背後的歷史與傳承,無論東西,不分古今,喜新且戀舊,才能在飲食這條路上,走得悠閒自在,走得寬廣遼闊。願你我都能一路看山到峨嵋。