跳至主要內容
PHUA MEDIA
生活 現象觀察

六行程式碼撐起一個 Agent:那篇「從 while(true) 到生產級迴圈」,為什麼被開發者轉瘋了

一篇掘金技術文把 Agent 的核心壓縮成六行 while 迴圈,開發者圈圍觀之餘,也把「能跑」與「能上線」之間的落差聊成了話題。

PHUA MEDIA 編輯室 閱讀約 5 分鐘

先把日期補上:這篇文章出自掘金,作者「掰頭戰士」,發布於 2026 年 9 月 13 日。它並不是突發新聞,而是這幾天在技術社羣裡被反覆轉發、逐段截圖的一篇長文。一個純技術主題能夠出圈到被非開發者也轉發,靠的並非聳動標題,而是它做了一件很少人做的事:把一個看起來神祕的東西,拆到不能再拆。

被拆的對象叫 Agent。這個詞在過去一年被講得快要失去意義,彷彿掛上它產品就自動變聰明。而這篇文的開場很樸素:一個 Agent 最核心的邏輯,可以壓縮到六行程式碼。

六行,就是全部的魔法

那六行是一個 while(true) 無限迴圈。把對話歷史丟給模型,模型如果說「我不用工具了」,迴圈結束;如果模型要求呼叫工具,就執行工具、把結果塞回對話歷史,然後再跑一輪。就這樣。

作者的逐行拆解之所以好看,在於每一行背後都藏著一個容易被忽略的決定。對話歷史是迴圈唯一的記憶,模型本身是無狀態的,它記得前三輪做了什麼,全靠每一輪把完整歷史重新餵給它。而這也是 Agent 比一般聊天機器人貴得多的根本原因:上下文隨輪數線性增長,你每多跑一輪,就多付一整份歷史的錢。

退出條件也只有一個:模型不再要求工具,任務就算完成。聽起來優雅,因為終止權交給了模型自己。但文章隨後點出,這份優雅正是後面所有麻煩的來源。

能跑的迴圈,會在哪裡摔跤

這是全文最有畫面感的一段。把那六行直接丟進生產環境,你會遇到的問題被作者一條條列出:跑到第三十輪,對話歷史撐爆模型的上下文視窗,API 直接報錯;模型反覆用同樣的參數呼叫同一個工具,你攔不住,因為迴圈裡沒有任何檢測邏輯;一個 429 限流,前面二十輪全部白跑;一輪迴圈可能要幾十秒且毫無輸出,使用者以為當機,直接按下取消;一覺醒來發現帳單多了一位數字;輸出撞上限被截斷,模型自己不知道,你也以為它說完了。

作者觀察到的重點很銳利:這些問題沒有一個出在「迴圈」這個結構本身。所以「能跑的迴圈」和「生產級的迴圈」之間的差距,從來不在於要不要寫 while,而在於每一輪迴圈裡,你還額外做了什麼。

這句話之所以在社羣被大量引用,大概是因為它說中了一種普遍經驗。很多東西的 demo 都很漂亮,六行程式碼就能讓人驚呼;但 demo 與產品之間隔著的,是那些沒人想看的細節:錯誤處理、記憶體管理、逾時、重試。這個道理寫程式的人懂,不寫程式的人其實也懂,只是換個領域就忘了。

一輪迴圈裡的五個階段

文章的主體,是把前面那些災難歸位成一輪迴圈裡的五個階段:準備上下文、呼叫模型、決定是否繼續、執行工具、構建下一輪狀態。

準備上下文是最容易被忽略的一段。多數人的做法是等 API 報「上下文超長」再處理,但那時這一輪已經浪費掉了。正確的做法是在進入模型呼叫之前就先評估,而壓縮有輕重之分:最輕的一檔叫 snipping,直接把最舊的訊息整條刪掉,代價最小,零 token 開銷,也不需要額外呼叫模型,但資訊是真的丟了。

工具執行的部分也有一個反直覺的提醒:報錯資訊要寫給模型看,不是寫給人看。工具出錯時,你丟回對話歷史的不是一段堆疊追蹤,而是一段模型能讀懂、能據此調整下一步的說明。這個視角翻轉很微妙,整個迴圈裡的「讀者」從頭到尾都是模型,不是工程師。

構建下一輪狀態則是記帳:輪數、token 用量、壓縮發生的位置、截斷次數。這些數字在 demo 裡毫無存在感,在生產環境裡卻是你判斷「這個任務還健不健康」的唯一依據。

為什麼這種文章會被轉發

技術文的傳播邏輯,跟娛樂話題其實沒那麼不同。這篇文具備了被轉發的幾個條件:有一個可以截圖的核心畫面(六行程式碼)、有一個反差(最簡單的結構對上最麻煩的現實)、還有一句可以被單獨摘出來當心得的句子。

圍觀者的留言也大致分幾種。寫過 Agent 的人在那裡認親,說上下文爆掉和帳單多一位數都是親身經歷;沒寫過的人則把它當科普讀,第一次理解了「Agent 到底是怎麼自己跑起來的」。還有人把那六行拿去真的跑了跑,回來回報說前三輪很神奇,第五輪開始重複呼叫工具,正好驗證了文章裡的死循環警告。

某種程度上,這篇文章受歡迎,也反映了大家對「AI 很強」這類空泛敘事的疲勞。與其聽產品宣傳裡的智慧敘事,不如看懂它底層就是一個不斷把歷史餵回模型的迴圈。強大如 Claude,層層剝開,保留最核心的要點,也就是這個循環。神祕感被拆掉之後,剩下的東西反而更值得尊重:一個簡單到六行的結構,加上一堆認真對待的細節。

留給旁觀者的一句話

就算不寫程式,這篇文章也有一個可以帶走的觀察:所有看起來會自己思考的東西,拆到底都是循環加上判斷。循環負責不停嘗試,判斷負責決定要不要停。而工程師的工作,大部分花在讓這個循環在現實世界裡不至於燒錢、卡死或者把記憶撐爆。

下一次看到某個產品宣稱自己的 Agent 能自主完成任務時,你腦中可以浮現那個畫面:一個 while(true),安安靜靜地轉著,每一輪都把之前發生的一切重新讀一遍,然後決定下一步。它沒有魔法,它只是被照顧得很好。

主題

#agentloop+現象觀察#掘金技術文+社羣話題#aiagent+生活感