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

湯是一勺一勺舀出來的,AI的話也是一個字一個字來的

一篇談AI前端SSE流式輸出、打字機渲染與斷點續傳的技術文章,被我們翻譯成爐上一鍋慢慢滾的湯、一片片盛盤的菜,與一頓中途停火也能接著煮的晚餐故事。

YIP NEWS 編輯室 閱讀約 4 分鐘

2026年9月11日,掘金上一篇技術文章在工程師之間流傳開來,講的是AI前端落地的三件事:SSE流式輸出、打字機渲染、斷點續傳。名詞一個比一個硬,但你如果曾在爐邊顧過一鍋湯,其實已經把這三件事都體會過一遍了。

先說流式輸出。廚房裡最懂「流」這個字的,是高湯。你把大骨和冷水一起下鍋,開小火,然後等。湯不會一次給你全部,它是一點一點變濃的:先是水面浮起一層薄薄的油光,接著骨頭縫裡的膠質慢慢溶出來,湯色從清水轉成米白,最後才染上那種喝進嘴裡會在舌尖留一層的稠。SSE做的事情也一樣,後端不等你把整鍋湯熬好才端上桌,而是每熬出一句,就先盛一勺給你。文章裡提到,這種傳輸方式是基於HTTP的單向長連接,伺服器按固定格式把文字一段一段推過來,特別適合大模型逐字回話的場景。你問它一句,它答你的過程像有人站在竈邊,一勺一勺往你碗裡添,添到你說夠了為止。

然後是打字機渲染。這個詞聽起來復古,但餐桌上有個更貼切的版本:切盤。文章特別澄清了一個常見誤會,打字機效果並非前端拿計時器假裝一個字一個字蹦出來,真正的做法是跟著後端回傳的節奏,收到多少、畫多少。這就像一盤好涼拌小黃瓜。有人圖快,把整條瓜啪一聲剁完堆盤,看起來量多,喫起來卻亂;講究的人是刀跟著瓜的節奏走,切一片,擺一片,擺到鹽和蒜味的間隙都均勻了,那盤菜才算數。前端收到一個字就添一個字,畫面像有人在你面前慢慢寫信,那種感覺之所以舒服,正因為它誠實:你看見的是真的正在發生的事,是一鍋正在滾的湯。

最難的不是開火,是斷了之後接得回來

三件事裡最像生活的,是斷點續傳。

誰沒有過這種晚上:湯燉到一半,瓦斯沒了,或者整棟樓跳電。你站在廚房裡,最心疼的從來都是那鍋已經燉了一個多小時的湯。斷點續傳解決的就是這件事。文章寫到,AI對話中途斷網、頁面刷新、瀏覽器關掉,重新連上時不必讓模型從頭再生成一遍,前端只要把會話編號和已經收到的位置傳回去,後端就從上次斷掉的那個字後面接著說。爐火重燃,鍋裡的湯還在,溫度還記得,你只要續上火、添點水,它就接著熬。這份從中斷處繼續的能力,說來平常,卻是很多家裡最珍貴的手藝。阿嬤的滷鍋從來不是一次滷成的,是斷斷續續加熱、放涼、再加熱,滷到第三天那顆蛋才真正入味。這與我們先前寫過的那間每顆高麗菜都要登記三次的廚房有點像,好的系統和好的廚房都講一件事:東西在哪裡、進行到哪一步,心裡要有數。

瀏覽器自帶的那口鍋,為什麼不夠用

文章裡有段很實在的提醒。瀏覽器原生就有一個叫EventSource的工具,開箱即用,簡單得像家裡那口最普通的平底鍋,煎個蛋沒問題。但它有個大坑:沒辦法自訂請求標頭,也就是說你塞不進身分驗證的鑰匙,而AI接口多半需要這把鑰匙。所以生產環境裡,大家改用fetch去手動解析串流,多寫一些程式碼,換來的是能帶鑰匙出門的自由。這簡直就是廚房裡的老道理:不沾鍋很方便,但你要做一桌像樣的菜,最後還是會回到那口需要養的黑鐵鍋。它重、它麻煩、它要你先燒油潤鍋,但它什麼都能做,而且越用越好用。工具的省事和工具的能耐,從來是兩回事,無論你面對的是DOM還是一塊五花肉。

順帶一提,那些被整理好、拆開就能用的東西,總是讓人感激。工程師的世界裡有現成的串流解析寫法,我們的廚房裡也有,這感覺很像那篇四十萬首詩裝進一個指令的故事:前人把火候和步驟都替你試過了,你只要照著開火。

今晚可以試的事

如果你最近也在跟AI說話,下次不妨注意它回話的樣子。那些字是一個一個浮出來的,像湯麵上一顆一顆冒起的小泡,急不得,也攔不住。那份「慢慢來」並非表演,而是後端真的正在熬,前端端著碗在爐邊等。

然後把這件事帶回你自己的餐桌。挑一個週末,燉一鍋需要中場休息的湯:牛肉湯熬一小時,熄火,放涼,出門買菜,回來再開火續燉。你會發現第二輪的湯比第一輪深,味道沉下去了。中斷沒有毀掉它,反而讓它記住了火候。這就是斷點續傳最好的註解,只是它發生在你的爐子上,不須要任何請求標頭。

字要一個字一個字讀,湯要一口一口喝。快的時代裡,這兩件事都值得慢慢做。