header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP

54萬行程式碼之後,Garry Tan 發現 AI 編程的老遊戲結束了

閱讀本文需 24 分鐘
別再使用富士康工廠的模式管理 Agent
原文標題:Stop building Foxconn factories for your agents
原文作者:Garry Tan,Y combinator
編譯:Peggy


編者按:當越來越多人討論「AI 會不會取代程序員」時,YC 總裁 Garry Tan 提出的其實是另一個問題:如果 AI 已經能夠完成大部分編程工作,我們為什麼還在用管理普通軟件的方式管理它?


今年年初,Garry Tan 花費數月時間,用 Rails 和 AI Agent 寫出了一個擁有 54 萬行代碼的項目 Garry's List。項目完成後,他卻得出了一個看似矛盾的結論:這 54 萬行代碼本身並不重要,真正有價值的是在開發過程中沈澱出的 GStack——一種圍繞 AI Agent 工作流構建的新型開發框架。


在他看來,過去幾年軟件行業形成了一種集體慣性:開發者不斷增加測試、校驗器、重試機制、後台任務和各種控制邏輯,把模型層層包裹起來。這種做法在模型昂貴且能力有限的時代有其合理性,但當 LLM 已經能夠自主完成大量工作後,這些系統反而像是在給一個超智能工人建造「富士康工廠」——用大量規則和流程去約束本已具備能力的智能體。


隨著模型成本快速下降、能力持續提升,軟件開發的重點或許正在從「寫更多代碼」轉向「設計更多能力」。作者提出用 Markdown 構建 skill pack(技能包,即可測試、可複用的能力模塊),讓 Agent 自動生成代碼、測試與評估體系,將複雜工作流沈澱為可複利的能力資產。他甚至展示了一個例子:原本需要數天時間完成的黑客松評審工作,如今只需幾十分鐘即可由 Agent 完成。


從某種意義上說,這篇文章討論的並非編程,而是軟件工業化邏輯的終結。當代碼不再是最稀缺的資源,工程師的核心競爭力也開始發生轉移:比起寫出更多代碼,判斷什麼值得構建、如何定義問題,以及如何把經驗沈澱為可複用能力,正在變得更加重要。作者最終得出的結論是:未來最優秀的工程師,未必是寫代碼最多的人,而可能是那個寫得最少,卻能釋放最多智能的人。


以下為原文:


今年 1 月,我重新開始寫程式碼,做了 Garry's List。Rails 程式碼和用於約束它的測試加起來,超過 50 萬行。


我當時很為它自豪。但其實不該。真正值得自豪的不是這個應用,而是我在構建它的過程中摸索出來的一套工作方式。GStack,也就是我使用 Agent 程式設計的方式,正是在做 Garry's List 的過程中長出來的。後來我把它開源了。它現在已經是 GitHub 歷史上 star 數最高的 100 個開源專案之一,不到三個月拿到了大約 10.5 萬顆星。


那 50 多萬行程式碼是「產品」。那套工作方式才是「副產品」。而真正重要的,是這個副產品。


那麼,54 萬行圍繞一個 LLM 搭起來的程式碼,本質上是什麼?


它是一座富士康工廠。為一個高度智能的 AI 工人建造的工廠。這個工人本不需要被高度監控,但我們還是給它建了。


進門要穿鞋套。早上 6 點起床。集體做操。日復一日站在同一條流水線上。生活艱難到每棟高樓都要裝上防護網,因為——那不是一種你想過的人生。每一個測試、每一道護欄、每一次重試循環,都是往這個工人身上拧上的一寸籠子。而這個工人本來就能完成這項工作,甚至還能完成你根本沒想到的一千件事。


人和 Agent 都有無限可能,但富士康工廠的邏輯,是從美好的生命中榨取智力和勞動。它們本來可以做這些工作,甚至做得多出 1000 倍,只要我們允許它們這樣做。


我建過這樣的工廠。今天所有人幾乎都在這麼建。而我現在想告訴你:不要再這麼做了。


時間旅行者


我用 53.9 萬行程式碼真正證明的,是我可以完美偽裝成一個時間旅行者。


一個 2013 年的 Web 2.0 工程師,也就是上一次我真正稱得上軟體工程師時的自己,被扔進了 2026 年,手裡拿著現代工具,卻仍然用他唯一熟悉的方式構建軟體:更多程式碼。永遠是更多程式碼。


工具已經變了,但我的本能沒有變。


2013年的工程師在骨子裡相信一件事:能力等於程式碼行數。這個信念在過去幾十年裡都是對的,直到今天。


如果你把 Codex 或 Claude Code 交給我,我可以完成 100 個甚至 1000 個工程師的工作量。但這仍然是同一張地圖,只是換了更快的引擎,用最快的速度衝向一個現在已經錯誤的目的地。


這正是當下幾乎所有 AI 構建者所處的位置。他們升級了工具,卻保留了2013年的心智模型。


這個陷阱看起來不像陷阱,因為程式碼確實能跑。Garry's List 也確實上線了。那一個月,我感覺自己像是經歷了人生中生產力最高的階段。


但那只是服務於一個過時想法的生產力。


LLM 曾經很貴,所以我們必須「馴服」它們


截至2025年前後的舊經濟學是:LLM 呼叫很貴,而程式碼很便宜。


所以你會寫程式碼來節省模型呼叫,約束它、馴服它、小心翼翼地呼叫它。那時的架構是:用大量軟體包裹少數幾個珍貴的模型呼叫。


但這個等式的兩邊都反過來了。


模型正在變得便宜,而且每個季度都更便宜。與此同時,模型足夠聰明,價值與成本的比例已經發生翻轉。模型還能寫出可用的程式碼。


所以你不再需要寫程式碼來「看管」模型。你可以用自然語言告訴模型要做什麼,然後讓它只寫出真正必要的最小程式碼。


這就是 just-in-time software(即時生成式軟體),而我們正在進入它的黃金時代。


軟體製品的形態也徹底變了。那個 Rails 應用是54萬行我寫下並擁有的程式碼,以及用來監管它的測試。它的替代品,是一個由 Markdown 和少量程式碼構成的 Agent,規模只有前者的一小部分。


能力相同。更容易閱讀。更容易維護。也靈活得多。因為行為存在於你可以用自然語言編輯的指令裡,而不是凍結在你某天寫下的邏輯程式碼中。


我們曾經寫程式碼來照看一個東西,但現在這個東西已經比那些程式碼更聰明。


富士康工廠內部:連防護網都搭好了


如果你最近在寫程式碼,很可能已經在不知不覺中建造這種工廠。


你可以走進自己的程式庫,數一數有多少程式碼只是因為你不信任模型能完成它的工作才存在。我的程式庫裡,大約有 26.2 萬行應用程式碼,以及大約有 27.6 萬行用來監管它的測試。審計委員會比公司本身還大。


有些清淨器在檢查模型本來可以處理的輸入。有些驗證器在檢查模型本來可以發現的輸出。有些重試迴圈包裹著模型呼叫,而模型其實已經能夠自行恢復。每一行這樣的程式碼,都是在下注:這個工人一定會失敗。


你也寫過類似的下注。我們都寫過。


127 個背景任務,其中 33 個是定時任務。這不是能力,而是給一個現在通常會準時上班的 LLM 工人設置了 33 個鬧鐘。


在我建造「富士康工廠」的那些日子裡,Claude 和我寫過一個 1778 行的檔案。它唯一的作用,是質疑模型給出的事實。


它會把模型提出的每一個論斷拆開,並行地發給五個不同來源驗證,然後打分。簡單論斷會先經過一道輕量分診門檻,避免所有內容都走完整流程。如果第一輪沒有結果,就重試。然後還有備用方案的備用方案。


《瑞克和莫蒂》裡有一集,Rick 在早餐桌上造了一個小機器人。機器人啟動後抬頭問:我的使命是什麼?Rick 說:你負責遞黃油。機器人把黃油碟推過去,低頭看著自己的雙手,說:天啊。然後它就坐在那裡。那個機器人也有無限可能。它卻被造出來遞黃油。我的 27.6 萬行測試,就是那個黃油碟。



當你用 2023 年式的「富士康工廠」方法構建軟體時,你建造的是一座籠子。如果不小心,你自己會變成看守這座 AI Agent 監獄的人。


Markdown 現在就是程式


我說 Markdown,並不是指 prompt。


Prompt 是短暫的。你輸入一句話,得到一個結果,然後它就蒸發了。


我說的是構建。是有版本管理、可測試、可重複使用的構建。


Markdown 是指令層:意圖、技能、判斷,以及關於工作應該如何完成的說明。TypeScript 則是薄薄一層確定性邏輯。它只承擔少數真正必須由程式碼完成的事情:I/O,以及那些絕對不能幻覺的部分。


更重要的是,你要像測試程式碼一樣測試 Markdown。


在我的系統裡,這個循環只需要一個詞:skillify it。


我會先和 Agent 一起把某個東西做出來,直到它能工作。然後我說:「skillify it。」接著 Agent 會寫出:

Markdown 技能說明;

它需要的最小程式碼;

程式碼的單元測試;

技能的 LLM eval;

覆蓋技能與程式碼的集成測試;

一個 resolver,讓 Agent 在相關場景下自動呼叫這個技能;

以及 resolver 自身的 eval。


這一整套,就是一個 skill pack(技能包)。它是一個可重複使用能力單元,會不斷複利。


真正神奇的是測試:對 skill 的覆蓋,允許它在變化中不被破壞。這就是它和 vibe coding(憑感覺寫程式碼)的區別。Vibe coding 只是感覺,而 skill pack 有測試。


我們現在才剛剛開始實時摸索 Agent 工程的系統原語,就像早期 CPU 時代發明棧、堆、寄存器和冯·諾依曼架構一樣。


我認為 skill pack 就是這樣的原語之一。Harness(執行框架)也是另一個。


大多數人還沒意識到這一點,因為他們仍然在用程式碼行數衡量軟體。


你真的可以建出什麼瘋狂東西


這不是一個玩具式論點。


這個 Agent 能做的事情,已經超過了那個 50 多萬行 Rails 應用,而且新增程式碼只有後者的一小部分。


舉個具體例子:黑客松評審。


兩週前的一個週六,我們辦了一場 GStack/GBrain 黑客松,有 85 個提交作品。我上傳了包含所有作品的 Google Drive,然後說:開始。


Agent 分析了每個原始碼庫的原始碼品質,對每位參賽者做了深度研究,觀看並截圖了每個 demo 影片,給介面打分,並對 85 支團隊進行了排名。最後,它告訴我這批作品裡最值得關注的 5 個應用。


評審一場黑客松,原本是好幾天的苦活,現在變成了大約 30 分鐘的事。


我沒有寫程式碼。我讓 OpenClaw 去做任務,我負責引導它。等它完成後,我說:skillify it。


於是它變成了一個任何人都可以永遠復用的 tarball,可以應用在任何黑客松表格上。


我現在幾乎每天都在說「skillify」。我已經有超過 350 個 skill pack。幾乎所有我在個人和工作中需要處理的任務,現在我的 Agent 都能做。


這就是反轉的一個例子。


過去,一個這樣的能力會是一個真正的軟體專案:需要爬蟲、評分流水線、影片處理、研究模組、排名系統。現在,它變成了 Markdown 加一點程式碼,由 Agent 在一個下午構建出來,並且所有人都可以復用。


順便說一句,那場黑客松的冠軍確實寫出了一段我最後潤色並合併進 main 分支的程式碼。現在 GStack 可以在模擬器和真實裝置上測試 iOS 應用,而這個完整功能,是一個人在黑客松不到 8 小時內做出來的。


Tokenmaxxing


這裡有一張入場券,但幾乎沒人願意付錢:你必須願意在 token 上花錢。


Peter Steinberger 做了 OpenClaw,這是我最喜歡的 harness。他說過,自己願意每年花大約 100 萬美元在 token 上。


大多數人聽到這個數字會退縮。但他們不該退縮,因為黃金就在這裡:如果你願意這麼做,你就可以生活在 2028 年。而其他人要花好幾年才能追上來。


這也是為什麼 OpenAI 決定向每家 YC 公司提供 200 萬美元額度的 token credit,以 uncapped SAFE 的形式發放。


當你能夠把原始智能轉化成 token,再把 token 轉化成真正可被用戶使用、能解決真實需求,並且用戶願意付費的產出時,會發生某種神奇的事情。


如果你是創始人,就應該把這種能力拉到最大。這也是為什麼我一直強調 skillify,因為它是一種真正能帶來好結果的方法。


過去一個時代,我們總覺得 LLM 呼叫太貴,必須節制使用。我們一直在 ration,也就是配給它們。


但現在,正是這個本能在拖慢人們。


如果你願意 tokenmax,願意讓 Agent 自由消耗 token、持續運行,你就能獲得類似 1994 年互聯網早期的先發優勢,只不過這次的成本用 token 支付。


這會把仍然對一個價格正在崩塌的資源斤斤計較的 99.99% 以上組織擋在門外,把領先優勢交給少數真正看懂的人。


一年幾萬到幾十萬美元,對一些人來說甚至更少,你今天就能以幾年後全世界不得不採用的方式運行。


你可以在 2026 年活成 2028 年。這筆提前投入是值得的。因為今天價值 10 萬美元的 token,明年可能只要 1 萬美元,後年可能只要 1000 美元,到 2028 年底也許只要 100 美元。


如果你告訴歷史上任何一個創業者:你可以投入六位數資本,讓自己提前兩到三年進入未來,並且維持這種優勢好幾年,100 個合格創始人裡,100 個都會接受這筆交易。


唯一擋在面前的,是那個 2013 年的本能:它告訴你,模型呼叫太貴,不能放開用。


但它們已經不貴了。那是舊經濟學。反轉已經發生。


Esalen,而不是富士康


如果 54 萬行控制代碼是在為工人建造一座富士康工廠,那麼解法就是建造它的反面。


Big Sur 的懸崖邊有一個地方叫 Esalen。人們去那裡被拆解、被重塑,放下盔甲,然後更像自己地回來。


沒有流水線。沒有工頭。沒有早上 6 點的哨聲。是自由,而不是控制。


去建造那樣的東西。


去建造一個 YC 那樣的地方:我們在那裡幫助你建立公司,解決真實問題,找到 product-market fit。


建造那些能讓工人自由的地方,無論這些工人是人類,還是 AI。


這就是整個精神內核。


做那些能讓 Agent 自由的事。做那些能讓人類自由發揮的公司。


在知識工作中,工廠是失敗模式。真正的目標,是建立釋放人的機構。現在,這個目標也指向了 Agent。


OpenClaw 就像一輛你必須自帶扳手的法拉利。模型是引擎,不是整輛車。我們仍然處在 Apple I 時刻,還在焊面包板。


它發布得很粗糙。你仍然必須自己把它完成。


我開源的 GBrain、檢索引擎和 skill pack,還不是開箱即用的完整產品。


有人說 OpenClaw 不安全。他們不明白,自由正是它強大的原因。在你真正遇到問題之前,不要急著給一個你信任的東西拧上安全護欄。你手裡的扳手,恰恰說明它還沒有被關進籠子。


控制系統之所以精緻,是因為控制需要徹底的控制,也就是富士康工廠。自由系統之所以粗糙,是因為它相信你會把它完成。


你要選擇自己到底在建哪一種。然後回頭看看你寫了多少代碼。


這到底意味著什麼


54 萬行 Rails 代碼,是我證明自己仍然能在舊遊戲裡打到最高水平。


但那個水平屬於 Web 2.0,屬於十年前。


我依然能像過去一樣打得很好,甚至能成為 1000 倍工程師。但我做的是建造富士康工廠。舊代碼。舊遊戲。


而新遊戲,根本不是用程式碼行數來玩的。


結果是,我的黑粉們是對的。如果你們正在讀這篇文章,匿名朋友們,我向你們致意。


當你可以把意圖直接轉化成可運行、可測試、可重用的系統時,瓶頸就不再是你能構建多少東西,而是你到底想要什麼,以及它是否值得構建。


稀缺資源變成了清晰度、品味和判斷力。


寫程式碼最少的工程師,往往才是構建最多東西的人。


我寫了 54 萬行程式碼才學到這一點。你不必重走一遍。


[原文連結]



歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交