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

十行程式跑通了第一次,就像第一次開火,難的從來都不是食譜

一位工程師用十行代碼跑通第一次大模型調用還踩了四個坑,我們把這件事翻譯成第一次開火煮飯的故事,與那些沒人告訴你的廚房小坑。

YIP NEWS 編輯室 閱讀約 4 分鐘

2026 年 9 月 2 日,掘金上出現了一篇教學文,標題老實得可愛:「我用 10 行代碼跑通了第一次大模型調用(順便踩了 4 個坑)」。作者說公司想搞個內部 AI 工具,活兒落到他頭上,而他對大模型的認知,還停留在「在網頁上跟它聊天」。折騰了一整晚,他發現這件事本身不難,難的是沒人告訴你坑在哪。

這句話我讀了兩遍。因為它根本就是在講第一次下廚。

你一定也經歷過那種時刻。食譜就攤在手機螢幕上,三步驟、五分鐘、號稱零失敗,可是站在爐子前面,你才發現沒人告訴你:蒜要先拍再切、油要等它安靜下來才能下料、鹽要在起鍋前放才不會苦。食譜寫的是路線,坑藏在路線之外。

所以今天想借這十行程式,聊聊每個廚房新手都踩過的那幾個坑。

先給自己一間乾淨的小廚房

作者踩的第一個坑,是環境。他提醒讀者裝 Python 時要勾那個不起眼的「加入 PATH」,他沒勾,對著錯誤訊息發呆了十分鐘。更要緊的是虛擬環境,很多人嫌麻煩直接跳過,結果套件版本打架,最後整個重裝。他的說法是:給它一個獨立小房間,省得以後拆家。

廚房裡的虛擬環境,就是先把水槽清空、把砧板擦乾、把今晚要用的東西一樣一樣擺出來。法國人管這叫 mise en place,一切就位。聽起來像儀式感,其實是避坑。砧板上還留著中午的蔥末你就動刀,番茄炒蛋會莫名其妙喫出一股韭菜味,而你永遠查不出原因。這跟我們先前聊過的備料其實就是上下文工程是同一件事:好廚師上工前的功夫,都發生在開火之前。

那把鑰匙,只出現一次

第二個坑關於 API Key。作者用的是 DeepSeek,註冊就送額度,控制臺裡建好 Key,複製那串 sk- 開頭的字。他特別提醒:它只顯示一次,馬上存好,而且絕不進程式碼倉庫,被盜刷的案例他見太多了。

廚房裡也有只出現一次的東西。阿嬤的那鍋滷汁,火候的判斷,魚眼變白那一刻的直覺。這些東西你錯過了,就得等下一次,而下一次可能要等很久。至於「鑰匙不能放明處」,想想你家那罐捨不得開的老酒、那塊臘肉掛在哪,長輩們早就有自己的保管之道,藏在誰都猜不到的地方,跟工程師把 Key 藏進環境變數,是同一種警覺。

第一次端回來的,是一句話

十行程式跑完,模型回了一句話,作者把它原樣貼在文末:「API 就像餐廳的服務員:你點菜(發請求),它轉達廚房(伺服器),再把做好的菜(數據)端回來。」

我看到這句話的時候笑了。機器用餐廳來解釋自己,而餐廳確實就是這樣運轉的。你坐在位子上喊一份炒青菜,聲音傳到後廚,油鍋一響,兩分鐘後一盤冒著鑊氣的青菜落在你面前,翠綠、邊緣微焦、蒜香先到。你從頭到尾沒進過廚房,但那一盤菜就是一次完整的請求與回應。

作者較真,說這十行裡至少有三個地方值得停下來想。為什麼要指定 base_url、choices[0] 是什麼、messages 為什麼是陣列。這種較真,就像你第一次炒出還可以的青菜之後,開始追問:為什麼大火快炒會香,為什麼鹽放早了菜會出水。會做的人照著做,懂的人問為什麼,廚房裡的進步就從這一問開始。

帳單,照你發出去的算

第四個坑是錢。把程式輸出整包印出來,會看到一個 usage 欄位,記著你發出去多少字、模型回了多少字。作者說了一句後來讓他省了一半費用的話:你發的內容越多,越貴。

廚房的帳單也是這樣算的。冰箱塞得越滿,浪費得越多。買菜的時候什麼都想煮一頓,結果一半的菜在冷藏室裡慢慢失去水分,最後進廚餘桶。真正會過日子的人,發出去的請求都很節制:今晚兩個人,一葷一素一湯,剛剛好。就像市場裡的時價牌教會我們的,知道今天的行情與份量,才知道今晚該買多少。

難的不是菜,是沒人告訴你坑在哪

那篇文章是《從零手擼 Agent》系列的第一篇。作者說,後面所有複雜的東西,都建立在這十行程式上。

第一次下廚也是這樣。你第一次把油燒熱、第一次聽見蒜瓣碰到鍋面那一聲輕響、第一次聞到自己炒出來的香氣,那些之後所有的家常菜、請客的硬菜、過年的一整桌,全都建立在這一晚的十行手勢上。而且跟那位工程師一樣,你跑通之後回頭看,會發現真正記住的不是成品,是那四個坑。

哪個坑都好,先開火。爐子比你以為的耐心,鍋也是。

#廚房日常,家庭餐桌,飲食記憶