從寫程式到理解世界:為何我們必須退後一步?
( 2025 WebConf 15分鐘的閃電Show,題目: 軟體工程不只是寫程式 )
簡報檔在這裡 ,
前言
在軟體工程領域,我們最常犯的錯,就是「只看見眼前 AI 所產出來的程式碼,卻忽略了系統演化的方向」。
看見全貌是進行系統思維的基礎
1950年,阿蘭·圖靈 Alan Turing 曾預言,到20世紀末,『 廣大受過教育的人的看法會發生很大的改變,那時談論機器思考將不再受到反駁 』 。
當時這個預言,會想信的人一定少之又少,今天呢 …
我們在進行專案規劃時,難免會做出一些「 假設 」 這是不可避免的,然而假設就是對未來的一種猜測( 預言 ),一種以終為始的預言。你說會猜錯嗎?! 當然會錯! 但是敏捷開發 告訴我們要持續修正,錯了! 並不可怕,知道錯了還不去修正才可怕。專案開發就應該運用「 小增量、多迭代時時尋求回饋的態度」 來適應變化,自然就能夠克服變化進而達成目標。
這裡;我們藉由瑞典敏捷專家亨立克.克里貝尼(Henrik Kniberg,瑞典人 註 1. ) 的一篇文章 Are developers needed in the age of AI? 對AI 與開發者之間的關係,做為假設的開始。
AI 的能力升級相對造成開發者角色的變化
一、AI 與工程師之間的五階段演化:從工具到夥伴
Henrik 認為AI 能力每提升一個階段,就會重新定義工程師的角色。 這五階段並不是幻想,而是我們正在經歷的變化,2年過去了,現在看起來依然實用。
人們把 AI 當作是升級版的 IDE 或 搜尋引擎 Stack Overflow,它補充程式碼、解 bug、產測試。 此時;工程師仍然是主角。
AI 開始懂上下文,能提供 API 設計建議、邏輯提醒、風險分析。 主體程式碼仍是你寫,但它提供你片段的功能及 協助你「思考」。
此時,AI 對程式碼的修改開始擁有許可權 能進行提交和 PR,並審查 PR。人們釋放一些權限給它,然後懷疑、觀望它能做得多好。
合作者階段(Collaborator Phase )
AI 不只是協助你,還幫助整個團隊。它可以審 PR、整理文件、預測 bug、拆解需求。像是團隊中的一位中階工程師,默默協助所有人。
此時;使用 AI 的人將學會如何越來越信任它,它也將變得更加先進,並將更多地瞭解您的產品和上下文( Prompt 工程大演進)。
一旦 AI 能看懂架構、流程、模式,它會反過來幫你成長。你從它的輸出「學到更好的寫法、理解更深的概念」。 這個時期,工程師開始從「執行者」變成「學習者」。
但AI 有時需要監督 ,因為它會提出沒有意義的愚蠢解答,因此人類需要審查程式並進行更正。但可以預期不久人工智慧將比人類更快地完成所有與開發相關的工作 ,並且品質相同甚至更好。
AI 將負責編寫所有程式碼 。它將與請求者 和其他利益相關者直接討論設計 ,但實際編碼完全由 AI 完成。
未來十年,AI 可能具備自主決策能力、主動創新能力 。 甚至「沒有原始碼」(在動態記憶中執行)、或「沒有傳統開發團隊」的架構都可能成真。
但這不代表工程師會消失。相反的:
AI 寫程式,人類定義世界。
工程師將負責的是價值判斷、方向制定、風險治理、架構邊界、系統演化。這些都是 AI 無法單獨完成的。
開發者與提示工程的進化 關係
二、提示工程五階段:從術到心法,走向 Conceptual Engineering
AI 演化的不只是它在團隊裡的位置,還包含它與我們互動的方式。
來談一下提示工程的五階段演進:
1. Magic Prompt
2022 年在LLM 開始之初,它像神燈一樣用說的就能達成我們的心願,就像唸「咒語一般」,提示詞往往只能靠技巧、靠格式、靠直覺,輸入後就只能期待有好的產出,它像鏡子一般直覺反應出我們的思考,效果十分的不穩定,也不太能夠複製。這一點是這個時期,它唯一的缺點,我們一直相信 scaling law 能夠解決這個問題。
2. Prompt Patterning 依模式產出提示
開始有 CoT、ReAct等等模板,官方也會自動提供。但有了模式,仍找不到本質。
3. Prompt as Code
提示開始變成工程化的產物: 工程方法的思維被加了近來,必須有版本控制(GIT)、有測試、有審查(code review)、有回歸檢查。 這是提示工程的正式成年禮時期,有不少書本在描述這個過程。
4. SDD :Story + Demo + Structure 出現
這是目前最重要的階段,一堆公司開始採用 SBE (實例化需求)來撰寫需求,一下子,BDD 行為驅動開發成了當紅炸子雞。 大家終於看懂了AI的本質是 pattern learner ,不是 rule follower ,因此完美的 prompt 是不存在的 。我們很難寫出讓 AI 能夠完整依據的規則,相反的,應該用範例的方式讓AI 由範例中自己提煉出規則才是王道。 因此我們需要:
用故事 建語境,
用示例 建立模式,
用結構 給它推理骨架。
透過有故事有範例有結構化的上下文,如此 AI 才能形成穩定的理解能力。
5. Conceptual Engineering
我們都知道 : 概念才是王道。
未來的 AI 開發,不是寫 prompt,而是設計 AI 的「概念空間 」。
什麼是問題?
世界的規則是什麼?
任務語意如何建立?
推理架構如何遷移?
使用者意圖如何壓縮成概念?
這其實就是邁向 AGI 的必要條件。 AGI 不是大模型所堆出來的,而是 能理解概念 並跨任務遷移推理的能力 。而誰在做這件事? 答案是: 工程師 。
三、工具心態 vs 夥伴心態:不讓 AI 替你思考,而是放大你的思考
這張圖在說明,你不只是用 AI 寫程式,而是用 AI 讓自己升級。
❌ 你把 AI 當成工具的心態
把 AI 當成自動完成或偷懶工具。 問題是:它會讓你變得愈來愈淺顯。
✅ 當成夥伴心態的心態
讓 AI 幫助你:
AI 是你的「另一個大腦」,不是替代品,而是增幅器,讓AI 協助你學習成長。
軟體工程師技術進化的三階段
四、軟技能 × 硬技能 × 濕技能:工程師價值的三角模型
硬技能(Hard Skills )
一般指向那些可量化、可驗證、可部署、可維護的技能。
例如: 語言、框架、工具、雲端、CI/CD。
進階的特點是一步一腳印、靠操練與經驗累積。
AI 可取代率最高(60–80%) ,因為規則清晰、可示範、可模仿。
隨時間推進,純硬技能的價值邊際快速下降。
軟技能(Soft Skills )
一般指向那些有人味,如: 領導統御、團隊信任感與共識的技能。
例如: 協作、需求釐清、架構討論、跨部門溝通、問題 framing。
這些能力不像硬技能可透過靠單一教材學會,而是靠情境反覆磨練,靠經驗學會的。
AI 可取代率降低(20–40%) ,因為軟技能牽涉「情境、語境、利害、協商」,AI 雖能模擬,但難以完全取代。
濕技能(Wet Skills )——AI 時代最核心的技能組
濕技能不是高階軟技能,而是:軟技能 × 系統演化 × 情境推理 × 方法論的內化
例如:識人、洞察團隊文化、敘事能力、戰略性決策、系統性思維、故事化溝通。
此類能力源於人的「心智模型、價值觀 與 判斷力」。
AI 可取代率最低(5–15%) ,因為涉及人的直覺、信任、責任、倫理與組織動能。
它包括:
敏捷開發
DevOps
架構取捨
需求發掘
風險判斷
Spec-Driven Development / SDD
DevEx(開發者體驗)
Living Documentation
AIOps
Systems Thinking(系統思維)
濕技能是工程師真正的競爭力來源。 它們無法被 AI 取代,也不會被工具簡化。濕技能讓工程師從「寫程式的人」,成為「設計系統、協作、治理的人」。
整體曲線意味著: 越往後,技能越難透過 AI 量產;人的影響力反而越強。
軟技能與濕技能之間,看似只是一小段時間差,但其實象徵工程師成長的分水嶺 。它決定一位工程師是成為「高效個人工作者」,還是晉升為「團隊的技術舵手」。
從「操作訊息」到「解讀人心」的跨越。能夠讀懂利益關係人背後的盤算,又能守住組織文化又能透過敘事描述出正確的解答。
從「會把事情做對」到「知道什麼事值得做」。軟技能讓工程師把手上的事做好 ;濕技能則能讓工程師選對事情做、並讓更多人一起做 。
從「能被替代的協作者」到「無法被替代的價值製造者」。硬、軟技能都可能部分由 AI 協助完成,但濕技能是一種被「信任的技藝」:當團隊信任你、主管信任你、客戶信你、後輩願意被你帶,這些信任一旦建立,就是個人的專屬能力,一種無形的權利。
間隙象徵著: 工程師從功能 → 到角色 → 到影響力的飛躍。
軟、濕、硬技能被AI取代的可能率
Developer Growth Loop :工程師的自我進化路徑
>> 我們應該有的視角:
AI 越強大,我們越不能讓它替我們思考,而是用它來放大我們的思考。
工程師的成長曲線不再只是學語言、學框架 或做 Side Project。未來的成長來自三件事:
硬技能落地 (把事情做對)
軟技能提升 (讓價值能被看見)
濕技能深化 (讓系統能持續演化)
再加入:
深度思考
強化學習
結構化思維
Conceptual Engineering
系統理解
工程師就能在 AI 時代,不但不會被替代,還能被放大。
五、什麼是 Conceptual Engineering?為什麼它是 AI 時代工程師的下一個核心能力?
當我們談「Conceptual Engineering 概念工程 」時,我們其實在談一個工程師很少真正正視它、卻又一直在做的事:「 定義問題、建構概念、設計推理,使系統能理解並正確運作。」 這個我們熟悉的流程,過去這件事被語焉不詳地分散在下面這些領域中,工程師完全靠經驗在工作:
但在 AI 時代,這項能力被徹底推到舞台中央。
因為;AI 會寫程式,但不會定義概念; AI 會模仿推理,但不會創造推理架構; AI 會完成任務,但不會知道任務的本質。
這些事情,全部落回工程師身上。還記得AI製作的魚缸嗎,魚兒經常優游的穿過邊界,這種不可思議的錯誤,代表 AI 在繪圖時根本不知道邊界為何物,一切都只是演算法。
這使得 AI 在程式生成上能「做得像」,但在複雜領域上仍「不知道自己在做什麼」。
因此,工程師必須做一件事:把概念設計成 AI 能理解、能套用、能泛化的形式。 這就是「概念工程 Conceptual Engineering」。
>> 概念工程做的不是程式,而是「推理空間」 (註 5.)
傳統軟體工程設計的是:模組、API、流程、架構、需求。
而概念工程所設計的是更前面的東西:
例如: 任務的本質是什麼? 、哪些概念是關鍵? 、推理需要哪些關係? 、有哪些隱含規則需要顯化? 、AI 如何知道此任務的成功條件?
一旦這些基本的概念正確了,AI 才能正確推理;如果概念不清,AI 再強也會胡亂生成。讓概念變成知識的主體輸入給AI,而不是規格化的 SDD。 雖然 SDD(Story + Demo + Structure)是目前最有效的作法,因為它能讓 AI 從示例中捕捉模式,自己去產生規則。
但 SDD 無法解決許多問題,例如: 任務定義錯,示例愈多愈錯、未顯化的概念仍無法泛化、若範例無法涵蓋複雜情境,AI 就無法遷移、隱含的潛規則 AI 永遠也補不出來。
也就是說:SDD 是讓 AI 學推理;概念工程則是讓 AI 學「什麼是值得的推理」。
>> 你可能懷疑,為什麼在 AI 時代,Conceptual Engineering 會成為工程師(尤其是 AI 工程師)的下一個核心能力?
因為 AI 時代最大的挑戰已經從「算力」與「資料」轉移到「我們到底要讓機器優化什麼? 」; 而這個問題的本質就是 概念工程 。
結語: 工程師不是寫程式的人,而是理解世界的人
從 Kniberg 的 AI 五階段,到提示工程的五階段,再到濕技能的掘起,我們看到同一個問題,那就是 AI 會寫程式,但 AI 不會理解世界,但工程師會。
未來工程師的價值,不是寫更多程式,而是:
能夠看見全貌
定義建構問題
建立概念
設計推理
協作與對齊
引導 AI,而不是被 AI 引導
這是 AI 奪不走的,也是工程師未來職涯最值得追尋的道路。
你可能會問: 走到後來為何是概念呢? 概念工程是不是太抽象了呢?
其實不用擔心,教育界早就先走上這條路上了(還記得一度讓家長們覺得荒唐無比的建構式教學嗎? 其實它就是概念為本的教學,想要改革,難上加難,立意雖好,卻往往歸咎於實施方法 …),以 概念為本(Concept Base) 的學習方式,目的在取代傳統教學以目標為本 的教學方式,未來的考試目的在測量學生想對了嗎? 思考的方向是否正確,而不是只給出正確的答案。(註3.)
在概念工程的前提下,我們在提示的下達中;依然運用結構化的語法與AI溝通,但內容卻是注重在推理。
建議: 落地硬技能,把事情做對 、提升軟技能,讓價值能被看見 、深化濕技能,讓系統能持續演化
未來的工程師,要學會設計讓程式碼能夠自我學習的系統,就好比AI能夠自我學習一般,建立自學習的生態系統 ( learning Ecosystem )。
【 技術應該用來探索未來 】
AI 之於工程師的真正意義,不只是提升效率,而是重新揭示技術存在的初衷:技術應該被用來探索未來。
對每天忙碌於工作的工程師而言,那些日常的技術累積,本質上都是在為未來搭橋鋪路。
(一)、技術不是只為了完成今天的任務,AI 時代提醒我們的是: 技術不是為了把事情做完,而是為了讓更大的事情變得可能。
(二)、探索未來不是離開現在,而是讓現在有更深的意義,對工程師來說,最務實的未來探索,是在今天的工作裡,做一點超出需求、一點高於交付的思考。
(三)、AI 時代更顯這句話的重量 – 技術應該用來探索未來
AI 會加速所有 routine 的事。
因此工程師的價值,愈來愈不在於「做多少」,而在於「往哪裡走」。也就是,技術的價值不是讓你跑得更快,而是讓你走向值得走的方向。
四、對忙碌的工程師而言的真正意義
當你願意用技術去好奇、去預想、去試驗,而不是只拿來解壓、交差、救火,那一刻,你就已經在探索未來。
對工程師而言,這不是額外的任務,而是一種視野。
註 1. Henrik Kniberg 提出的 AI 未來五個階段
註 2. PARA 系統
什麼是 PARA? 作家: 提亞戈.佛特 (Teago Forte)在他的書裡頭所發明的一種有組織的整理方式《打造第二大腦 : 多一個數位大腦,資訊超載時代的高效能知識管理術》 ,我一直受用到今天。
– 有明確死線的東西 → 全部丟 P(Projects)
– 這輩子都要持續負責的事 → 全部丟 A(Areas)
– 哪天可能會用到的冷知識、興趣 → 全部丟 R(Resources)
– 做完、放棄、不想鳥了的 → 全部丟 Archives(封存)
記住:每份檔案永遠只有這4個家,不會流浪!
書裡有一段話引發我很深的思考:
你要把今天學習到的知識打包放到你未來會經過的路徑上。
這句話所說的正是 “概念 " ,知識應該包含你如何學習到的,在怎樣的情境下學會的,打包起來正是"概念",而人們對於未來的決策,正是依靠這些個概念。
註3. 一種「概念為本」的學習方式
概念為本(Concept Base) 的學習方式,目的在取代傳統教學以目標為本的教學方式。強調教學應以給予學生擁有思考的概念,比實作以達成任務的教學更重要。參考: 《邁向概念為本的課程與教學:如何整合內容與歷程 》
作者: 琳恩.艾瑞克森(Lynn Erickson) 與 絡薏絲.蘭寧(Loris A. Lanning) 概念為本的基本理念依據是: 知識性結構 與 歷程性結構。
參考自 Lynn Erickson的知識性結構
有興趣者,請參考: 概念驅動:AI 時代開發者體驗的遷移與修練
註 4. 概念工程
Conceptual Engineering(概念工程)是一種哲學方法論,近年迅速成為應用哲學、認知科學與人工智慧領域中最熱門的跨領域工具。簡單來說,它就是:
「有系統地檢視、診斷、修補或徹底重設計我們所使用的概念(concepts),讓這些概念在特定目的下更好地運作。」
傳統哲學問「真理是什麼(what is justice? what is knowledge?),而概念工程問的是:「我們現在用的『正義』、『知識』、『公平』這些概念,到底好不好用?有沒有bug?要不要升級或換掉?」
著名哲學家如Cappelen、Plunkett、Chalmers、Sally Haslanger、Kevin Scharp 等人都把概念工程當作當代哲學的核心實踐。它不只是「澄清概念」,而是像工程師一樣把概念當成可以被改良、替換、重新編程的工具。
一個經典的例子:
婚姻: 2010年代前「婚姻」概念在許多國家不包含同性伴侶,經過概念工程(法律與社會運動),現在大多數民主國家的「婚姻」概念已經被升級到性別中立版。
註 5. 推理空間 ( The Space of Reasons )
「推理空間 」是一個在哲學,特別是 邏輯學 和 知識論 (Epistemology) 中使用的術語,它源於哲學家 Wilfrid Sellars 的著作。
定義 :它指的是所有具備理由、證據、邏輯關係 的信念、陳述、判斷和推論所構成的網狀結構 或領域 。
在這個空間中,一個信念或行動是合理的 (justified) ,是因為我們可以為其提供理由 (reasons) 。
功能 :推理空間是我們進行判斷、論證、獲得知識 和合理行動 的框架。
在這裡;我們使用的概念 構成了這個推理空間的「坐標軸」或 結構的樑柱 。
例如,「知識」這個概念決定了在什麼條件下我們能合理地 聲稱我們知道某事。如果我們改變「知識」的定義(即進行概念工程),那麼在 推理空間 中,哪些陳述是「合理的 」或「可證成的 」也會隨之改變。
類比 :如果概念是 棋盤上的規則 ,那麼推理空間就是 所有可能的、合法的棋局 。
工程師如何為「概念工程」做準備 ?
為了與 AI 有效協作,工程師必須深化軟技能(濕技能) ,特別是在以下三個方面:
1. 提示工程 (Prompt Engineering)
2. 架構模式掌握 (Pattern Proficiency) ,當 AI 負責生成實現細節時,工程師必須負責設計高層級的藍圖 。
3. 驗證與測試 (Verification & Testing)
工程師必須能夠從單純的「編程人員 (Coder) 」升級為「AI 協作系統的架構師與引導者 」。