跳至主要內容
YIP NEWS
生活 美食生活

四十萬首詩裝進一個指令,而你的廚房裡,也有一缸這樣的東西

一個 Docker 指令就能啟動四十萬首古詩詞 API 的技術新聞,被我們翻譯成一缸老滷、一本手寫食譜,與那些早被人整理好、等你來用的滋味。

YIP NEWS 編輯室 閱讀約 4 分鐘

2026年9月11日,工程師社羣裡流傳起一則讓人眼睛一亮的消息:有人把近四十萬首中國古詩詞整理成資料庫,包成一套名為「詩泉」的 API 服務,只要一行 Docker 指令,就能在自己電腦上把它跑起來。標題、正文、作者、朝代、體育分類得清清楚楚,連簡體繁體都幫你備好了兩套。

聽起來是純粹的技術新聞,對吧。但我讀著讀著,鼻子裡浮現的卻是另一種味道:一罈開了封的老滷。

最好的東西,常常是別人先替你備好的

你如果在家滷過東西就懂。第一鍋滷汁最麻煩,八角、桂皮、醬油、冰糖,比例怎麼調、火候怎麼拿捏,失敗個兩三次是家常便飯。但真正讓滷味好喫的,從來都是那一缸養了十年、越陳越香的老滷水。阿嬤傳給媽媽,媽媽再舀一瓢給你,你接手的時候,最難的部分早就完成了。

「詩泉」做的事情很像這個。開發者若要自己從零整理四十萬首詩,光是想像資料清洗、分類、檢索的工作量,專案大概就胎死腹中。而這套服務把別人花了好幾年醃出來的那缸「老滷」直接端給你,你只管把想滷的豆乾、海帶、滷蛋丟進去。背後的資料集來自開源社羣長年的累積,維護者用 Go 語言重新熬煮,讓查一首〈靜夜思〉、隨機抽一首唐詩,都像撈一塊滷豆腐那樣順手。

這道理在廚房裡處處成立。你煮湯用的柴魚粉,是別人烘乾刨好的;你拌麵的油蔥酥,是市場裡那臺機器整天炸出來的。現代廚房之所以能在一小時內開出四菜一湯,靠的多半是上遊有人替你把粗活做完了。

簡體繁體各一份,像冰箱裡那兩盒備料

有個細節我特別有感。這套 API 的同一個資料庫裡,簡體和繁體各存一份,加一個參數就能切換,做產品的人不必維護兩套內容。

這讓我想到家裡冰箱那兩盒先備好的料。一盒蔥花,一盒薑末,炒什麼都抓一把,不用每次切。好用的備料原則就是這樣:平常多花一點功夫,用的時候兩邊都順。面向臺灣讀者的產品要繁體,面向其他地區要簡體,資料早就兩邊切好絲、備好盤,端出去就是體面的一桌。

飛花令,其實是一場辦桌遊戲

原始文章裡提到,圍繞這套資料可以做出像「飛花令」這樣的遊戲:抽一個字,輪流背出含有那個字的詩句,接不上的人罰。

飛花令在中國大陸的詩詞節目裡紅過一陣子,但它骨子裡的結構,你在臺灣的辦桌場合一定見過。長輩酒過三巡開始行酒令,劃拳、猜枚、接歌仔,接不上的乾一杯。它跟餐桌的關係本來就密不可分,古人行令罰酒,菜就擺在眼前;「葡萄美酒夜光杯」這種句子,會被想起來的場合,多半也真的有酒。

而這四十萬首詩裡,寫喫的又何其多。蘇東坡被貶到哪就喫到哪,東坡肉、荔枝、河豚,一路喫成一部食記;陸遊寫「人間定無可意,怎換得玉膾絲萵」,唸唸不忘的也是一盤切得極細的魚膾。把這些句子撈出來按食材分類,幾乎能編一本「跟著詩人喫中國」。有這樣現成的資料庫,這件事從不可能變成一個週末的side project。

電腦裡的資料庫,紙上的食譜

不過我也想替另一種儲存方式說句話。指令跑起來之前,文章作者遇到了些麻煩:資料集下載失敗,得自己想辦法修,掛載、改參數,繞了一圈才通。數位的好東西,偶爾也會鬧脾氣,這一點跟廚房很像,瓦斯說不定哪天就點不著。

所以家裡最好還是留一本手寫的食譜。這跟工程師後來發現紙本腳本比打長指令更靠得住,是同一個道理,我們先前在阿嬤寫在紙上的食譜那篇裡聊過:最耐用的技術,往往是最低科技的那一種。冰箱上貼的那張「滷肉:醬油半碗、冰糖兩匙」,存取速度比任何資料庫都快,停電了也讀得到。

一行指令之後,才是開始

文章作者的結論下得很實在:這套東西本身是一個「資料基礎設施層」,可以拿來蓋很多有趣的東西,詩詞遊戲、學習工具、國風應用。它不是成品,是讓你省下熬第一鍋滷汁的時間,直接從有趣的部分開始。

你的廚房也是這樣運作的。你不必自己種蔥、曬醬油、養滷水,你要做的是決定今晚煮什麼、跟誰一起喫。那些被整理好的、開箱即用的美好事物,無論是一缸老滷、一個資料庫,還是阿嬤留下的那本油漬斑斑的筆記本,存在的意義都一樣:替你把漫長的準備做完,好讓你把力氣花在圍爐的那一刻。

下次在電腦前敲下一行指令之前,不妨先想想冰箱裡有什麼是早就替你備好的。大概比你想的多得多。

#詩詞與餐桌#廚房日常#飲食記憶