軟體工程的第三層已經死了:經濟學家告訴你,為什麼「思考」才是開發者的比較優勢

維也納中歐大學經濟學教授柯倫將軟體工程拆解為三層:理解使用者、設計系統、寫出語法正確的程式碼。第三層已百分之百自動化,但前兩層反而變得更難。他用李嘉圖的比較優勢理論解釋,為什麼即使 AI 什麼都比你強,人類仍然有不可取代的位置。

軟體工程的第三層已經死了:經濟學家告訴你,為什麼「思考」才是開發者的比較優勢

封面圖

本文整理自《Practical AI Podcast》2026 年 4 月播出的第 351 集。


寫程式這件事,已經完全自動化了

維也納中歐大學經濟學教授米克洛斯.柯倫(Miklós Koren)自稱是「意外成為軟體開發者的經濟學家」。他的本業是研究國際貿易和國家競爭力,但因為經濟學是高度量化的學科,他二十多年來一直在寫程式做運算。他從來沒受過正式的軟體工程訓練,但 AI 工具的出現徹底改變了他的工作方式。

柯倫把軟體工程的工作拆解成三個層次。第一層是理解使用者:搞清楚他們真正需要什麼,什麼可行、什麼不可行。第二層是設計系統:各個元件怎麼組合、彼此的關係是什麼。第三層是寫出語法正確的程式碼,把設計翻譯成某個程式語言能跑的東西。

他的判斷很直接:第三層現在已經百分之百自動化了。你不再需要自己寫出語法正確的 Python 或 JavaScript。但這不代表軟體工程結束了,因為前兩層不但沒有消失,反而變得更加困難。AI 幾乎不會拒絕你的要求,它會假裝完成任何任務。但它做出來的東西不一定符合你的規格,不一定是好的設計。思考的部分,你沒辦法外包出去。

比較優勢:即使 AI 什麼都比你強

這裡柯倫搬出了他的老本行。李嘉圖(David Ricardo)的比較優勢理論是國際貿易的基石:即使一個國家在所有產品上的生產力都高於另一個國家,兩國之間仍然存在互利的貿易空間。每個國家只需要專注做自己相對最擅長的事,整體福祉就會提升。

把這個邏輯套用在人類和 AI 的關係上:即使 AI 在所有事情上的能力都超過人類,人類仍然可以透過專注在自己相對優勢最大的領域來創造價值。而柯倫認為,那個領域就是「思考」。

為什麼是思考?因為瓶頸永遠是注意力。你可以叫 Claude 花一整天幫你建網站,它會做出某個東西。但你必須花自己的時間去看、去想、去判斷。如果你不花時間思考,你就只是在讓 AI 空轉。人類注意力的有限性,正是讓「思考」成為稀缺資源的原因。稀缺的東西,在經濟體系中自然會有高價值。

這給了我們一個冷靜的框架來回應「AI 會取代所有人」的焦慮。答案不是簡單的「不會」,而是:即使它比你強,你仍然有位置,前提是你專注在思考層。

英文變成程式語言只花兩週,真正的轉變更深

柯倫分享了自己轉換工作方式的經驗。用英文當程式語言這件事,適應期大約兩週。這比多數人想像的短,因為如果你本來就知道自己要解決什麼問題,用自然語言描述它並不困難。

但更深層的心態轉變花了更長時間:接受「用完即丟」的程式碼。傳統的開發思維是,如果一段邏輯會用到兩次以上,就該抽象化成函式或模組。這是好習慣,但在 AI 輔助的工作流程中,你可以先解決眼前的具體問題,不需要提前設計。等你做了第二次、第三次類似的事情,再讓 AI 幫你歸納出通用模式。柯倫說他每天會用好幾次的一個提示是:「你想更新你的技能嗎?可以說不要。」AI 有時候會說「我現在的做法夠好了」,有時候會說「根據最近幾次對話,我學到你喜歡這樣處理,讓我更新一下方法。」

這是一種從具體到抽象的逆向工程。先做,再歸納。而不是先設計,再實作。

把 AI 當同事,不是當工具

柯倫特別強調一個觀念上的區別:他把 AI 視為「一個非常能幹、非常快速的同事」,而不是機器或工具。這個框架上的差異,直接影響你怎麼與 AI 協作。

如果 AI 是工具,你會想「我該怎麼使用這個工具?分享一下使用技巧?」柯倫覺得這很荒謬。他反問:「你會分享跟同事在茶水間聊天的技巧嗎?不會吧,你就走過去跟他說你在做什麼。」你不需要特別的 prompting 技巧,你需要的是清楚知道自己要做什麼,然後用正常人的方式說出來。

但如果 AI 是同事,那程式碼的結構和命名就比以前更重要,而不是更不重要。因為好的結構就是你跟這位同事的溝通語言。柯倫回憶大約兩年前在 Julia 語言中的一個經驗:他仔細命名了一個函式,給了有意義的參數名稱,宣告了型別。寫完函式簽名的那一刻,Copilot 一次就把整個函式主體寫完了,而且完全正確。它從名稱和型別就推斷出這是一個二分搜尋問題。好的命名和結構,就是跟 AI 同事最高效的溝通方式。

現在的工作流:更多運算,零行程式碼

柯倫描述他目前的科學計算工作流程時,用了一個有趣的對比:他做的運算比以前更多,但寫的程式碼基本上是零。他把核心的思考活動刻意保留在類比工具上,用紙和筆、讀實體書、散步時用語音錄下半成形的想法。一段 15 分鐘、邏輯還不太連貫的語音記錄,就足以讓 AI 轉化成能跑的程式碼。

他也完全放棄了 MCP(Model Context Protocol)。曾經他很興奮,覺得 MCP 可以讓 AI 同時操控各種不同的工具。但他後來發現,命令列 agent 夠強之後,直接讓它用 shell 就什麼都能做。他現在一個 MCP 都沒在用。如果有命令列介面,agent 自己會去查說明、搞清楚怎麼操作。

這個工作流程的核心邏輯是:把翻譯工作交出去,把思考工作留給自己。過去你必須同時具備思考能力和翻譯能力(把想法翻譯成程式碼),現在翻譯的障礙基本消失了。所以你能投入在思考上的時間反而變多了。

程式設計教育該教什麼?

柯倫對程式設計教育提出了一個根本問題。我們現在教人寫好的 Python、寫好的 JavaScript,然後用這個來評判一個人是不是好的開發者。但如果寫語法正確程式碼這件事已經完全自動化,我們到底在測試什麼?

他認為真正需要教的是「計算思維」(computational thinking)。當程式語言變成英文之後,你仍然需要理解什麼是迴圈、什麼是資料結構、什麼是演算法的時間複雜度。你需要知道怎麼把一個模糊的需求拆解成具體的步驟。這種能力跟你會不會寫 Python 無關,但沒有它,你就算用英文下指令也講不清楚。

這對正在找工作的人來說是個重要的訊號。企業淘汰的不是「寫程式的人」,而是「只會寫程式的人」。能理解使用者需求、能設計系統架構、能判斷 AI 產出的品質,這些能力的價值正在上升。能快速寫出一百行語法正確的程式碼,這個技能的市場價格正在歸零。

稀缺決定價值

柯倫的整體框架其實很簡單:找出什麼是稀缺的,那就是有價值的。在 AI 時代,生產程式碼的能力已經不稀缺了。但人類的注意力仍然稀缺。判斷「該做什麼」的能力仍然稀缺。理解另一個人真正需要什麼的能力仍然稀缺。

他的建議是:把核心的知識活動留給自己,把翻譯工作交給 AI。不要把所有時間都花在跟 AI 互動上,要花時間思考。散步、讀書、用紙筆畫圖。這些看起來很古老的做法,在 AI 時代反而變成了策略性的選擇。因為你的注意力是有限的,而思考是你能用注意力做的最高價值活動。