寄件者:Thorsten Ball
一年前,在這份電子報上,我曾思考:AI 可能如何改變程式設計?
以下是我在那篇文章中提出的一些問題:
「我們會在檔案頂部寫 docstring,不是給人類讀的,而是讓 LLM 在將檔案輸入上下文視窗時讀取的嗎?」
「我們會看到語言伺服器和 LLM 的融合嗎?」
「當我們開始純粹為讀者優化程式碼和程式碼流程時,會發生什麼變化?因為寫程式的是機器。」
「我們會改變模組化程式碼的方式,轉而撰寫許多小型程式嗎?因為它們比大型程式碼庫更容易讓 LLM 消化。」
一年過去了,這些問題在我看來大多顯得天真。我們當然會為 Agent 寫文件,語言伺服器似乎已死,而且我們百分之百地在為可讀性而非可寫性優化程式碼,只不過現在的讀者也是 Agent。小型程式?是的,我們都在為 Agent 優化程式碼庫了。
這裡有個小故事,讓你看看這一年發生了什麼。
週二,我和 Tim、Camden 開會討論我們新架構的某些事情,他們建議我們到處使用 UUID。嗯,我不確定,你知道 UUID 不是萬能藥,它們確實有缺點,我說。但我們沒有那些缺點,他們說,因為在這個架構中我們的資料表只有幾百行。好吧好吧,我說,但 UUID 有點醜,你看著它們時得不到任何洞察。
週四,Tim 說:嘿,你不是剛在 Raising An Agent 上說過,你需要為 Agent 優化,而不是為人類優化,即使犧牲人類開發者體驗也在所不惜嗎?我不記得我確切回了什麼,但大意是:你等著看,到時候我會說我早就告訴你了,UUID 很醜。
然後昨天,週六,我意識到 Tim 是對的。我在騙誰呢。未來 Agent 讀到的 UUID 會比我一輩子看到的還多。我只是對一個我幾乎不會看到的東西有美學上的反對意見。但 Agent 們會處理那些 UUID,而且它們很喜歡。
我們錄了另一集 Raising An Agent。Quinn 和我談到這些程式設計 Agent 的前沿正在往哪裡移動、為什麼我們要砍掉 Amp 編輯器擴充功能、為什麼我們認為側邊欄和文字編輯器都不是未來,最後我們談到在 AI 領域建造東西有多瘋狂,以及過去二、三十年來軟體公司的所有玩法現在都已經過時了。唯一的致勝之道是接受棋盤會在隨機時間點被翻轉。這集 55 分鐘長,是我如果今晚和你出去喝啤酒會告訴你的濃縮版。
錄了另一支短影片:「這是你想下的賭注嗎?當我們周圍一切都在改變的時候?」
我的同事 Lewis 寫了一篇很棒的文章,關於給 Agent 回饋:Feedback Loopable。裡面有很多好想法:箭頭、URL 更新、日誌、除錯/REPL/CLI 的東西。強烈推薦。
嘿,認真的,去看這場演講:Rich Hickey - Simple Made Easy。我之前已經連結過了,我在推特上也說過很多次,但這週我發現(然後消化並恢復)我的一些同事竟然沒看過。所以現在我在這裡告訴你,這可能是有史以來最偉大的程式設計演講。我不是在開玩笑。我不是在誇大。我是認真的。沒有一週我不想到它。我現在正在重新架構一個系統,當我閉上眼睛,我能看到 Rich 站在那裡,一隻手放在講台上,另一隻手在空中,垂著,然後他說「……然後你就得到了這個結。」去看那場演講。不要 complect。
Martin Alderson:「正在出現兩種 AI 使用者。他們之間的差距令人驚訝。」裡面有很多好東西。第一點關於人們被困在 Copilot 中的觀點很有趣,不是嗎?如果你的產品是一個文字框,那它看起來就像所有其他文字框。但有些文字框背後有真正的精靈,有些則沒有。你作為使用者無法事先判斷。他提出的關於企業用安全限制搬石頭砸自己腳的其他觀點也很有趣。
週一是我的生日,我收到了一份很棒的禮物:Xteink X4!是的,它是一個非常小的電子閱讀器。我的迷你評測(在這週還沒有在上面閱讀過):非常輕、非常小、非常有趣——軟體似乎尚未完成,感覺有點粗糙,傳輸檔案到上面有點麻煩,但有很多文章和瀏覽器擴充功能教你如何充分利用它,還有自訂桌布,以及可以刷入的開源韌體,人們正在用他們的 Agent 為它寫腳本,我讓 Amp 幫我克隆並擴展了 Send to X4 瀏覽器擴充功能,讓它修復一些壞掉的 epub 格式。有趣!
說到文字框,這裡是 Linear 的創意總監 Julian Lehr,他反對對話式介面的論點。
Mitchell:My AI Adoption Journey。「通過這段旅程,我個人已經達到了在現代 AI 工具上取得成功的程度,我相信我正以適當的、務實的、紮根於現實的態度來對待它。我真的不在乎 AI 是否會長存,我是一個軟體工匠,只想為了對這門技藝的熱愛而打造東西。整個格局變化如此迅速,我確信很快就會回頭看這篇文章,嘲笑我的天真。」好文。
而這裡是 DHH,大約在我採訪他六週後——當時他說他不相信這個炒作,Agent 寫不出他喜歡的程式碼——現在他告訴他的員工如何使用 Agent。
精彩的部落格文章:A Broken Heart。去讀它,我發誓你不會後悔。精彩的寫作、精彩的 bug、精彩的除錯。而且——你可能甚至不會注意到,因為它被如此平靜地編織在其餘內容中——對 Agent 的絕佳運用。
Brendan Gregg 加入了 OpenAI。對他來說多棒的工作!世界上很少有地方像那裡一樣,效能和商業價值之間的關係如此重大。
另外:Yehuda Katz 加入 Vercel 開發 v0。又一位大型框架程式設計師轉而用 AI 打造開發者工具。因為那是槓桿所在。
但接著是 José Valim,另一位大型框架人物但轉型為語言人物,他解釋了為什麼他認為 Elixir 是最適合 AI 的語言。我非常尊敬 Valim,他是這一代最偉大的程式設計師之一,但我讀這篇時忍不住想:這重要嗎?docstring?好像 GPT-5.2 不存在一樣。不過關於工具的觀點是站得住腳的。還記得有些語言翻轉了堆疊追蹤的列印方式,讓最重要的一行最後列印,這樣在終端機中閱讀的開發者可以不用往上捲就能立即看到嗎?Agent 的等價物會是什麼?
而這裡有人論證框架的時代已經結束,但軟體工程(「真正的軟體工程」)回來了:「自動化和樣板從未如此廉價地被克服。我基本上從不寫兩次同一行程式碼。我立即建造我需要的小工具,量身定製,精確地圍繞手邊的問題塑形。我不需要任何花哨的 monorepo 管理器。一個簡單的 Makefile 涵蓋了我 99% 用例的 100% 需求。當事情變得非常複雜,如果它們變得非常複雜,我會考慮。但只在那時。不早一秒。這就是工程。你解決你有的問題,而不是會議舞台上某人告訴你最終會遇到的問題。」我同意 Agent 解決了許多框架正在解決的相同問題,但重疊不是 100%。框架將繼續存在,但在幾年內看起來會截然不同。
相關:用逗號開頭你所有的命令。這看起來非常聰明,雖然我的 ~/bin 裡沒有那麼多東西,但我很感興趣。但我也在想:Agent 不會認為這是打字錯誤嗎?每次嘗試執行命令時,它們不是至少會搞錯一次嗎?你知道的,就好像它們在試著插入 USB-A 一樣。
所以,John Collison 和 Dwarkesh Patel 採訪了 Elon Musk,其中兩人喝了 Guinness。我知道連結到這集我可能會收到憤怒的信件說我不該宣傳 Musk,連結到和他的對話就是在支持這個那個。我知道,但我確實認為聽某人說話並覺得他們有趣、能引發思考,和同意他們是兩回事。這就是我聽這集時的感受。我不斷思考這有多瘋狂:太空中的資料中心來生成 token。也許真的會發生?哇。我也不斷想 Musk 如何看待問題和工程挑戰,他如何總是想要消除下一個瓶頸,以及一切對他來說都是製造問題。一切,就好像他在玩 Factorio。建造一個東西不夠,要解決問題你需要建造製造東西的工廠。我確實認為聽這集和閱讀周圍的評論很有趣,因為能源和 GPU 是我們正在經歷的變革的核心。這也很有趣,因為 xAI 正在加入 SpaceX,SpaceX 即將 IPO,你不得不想這個 podcast 有多少是 IPO 推銷的一部分。
「我想念深度思考。」
Rasmus 的這則推文值得一讀。Protty 的回覆也是(就是那個 Zig 貢獻者、前 TigerBeetle、硬核駭客 Protty)。我個人非常無聊的看法,無聊到常常讓我懷疑我是不是就是不夠聰明,看不到別人顯然看到的東西:我不認為今天的軟體比我 1998 年、2002 年或 2010 年使用的軟體更多 bug。我也不認為當時的軟體更好。我確實認為林迪效應在軟體中也存在,這就是為什麼 Vim 是我們應該供奉的東西,但不代表 1992 年的所有軟體都很棒。
cdixon 在 2013 年說:最聰明的人週末做的事,是十年後其他所有人在工作日做的事。
2013 年,再次,這次是 Jason Cohen:The Code is your Enemy。有先見之明,對吧?我的意思是:「弱點和你的優勢一樣,它們往往是同一件事:你對創造的熱愛。你喜歡寫乾淨、測試過、可擴展、可延伸、優美的程式碼。你喜歡把『JTBD』轉化為 960 寬的藝術品。你喜歡在瀏覽器中開發整個應用程式,對接可擴展的後端。因為你熱愛它,你就去做了。你早上醒來想的是你能做什麼,而不是你能怎麼賣。你在查看待辦清單之前就打開 Visual Studio,因為有些東西你就是需要調整一下。你在打開 CRM(如果你有的話,但你沒有)之前就啟動 xterm,因為伺服器跑得比你預期的稍微慢了一點,你想翻翻日誌檔。」
「Clawdbot 目前是一個小眾、極客的專案,但請將它視為一個未來趨勢:當主要的消費級 LLM 變得足夠聰明和直覺,能夠隨時為你適應任何給定的功能——當你最終能夠要求 Claude 或 ChatGPT 在你的電腦上做或創造任何東西,不需要終端機 UI——那由專業開發者創建的『應用程式』會怎樣?我特別擔心獨立的實用程式應用:如果 Clawdbot 可以為我的 LG 電視創建一個虛擬遙控器(我做過的事)或每天早上給我一份帶語音的個人化報告(我設置的另一個 cron 任務),而且完全按照我想要的方式運作,我為什麼還要去 App Store 找別人做的預建方案?當任何我可能想要仔細建立的『自動化』其實只是發給數位助手的一條訊息時,Shortcuts 會怎樣?」這是 Federico Viticci 寫的。我認為他有程式設計能力,但我不認為他當過軟體工程師,而現在他也看到了:很多軟體在未來幾年會消亡。不要犯這個錯誤,以為會有公告或葬禮。
這是 stevey 以非常 stevey 但冷靜反思的方式寫的一篇關於 Anthropic、以及公司經歷黃金時代的概念、以及其他一百件事的文章:The Anthropic Hive Mind。這是 stevey 最好的狀態。回到 Viticci 寫的內容,結尾段落非常好:「如果你的軟體存在完全是線上或 SaaS 的,產品中完全沒有原子,只有電子,那麼坦白說,如果你不轉型,你就相當慘了。我不認為目前有任何轉型的配方;這一切都是新的,而且發展非常快。但有一條黃磚路:花費 token。這條金色閃亮的小徑會逐漸引導你的公司走向正確的方向。你的組織將不得不學習一堆新的課題,因為當寫程式不再是瓶頸時,新的瓶頸會出現。你需要儘早開始學習這些專屬的組織課題。唯一確定你正在學習這些課題的方法是人們在外面嘗試和犯錯。而你可以從他們的 token 花費看出他們練習了多少。」這是我關於如何走這條黃磚路的配方,來自 2025 年 12 月。我會更新它說:在 Amp 中使用 deep mode。GPT-5.2 和 GPT-5.3——那才是現在的前沿。
Wirth's Revenge。我真的很享受這篇。我不同意其中不少觀點,但這正是讓它留在我腦海中的原因,也許我會因此改變我的看法。好東西。
Nolan Lawson 邀請我們哀悼我們的手藝。「多年後的某一天,我們會回顧那個我們是最後一代手工寫程式的時代。我們會笑著向孫子們解釋,我們用手指打出 JavaScript 語法是多麼愚蠢。但私下裡我們會懷念它。」
Domenic Denicola:「但它們還沒有解決規劃、排優先順序和專案管理的需求。而且通過讓低優先順序的工作也變得令人上癮和引人入勝,程式設計師很可能會在燒完 bug 積壓和重構上花費時間,而不是更快地執行最優先的事項。換句話說,雖然 AI Agent 可能讓一個有紀律的團隊以一半的時間交付,但一個紀律較差的團隊可能按照原來的時程交付,帶著優美的可擴展內部架構、所有 P3 bug 都已修復,以及幾個副專案和支援工具作為額外成果。」
Anthropic 的 Nicholas Carlini「用 Agent 團隊指派 Opus 4.6 建造了一個 C 編譯器,然後(大部分時間)走開了。」這是一個里程碑,我認為即使到明年我們都會回顧它。但當然,人們已經把球門柱搬出體育場了,說編譯器產生的程式碼比 GCC 的 -O0 還慢。停車場見!但這裡還有另一個有趣的部分,在結尾:「所以,雖然這個實驗讓我興奮,但它也讓我感到不安。建造這個編譯器是我最近最有趣的經歷之一,但我沒有預料到這在 2026 年初就如此接近可能。語言模型和我們用來與它們互動的框架的快速進步,為撰寫大量新程式碼打開了大門。我預期正面的應用會超過負面的,但我們正在進入一個新世界,需要新的策略來安全地導航。」為什麼像這樣的聲明從 Anthropic 的人口中說出來時總是聽起來那麼空洞?
Steven Sinofsky,親眼見證了不少平台和典範轉移的人:「軟體之死。才沒有。」他說「軟體會比以往更多。這不僅僅是因為 AI 寫程式或 Agent 建造產品之類的。而是因為我們遠遠沒有滿足軟體能做的需求。」以及「新工具將用 AI 創造出來做新的事情。」還有:「最後,絕對是真的,有些公司不會活下來。甚至在很長很長的時間裡,比一個職涯或一個世代還長,每家公司都會完全不同,或者他們的產品線和組織會發生巨大變化。這不會在任何投資時間線上廣泛發生。」
Jo Kristian Bergum 對未來有一些非常好的想法:「值得建造的東西很少。」他說 10,000 行程式碼的價值正在趨近 $0,很多東西會隨著這些行曾經持有的價值一起消失。「什麼存活下來?壓縮了來之不易的洞察的系統——Agent 需要花費大量 token 才能重新發現的洞察。在比推論更便宜的基底上運作的系統。解決 Agent 無法輕易繞過的困難通用問題的系統。為 Agent 實際運作方式而非我們希望它們運作方式所建造的系統。」關於「更便宜的基底」的觀點是我反覆思考的。讓我們看看結果如何。
David Crawshaw 在「Agent 又過了八個月」後說:「我比以往任何時候都更享受程式設計,因為我希望能找到時間來寫的程式中,有更多實際存在了。我希望我能與那些對 Agent 帶來的變化感到恐懼的人分享這份喜悅。恐懼本身我理解,我更廣泛地對隨時可用的智能在我們社會中的終局感到恐懼。但在撰寫電腦程式的有限領域中,這些工具為我的工作帶來了如此多的探索和喜悅。」
昨晚,令我非常高興的是,我發現 Netflix 上有一部關於《紐約客》一百週年的紀錄片。為什麼沒人告訴我?下次請告訴我。這就是我寫這份電子報的原因。但總之:令人愉悅且非常好。另外,如果你從未聽過,我非常常想到 David Remnick 在 2016 年 Longform podcast 這集中的聲音。
這個標題真厲害:Notepad++ 被國家支持的駭客劫持。還有一篇非常有趣、截圖超多的深度分析,關於攻擊是如何運作的。但我想讀《紐約客》版本的這個故事。誰會攻擊 Notepad++?這背後一定有一個精彩的故事。
如果你也認為五年後的程式設計會和現在完全不同,你應該訂閱。