與 AI 共舞
# 軟體工程還記得 ChatGPT 3.5 剛發布時,作為翻譯工具雖然好用,但用來寫程式只能寫腳本或簡單的函數。
2023 年 Cursor 還在 Beta 階段,主打的功能只有 tab 自動完成。在那之前我還用過 GitHub Copilot,試用過後發現精度太差,就沒有繼續用下去了。
後來 GPT-4o 出來確實感受到模型能力的躍進,但寫程式這件事,在我看來依然是人類的領域——AI 能幫忙,但還沒辦法真的取代。
2024 年,Cursor 從單純的 tab auto complete 加入了 AI Agent,開發從「偶爾嘗試」變成了「不可或缺」。LLM 已經能獨立寫出可運行的 Demo,但 production 等級的程式碼仍然需要大量的人工介入與審查。
然後是 2025 年。各家模型幾乎以月為單位在進化。到了年中得知了 Claude Code,那是我第一次感受到模型質的飛躍。儘管需要開發者深度參與 Review 與指引,但它已經能夠寫出堪用的設計,甚至按照設計寫出對應的程式碼。
原本由人類手寫的程式碼,在不到一年內,正在快速轉移到以 AI Agent 為主導的模式。
2026/02/26 Cursor 的共同創辦人 Michael Truell 發了一篇推文,把這個過程清楚地切成三個時代:
- 第一個時代是 Tab——AI 識別出重複性的工作並自動化,開發者不斷按 tab 撰寫程式
- 第二個時代是同步 Agent——工程師透過 prompt 指揮 AI,你來我往地協作完成任務
- 第三個時代——Agent 能夠在雲端的虛擬機器上獨立運作數小時,自主完成更大規模的任務,工程師只需要在最後審查成果
短短一年多,軟體開發已經完全不一樣了。
AI 取代軟體開發
當時我看到「AI 取代軟體開發、軟體工程師」是嗤之以鼻,覺得只是 AI 公司的話術與吹捧。
身為第一線開發人員,那時候的模型水平完全無法取代日常開發。寫一些簡單的腳本或重構函數還可以,但只要 context 一多、程式碼變複雜,模型完全無法處理,回應也常常不知所云。
模型的能力進步神速。原本 AI 還只是輔助角色,程式碼大部分由人類撰寫;現在 AI 寫程式的比例超過一半,大部分的程式碼都是由 AI 產出,由你負責審查、設計。第一次帶給我這種感覺的,是 2025 年年中開始接觸 Claude Code 之後。
甚至連系統設計、文件撰寫都會讓 AI 參與其中,會議記錄更是全自動由 AI 生成了。
原因無他,模型能力已經進步到能夠處理日常開發,甚至有人不閱讀程式碼而直接迭代產品了。
這樣好嗎?以前我會抱持著大大的問號。現在我的態度逐漸轉變了,在某些條件下,人類的參與確實是最大的瓶頸。
I ship code I don’t read
另外值得思考的是這句話是誰說的?就像 Wiwi 在他的部落格曾經提過:
每個人在我們心中,都偷偷有一個「智商預設值」。同一句幹話,從「預設值高」的人嘴裡說出來,我們會主動幫他找理由、解讀他的深意;由「預設值低」的人說出來,我們直接就判定他是個白痴。
Peter Steinberger 原本是活躍於 iOS 圈的工程師,後來在 2011 年做出 PDF SDK「PSPDFKit」,從一個開發者工具一路做成被大量企業採用的文件技術公司。
因為 Burnout 而暫時沒有接觸程式的他,因為 AI 的關係讓他再次愛上寫程式,並開發了 OpenClaw。至少在寫程式上,他的技術能力毋庸置疑。
雖然軟體開發已經變了,但核心的軟體工程原則不變。系統設計、寫文件、寫測試,這些事情的重要性反而提升了。
測試案例是 AI 好好做事的邊界,文件是 AI 理解上下文的基礎,系統設計則確保整體架構不會因為快速產出而失控。能交給 AI 的事情只會越來越多,而這些原則就是人類掌握主導權的方式,後來演變出一個名詞——Harness Engineering。
未來什麼事情重要?
開發的門檻降至前所未有的低點,執行的成本趨近於零時,方向就是一切。
過往的開發經驗在這裡是雙面刃,它可能成為知識的詛咒,也可能成為幫助自己領先的優勢。
有人說 Harness Engineering 只是重新包裝 Software Engineering。
的確,如何限制 AI 的範圍、讓 AI 閉環驗證、有明確的標準定義什麼是好什麼是壞,這些概念在之前就有了。
這讓我想到最近在看的一本書《機制化之神》。
把自己視為理所當然的「好」變成可以參考、可以再現的標準。這件事以前是為了團隊協作更順暢,現在則是為了 AI 也能復現。這就是 Harness Engineering 的精髓。
光有方向還不夠。AI 沒辦法推進專案,你得跟利害關係人、使用者溝通,說服其他部門你的方案可行,甚至要面對組織當中的光怪陸離。這些都不是 AI 可以解決的。
責任感是我近一年學到最重要的事。
以前的工作方式與團隊分工,容易讓人把責任劃分得很明確,「反正我只要把自己本分做好」就夠了。
但同樣是 AI,不同人會有完全不同的產出跟結果。差別就在於你願不願意為成果負責。
這讓我想到半澤直樹,只要是他負責的案子,不管遇到再怎麼不合理的環境或主管,他都會想辦法一一突破,甚至會先想好客戶的下一步、下十步。
能力的組合也需要重新思考。AI 若能做到 70 分,那做到 80 分是遠遠不夠的——AI 比你更便宜、更聽話、更好用。走純專才路線需要頂尖的能力,像 Andrej Karpathy 這樣的人各大公司還是搶著要,但那是金字塔尖端。
對多數人來說,我更推薦通才加上某個專項的路線。不能只是蜻蜓點水而已,而是每個領域至少有 Senior 水準的認知。未來職能之間的界線會越來越模糊,從設計、架構、開發、測試、部署到維運,都需要有足夠深刻的理解才能做出好的判斷。
最後是品味。
架構、技術選型、系統部署、UI/UX,這些決策背後都需要一套中心原則。品味就是藉由自己的經驗、背景、價值觀所形成的那套原則。它只能從一次又一次的實踐中長出來。
品味不只限於技術決策,也包含對產品本身的判斷。包含我自己在內,明明開發者是最靠近產品的人,對每個功能的實作細節瞭若指掌,卻不一定對產品有什麼想法。需求來了就做,做完就交,很少退一步問「這個功能真的解決了使用者的問題嗎」。
軟體工程師接下來會往 Product Builder 的方向前進。不能只是把東西做出來而已,你得對產品本身有想法,甚至主動提出改進的方向。當 AI 把實作的成本壓到極低,能夠定義「做什麼」跟「為什麼做」的人,會比只會「怎麼做」的人更有價值。
軟體工程師的新型態——Forward Deployed Engineer
我想以 Forward Deployed Engineer 這個職位出發,這可能是軟體工程師的職涯未來可以嘗試的路。以下是 OpenAI 的 Forward Deployed Engineer 職缺描述。
Forward Deployed Engineer 是一個直接在客戶現場工作的角色——觀察他們實際的運作方式,找出痛點,然後親手做出解決方案,並把專案一路推進到上線。
各大企業都開始導入 AI,這是 FDE 需求爆發的原因。
導入 AI 不是 Vibe Coding 一個解決方案就可以了。這往往意味著駐點企業,面對他們的難題、與內部團隊合作、協調。
Engineer 的職稱存在,代表著在日常工作中還是有大量需要自己動手寫程式來解決的問題,包含做 PoC、撰寫並部署 production 等級的程式碼、與現場的產品團隊一同合作。
在 The Pragmatic Engineer 提到,FDE 的職責類似於新創公司的 CTO,在小型團隊中端到端掌握高風險專案的執行。根據 Salesforce 的分析,2025 年前九個月 FDE 的職缺數量成長超過 800%,Salesforce 自己就宣布要組建一支 1,000 人的 FDE 團隊。
這個角色的核心能力,是把模糊的需求轉化成可以實際執行的方向。
客戶往往知道自己哪裡不對勁,但說不清楚要什麼;而 FDE 的工作,就是在這片混沌裡找到輪廓,再把它變成真實的東西。
你需要在短時間內取得客戶的信任,讓對方願意把真正的問題告訴你;你需要說服利害關係人,讓他們相信你的方案是可行的;你需要在資源有限、時程緊迫的現實條件下,給出一個不完美但足夠好的答案。
AI 作為開發工具的雙面刃
如同 Huli 寫的《AI 與鴨子,惰性與真實》、高見龍寫的《AI 時代寫程式,你是在學習還是在偷懶》提到的,他們認為基礎很重要,而 Vibe Coding 正在消滅學習基礎的動機。
我認為這兩篇文章有幾個共同概念,同時也是我很認同的:
- 不要盲目接受 AI 產出:鴨子理論出自於 Duck Typing。用來比喻 AI 產出相當貼切——能動就好在以前是開發者間的笑話,但現在如果只求會動就好,那就跟 Vibe Coding 一樣了
- 測試的重要性大幅提升:兩篇文章都提到測試的重要性。除了可以讓 AI 自我驗證之外,測試是保證 AI 不暴走的方法
- AI 是輔助:用 AI 來加速學習或處理更有價值的任務,像是思考產品的方向、釐清使用者需求
- 判斷力與基礎能力:如果沒有扎實的程式基礎,初學者根本無法判斷 AI 給的程式碼是好是壞
AlphaGo 的啟示
我常常納悶奧運的意義。對人類的發展有什麼重大貢獻?如果明天開始大家不再打棒球、不再舉辦任何比賽,世界會有什麼不同嗎?
想了很久,我得出一個結論:對極限的追求本身就是意義,就算它不會讓世界變得更好。再往下推,除了維持生存以外,大部分人類的行為其實都「無意義」,但我們還是在做,而且樂此不疲。
這讓我想到 AlphaGo。2016 年它打敗了人類棋手,但圍棋比賽沒有消失,人類也沒有因此放棄下棋。
反而棋手開始跟 AI 學習,打破了幾百年來的定石與思維,走出前人從未走過的棋路。圍棋因為 AI 的介入變得更豐富。(不知道為什麼黑嘉嘉一直出現在我的 YouTube 推薦)
那寫程式會走上同樣的路嗎?
也許有一天手寫程式碼會變成一種純粹的樂趣,就像有人選擇用鋼筆寫字、用底片機拍照一樣。不是因為效率,而是因為享受那個過程本身。大部分的程式碼由 AI 生成,而那些堅持手寫的人,只是在享受一種已經不再「必要」的技藝。
我還沒有答案。
還需要念資工系嗎?
資工系的學生,本來就應該去解決更難的問題。如果進資工系的目的只是四年後寫出一個 CRUD 應用,那確實不需要念——因為 LLM 現在已經可以做到了。
但反過來想,當所有人都能用極低的門檻做出產品,那些更難的問題反而變得更有價值。那什麼是「更難的問題」?
隨手舉幾個例子:
- 新一代運算架構——雖然已經有 Google 的 TPU 或 NVIDIA 的 Tensor Cores 這類專用設計,目前 LLM 推理階段的瓶頸仍然卡在記憶體頻寬與延遲上
- 編譯器與程式語言設計——AI 大量生成程式碼,但程式碼的正確性、安全性、效能,最終還是由底層的語言與編譯器決定
AI 降低了應用層的門檻,但同時也把底層的挑戰推得更高、更重要。資工系的價值不是只有寫程式而已,而在於訓練你有能力去解決這些難題。
不要強調自己非本科,在這個世紀只要沒強度都是非本科 Jserv
新封建時代
壟斷跟封建的差別是什麼?壟斷控制價格,封建控制能力。壟斷讓你買東西比較貴,封建讓你離不開。
最近一直在想 AI 時代的權力集中,到底比較接近哪一種。
過去的科技壟斷我們都經歷過。微軟壟斷作業系統的時代,開發者「不得不」用 Windows;Google 壟斷搜尋,廣告主「不得不」買 Google Ads。但這些壟斷影響的是分配,是誰拿到多少錢的問題。
但是當 AI 模型能直接取代你的勞動,壟斷者影響的不再只是價格,而是你的勞動還有沒有價值。
傳統封建社會裡,佃農離不開地主。資本主義打破了這層依附,每個人都可以參與市場、累積資本、帶著自己的技能在資本市場爭取一席之地。
現在的情況正在往回走。要活用 AI 開發,Claude Code 或 Codex 是必需品。這些工具高度集中在 Anthropic、Google、OpenAI 手裡,技術門檻與資本門檻高到幾乎無法複製。如果你不用,當你的同行都用 AI 開發時,你就是競爭劣勢。這個壓力只會越來越大。
有人會說這只是資本壟斷,沒什麼新鮮的。
我認為關鍵差異在於籌碼。歷史上勞動條件的每一次改善,工時縮短、工資提高,大多不是結構自發給的,而是工人運動、政治壓力拿籌碼換出來的。
勞動者最大的籌碼是你沒有我不行:我罷工,你的工廠就得停擺。但模型能取代罷工,罷工本身就不再是武器。
真正令我不安的是:知識勞動者作為一個群體正在失去結構性的議價能力,而新的籌碼還沒有出現。
開源模型像 Llama、Mistral、DeepSeek 確實讓門檻在下降。但在通用能力上,與御三家的差距仍然明顯。訓練模型需要的資料規模、算力規模,以及背後的工程積累,不是開源社群短期內能追上的量級。
開源模型的演進、個人算力的普及,也許會成為這個時代的印刷術。但印刷術從發明到真正撼動權力結構也花了幾百年。我們有沒有那麼多時間,我不知道。
關於 AI Slop
最近很多人在抱怨網路上的 AI 垃圾內容越來越多——充滿 AI 口吻、粗製濫造的文章,明顯由 AI 生成的圖片、影片。人們把這種現象稱作 AI Slop。
每當一項技術被工業化之後,市場上必然會湧現大量廉價、粗糙的產品。以手沖咖啡愛好者的眼光來看,即溶咖啡就是十惡不赦的 slop。(手沖跟即溶咖啡我都喜歡)
很多人對品質是沒有追求的,你眼中的 AI Slop 對他們來說是剛好的產物。就像我在手沖咖啡愛好者的眼裡,可能也是個不入流的下里巴人吧。
Slop 是技術真正普及之後的必然產物,也可以換個角度說——軟體開發也即將走向工業化了。
AI 能輕易生成一篇語句通順、邏輯縝密但沒有任何真實觀點的文章。那些真正有觀點、有經歷、有人味的內容,反而會變得更稀缺,更值錢。
市場最終會自己找到平衡點。
慢下來
AI 寫的程式碼可能比你「正確」,但那些你在 debug 過程中意外發現的 edge case、踩過坑之後形成的直覺,才是真正有價值的東西。品味就是從不完美的經驗中長出來的。
AI 也讓產出變得極度容易。
寫部落格、做筆記,這些「慢」的事情本質上就是反思的過程。整理自己的想法,這個行為本身就是一種抵抗,抵抗被速度沖走。
反而是那些看起來「浪費時間」的事情變得重要:手寫程式碼理解底層原理、花三小時讀一本跟工作無關的書、跟人面對面聊天、經營一個只有幾十人看的部落格。這些事情的回報會在某個你預料不到的時刻突然出現。
我更想要看你的不完美,聽聽你的煩惱是什麼。
經驗閾值
大谷翔平最近在 NHK 的採訪說了一段話:「過程的積累是重要的,但掌握技術性的訣竅只需一瞬。」
過程の積み重ねは大事だが、技術的なコツを掴むのは一瞬
學任何技能都是如此。在達到閾值之前的積累固然重要,但真正發生變化的時刻往往是一瞬間。
能否在那個變化的瞬間到來之前持續努力才是關鍵。
AI 時代的焦慮大多來自恐懼,恐懼來自未知。
很多事情必須靠自己行動與經驗累積後才有辦法體會,AI 沒辦法替你跨越那個閾值。它可以加速你的積累,但那個一瞬間的領悟只能靠你自己走到。
與 AI 共舞
善用 AI,讓它成為你的加速器。把重複的事情交給它,把省下來的時間拿去做只有你能做的事:定義問題、設計方向、跟人溝通、為成果負責。
Slop 會過去,過渡期本來就是這樣。即溶咖啡沒有消滅精品咖啡,AI 生成的內容也不會消滅有觀點的創作。
慢下來的事情值得主動追求。那些看起來低 ROI 的積累,會在某個你意想不到的時刻兌現,成為你跟別人不一樣的地方。
在 AI 越來越強的時代,人與人之間的連結反而更重要了。AI 可以幫你寫程式、整理資料、生成報告,但它沒辦法替你建立信任、分享經驗,或者在你迷惘的時候給你一句真話。
喜歡這篇文章的話,不妨寫封信告訴我你的想法吧!