2025 年在哥本哈根舉行的 GOTO Conference 上,Kent Beck 和我在台上聊天並回答觀眾提問——我把這種形式稱為「兩位老傢伙坐在公園長椅上」。我們談論了在 2025 年 10 月時,使用 LLM 輔助程式設計的經驗,表達了三十年來一直在說的話至今仍需重複的挫折感,也提到任何類似宣言的重聚都應由年輕世代主導,並討論初級開發者在職涯中應該專注的事項。

 ❄                ❄                ❄                ❄                ❄

Ian Johnson 撰寫了一系列文章,討論重構一個混亂的程式碼庫

這個故事跟隨一個真實的 Laravel + React 程式碼庫,歷經約三個月與 258 次提交,從一個沒有測試的遺留單體應用,轉變為具備自動化品質閘門、React SPA 遷移進行中,以及一個能在最少監督下可靠交付生產程式碼的 AI 代理。

這個系列詳細涵蓋了各個步驟,而他的做法與我會採用的方式相似。首先用適當的特性測試掌控一切,加入靜態分析,引入正確的模式讓事情順暢進行。

在所有這些之後,是他對 AI 的使用方式,而這在過程中有所改變:

在這個專案的前兩個月,我使用 Claude Code 且關閉自動核准。每次檔案編輯、每次終端機指令、每次變更……我都會在執行前審查。[…] 結果不錯,程式碼很乾淨。但大部分的思考與一半的打字仍由我負責。這個代理只是個建議更好的華麗自動完成工具。我並沒有得到原本希望的槓桿效益。

我讀到一篇文章,討論「on-the-loop」與「in-the-loop」的人類-AI 協作。這個框架立刻讓我理解 […] 我之所以微觀管理,是因為我不信任代理會做對的事。而我不信任代理,是因為沒有任何機制強制它做對的事。

他早期的步驟是加入測試、靜態分析與正確的架構模式。有了這些基礎,他就能讓代理做更多工作。

我的角色從撰寫者轉變為策展人。我不再撰寫大部分的程式碼。我定義模式 […] 審查測試規格 […] 審查輸出 […] 更新 harness […] 做出策略性決策 […]

他在系列結尾分享了如何將經驗推廣到其他情境的結論。

 ❄                ❄                ❄                ❄                ❄

在我出生地的土地上,當 National Health Service 決定關閉幾乎所有開源儲存庫,據稱是為了因應 LLM 的安全威脅時,引發了顯著的不滿。關閉這類儲存庫並非對抗 LLM 輔助攻擊者的有效對策。我懷疑這與英國政府中備受推崇的 IT 推動單位 GDS(Government Data Services)發表其立場並非巧合。

將程式碼從公開移至私有,作為安全設計交付、所有權與修復投資的替代方案,是一個警示訊號,因為這會減少分享與審查,可能減緩政府與供應商之間的協調改進,且無法消除執行中服務的根本弱點。

Terence Eden 對此的看法令人印象深刻:

在英國公務體系中,偶爾會聽到「被邀請參加沒有餅乾的會議」這個說法。這意味著一場相當冷淡、沒有正常會議應有禮貌細節的討論。

 ❄                ❄                ❄                ❄                ❄

我看到一些與 LLM 密切合作開發者遇到的認知耐力問題,Adam Tornhill 也加入了這個群體

使用代理的一大好處是能讓我們更長時間停留在高階問題上。我們較少被細節、依賴清理等過去會打斷專注的次要任務分心。

但有一個我們仍低估的成本。代理式程式設計在心理上相當耗費。

我通常能維持這種步調幾小時,之後就需要休息。這個步調實在太緊繃。根據與其他工程師的對話,我認為我並不是唯一有這種感覺的人。

他解釋,與 The Genie 合作意味著我們在更短時間內做出更多決策,這種決策密度的增加對大腦來說是負擔。

他的因應方式是保持代理任務規模小、自動化所有能自動化的部分,並接受只要有良好的驗證機制,就不需要知道每一行程式碼。

值得注意的是,他並沒有朝向使用多個代理群組來協調工作,而是使用一個長期執行的任務(由他監督)與一個專注任務。

最後這一點很重要,因為有許多關於同時執行二十個代理的炒作。我甚至無法想出二十個有意義的東西來建構,更不用說可能中斷所帶來的認知負擔。這根本就是錯誤的方向,至少對人類來說是如此。(當然,我了解子代理與機器平行化。我反對的不是那個,而是人類注意力的平行化無法擴展)。

我喜歡他納入了一些在這種高強度程式設計時間之外可以做的事。不只是「喝杯咖啡」(雖然他也提到了),還包括學習軟體所支援的領域知識。

 ❄                ❄                ❄                ❄                ❄

來自社群媒體的幾句精簡引言

Lorin Hochstein

「隱喻債務」是指你所有的隱喻都涉及「債務」這個概念,因為你已經想不出其他隱喻了。

 ❄                ❄

Daniel Terhorst-North

如果一個素食健身愛好者正在使用 Claude 撰寫 Rust,他們會先告訴你哪件事?

 ❄                ❄                ❄                ❄                ❄

Karl Bode 對畢業典禮演講中提到 AI 卻遭到噓聲的現象做出回應。他指出年輕人對科技寡頭及其產物日益不滿

重點是孩子們並不笨。他們清楚地看見。他們看見科技公司、媒體與畢業典禮演講者所推銷的,與他們親眼反覆看見的現實之間的差異。

他們看見科技寡頭過去十年深陷一場又一場醜聞、一波又一波炒作,穩步將他們觸碰的一切「去優質化」。

[…]

認為 AI 的好處無法抵消風險的 Z 世代比例,現在約為百分之五十,較去年上升 11 個百分點。每十個人中就有八個相信,使用 AI 會讓實際學習的過程變得更困難。

他認為年輕人背負著進入一個日益惡化世界的認知——這導致他們對科技寡頭的最新產物感到憤怒。這種憤怒,對於像我這樣有舒適退休出口的人來說,容易充分理解。這種憤怒可能帶來政治與社會後果。

 ❄                ❄                ❄                ❄                ❄

與這些關切相關的是上週《經濟學人》報紙中的幾篇文章。該報認為,歷史上重大的技術進步並未導致顯著失業或薪資下降(付費牆文章)。最接近的情況是 19 世紀英國的第一次工業革命。當時薪資停滯,但人口也大幅增加,從 450 萬增加到 1200 萬。

文章也指出,我們可能只有在經濟衰退發生時,才能完全理解所有這些後果,因為這是大多數非生產性工作被淘汰出局的時刻。

另一篇文章(同樣有付費牆)指出,AI 正在影響畢業生的聘僱。他們分析了近期畢業生的調查,觀察就業率是否因工作對 AI 的暴露程度而有所不同。暴露程度最低的五分之一科目,過去幾年就業率下降 1.5%,而暴露程度最高的五分之一則下降 6.6%。

 ❄                ❄                ❄                ❄                ❄

Lawfare 對美國政府最新的 AI 監管努力並不認同。

上週三,白宮邀請 OpenAI、Google、Anthropic、Meta 與 Microsoft 的領導人參加隔天下午的簽署儀式。川普總統將簽署一項關於 AI 與網路安全的行政命令——這是該政府迄今為止最正式的努力,旨在建立在發布前審查前沿模型的自願程序。但就在儀式前約三小時,當部分公司高管已經在飛往華盛頓的途中時,白宮取消了該活動。

他們認為擬議的法規相當溫和,並包含一些強化網路威脅防禦的有價值措施。

但值得強調的是,延後(如果不是徹底取消)這項命令的影響。根據命令本身的條款,這已經是聯邦政府能在紙面上提出的最溫和的前沿 AI 干預:自願性、聚焦於政府自身的防禦,並明確禁止成為許可制度。問題不在於政府強制,而在於政府是否應有任何固定的角色。自願性,換句話說,並非本屆政府前沿 AI 政策的底線,而是上限。

鑑於激發這項草案命令的關切很可能在不久的將來加劇,這是一個值得質疑的立場。這對那些鼓掌支持延後或取消命令的人來說也是自毀前程。殺死這項命令並不能解決政府干預 AI 的風險,反而會留下 Ball 所描述的「不透明且本質上無法無天」的替代方案:政府透過後門管道取得存取,條款逐案決定,完全沒有穩定的規則。

這裡的問題之一是政府明顯缺乏 AI 或軟體方面的專業知識。太多事情是由科技寡頭的 whims 決定的,並沒有嘗試處理更廣泛的議題。這並不完全是壞事,試圖監管仍在快速演進的事物通常是徒勞的——但問題在於 AI 的影響如此巨大,如果落後太多,確實存在真正的危險。

 ❄                ❄

這讓我想到一件罕見的事——為政治候選人背書。如果你正在麻薩諸塞州第六國會選區(North Shore of Massachusetts)投票,我強烈建議你關注Beth Anders-Beck,她正在該選區參選國會議員。Beth 擁有長期的軟體開發背景(包括發展Forest and Desert的概念),因此能為國會帶來急需的專業知識。我認識 Beth 已有數十年,對她的智慧、判斷力與與他人合作的能力有高度評價。國會不配擁有 Beth,但它確實需要她。