我喜歡寫程式。先聲明這一點。

解決問題、架構決策,以及當一切就緒時的那種感覺。這些都沒有改變。改變的是圍繞著這一切的周遭事物。

最近我花費大部分時間在撰寫代理程式(agents)和工具。建構監督 AI 代理程式的系統、訓練模型、串連 AI 負責繁重工作的管線,而我則負責思考。老實說?我比以往任何時候都更開心。

大家都知道現在的模型很厲害。這不是新聞。但大多數人仍然沒有抓住重點。他們看到 AI 生成的程式碼,稱之為垃圾,然後就此打住。確實,在沒有指導的情況下,它就是垃圾。但有指導呢?模型可以寫出比大多數開發者更好的程式碼。這才是人們不願面對的部分。當有指導時。當你知道你想要什麼時。當你知道該採用哪種架構時。當你理解權衡取捨並能清晰地闡述它們時。遊戲就進入了簡單模式。

我現在正在建構一個東西。我不會透露細節。你不能洩漏想法。但它涉及並行圖遍歷、多層雜湊策略、抽象語法樹(AST)解析,以及檔案系統監視器,所有這些都串連在一起。這不是週末的駭客任務。但 AI 正在撰寫遍歷邏輯、雜湊層、監視器迴圈,而我則設計架構並決定當狀態變更傳播時系統應該如何反應。我能在幾小時內交付過去需要幾天的成果。不是原型。是真實的、結構化的、架構良好的軟體。

除錯?現在的除錯如虎添翼。我同時運行多個代理程式,將我的想法餵給它們。我懷疑是這樣,我會在這裡尋找,這沒有意義。它們會分散開來挖掘。這就像我的問題解決直覺同時乘以五個大腦。我仍然掌握直覺。代理程式只是以我從未有過的速度執行。

幾個月來,我沒有手動寫過任何樣板處理器。我不知道多久沒有手動腳手架過一個 CLI 了。我一點也不懷念這些。

問題是:你無法向一個不懂真正軟體工程的人證明這種產出量。他們看到結果,認為「嗯,是 AI 做的。」不。是 AI 執行的。我設計的。我知道該要求什麼,如何分解問題,使用什麼模式,模型何時偏離軌道,以及如何糾正它。這不是提示(prompting)。這是工程。

當一個沒有這種直覺的人嘗試做同樣的事情時?他們得到的是義大利麵條。能編譯但無法擴展的程式碼。在你增加第二個需求時就崩潰的架構。模型不會拯救你免於做出糟糕的決定。它只會幫助你更快地做出這些決定。

技能不再是寫程式碼了。技能是知道該建構什麼以及它應該如何運作。程式碼只是結果。

我不擔心。我仍然可以在沒有 LLM 的情況下反轉二元樹。我仍然可以推理時間複雜度,透過閱讀程式碼除錯競爭條件,透過思考追蹤記憶體洩漏。因為在所有這一切出現之前,我已經非常努力地學習了。那個基礎不是裝飾。這就是為什麼 AI 對我來說有用的原因。沒有它,你就不知道模型何時出錯。你不知道該問什麼問題。你不知道什麼才是好的。大多數人低估了這有多重要。

但事情是這樣的。那個基礎不再是受限的了。你現在可以學任何東西。我是說任何東西。資源、工具、隨時可用的導師,一切都在那裡。進入門檻從未如此之低。所以,如果你還沒有建立起這種直覺,你就沒有藉口了。現在就開始。

如果你花了數年時間建立它,理解系統,理解架構,理解事物為何會崩潰,你並沒有被取代。你正在被放大。

我認為我們或許都已成為 AI 工程師了,而我不知道該如何看待這件事。

我所知道的是:當我審視一個團隊或工作場所時,我首先注意到的事情之一就是他們如何看待 AI。不是他們是否採用了所有工具,而是他們是否好奇。他們是否在關注,因為這不是一個階段。這是方向。懂的團隊?那些是我想要加入的。

編輯 — 2026-03-06T17:06:41Z:這篇文章在 Hacker News 上引起了熱烈的討論,而且很多反駁都是合理的。所以我想澄清幾件事。

我不是隨意編碼。每一個 AI 生成的程式碼行都會被審查。每一個陳述。如果我不理解它在做什麼,它就不會被交付。這是不可協商的。

在使用 AI 和盲目委託給 AI 之間有一條界線。對我來說,這條界線是範圍。小型、定義明確且輸出可驗證的任務?這就是代理程式擅長的地方。但當問題需要對系統有深入的了解時,那種只有透過實際工作才能獲得的知識,我自行處理會更快。知道何時使用工具以及何時放下工具是技能的一半。

我也想清楚地說明一件事:我所知道的一切,都是從人們那裡學來的。審查我粗糙的拉取請求(pull requests)的資深工程師。花時間解釋我思路為何錯誤的同事。書籍。回饋。多年來寫出糟糕的程式碼並慢慢理解為何糟糕。那個基礎是我現在能有效利用 AI 的原因。沒有它,你就無法判斷模型何時出錯。你無法糾正你不理解的東西。

我看著我 10 年前寫的程式碼,對我當時的錯誤感到謙卑。但那種掙扎正是建立直覺的過程。我們學習基礎知識是有原因的。那個原因並沒有因為工具的進步而消失。