先講一件可能會嚇到一些朋友的事:我大學念資工,畢業後一行 production code 都沒寫過。但這兩年,我做了那個數位的官網、寫了 5 個 Mac 桌面工具——Elgato Mirror、iPhone Mirror、WiFiScope、MacPrism、Mkdown——還順手自架了課程預約系統。全部都是 vibe coding 寫的,沒有任何一個函式是我親手打字的。
上週 Andrej Karpathy 在 AI Ascent 2026 那場演講丟出一句被瘋傳的話:「我從未像現在這樣感到落後(I've never felt more behind)。」這句話被很多媒體拿去做標題、做焦慮行銷。但我看完整場後的反應剛好相反——我從未像現在這樣,感到自己這麼接近「能做出東西」。
同一場演講、同一句話,對 OpenAI 創始成員聽起來是「我在被追上」,對我這種非典型工程師聽起來是「我終於追上了」。這篇就用我自己這兩年 ship 東西的實戰經驗,把 Karpathy 的幾個核心觀點重新講一次。
觀點 1軟體 1.0 → 2.0 → 3.0:我這種人終於進場了
Karpathy 把軟體史切成三段——很簡潔,但對非工程師背景的人來說,這個分法解釋了「為什麼以前我做不到,現在可以」:
- 軟體 1.0:人類寫程式碼。會寫 C++、Java、Python 的人才能做東西。
- 軟體 2.0:神經網絡訓練。會調 PyTorch、會 fine-tune 的研究員才能做東西。
- 軟體 3.0:自然語言交互開發。會講清楚自己想要什麼的人就能做東西。
1.0 跟 2.0 時代,我這種人只能當需求方——畫 wireframe、寫 PRD、然後等工程師排程。常常等到產品做出來,市場機會已經過了。3.0 時代,需求方跟執行者中間那條線被擦掉了。我有想法、晚上開 Claude Code、隔天早上 demo 給朋友看——這個循環從「兩個月」壓縮到「兩個晚上」。
我蓋那個數位官網的過程就是個活例子。整個專案從 0 到上線大約一週,期間我沒寫過任何一行 HTML、CSS、JavaScript。我做的事就是跟 Claude Code 講「我想要這頁長什麼樣、這段文案改成這樣、這個 nav 加學員專區」。它寫、我看、不對就回報,對了就部署。詳細過程我寫過那篇蓋官網實錄。
觀點 2人類的角色變了:從「打字員」變成「編輯」
Karpathy 在演講裡強調的反轉很關鍵:過去人類負責邏輯與執行,現在人類負責「定義問題 + 編排系統」,AI 負責執行。這句話聽起來抽象,我給一個我自己的例子。
去年我做 Elgato Mirror 那次,整個專案我給 Claude Code 的初始 prompt 大概兩句話:「我要把任一螢幕翻成鏡像投到另一螢幕,給題詞機用。要原生 macOS app、輕量、不要 Electron。」就這樣。剩下的事——選 ScreenCaptureKit 還是 CGDisplayStream、用 Swift 還是 Objective-C、權限怎麼要、選單列怎麼處理——它自己決定、自己寫、自己除錯。
我在這個專案的角色只有三件:定義問題、回報 bug、決定要不要 ship。我看不懂它寫的 Swift(我大學學的是 C),但我看得懂它跑起來對不對、看得懂使用情境是否真的成立。這就是 Karpathy 講的「編排系統」——你不需要會敲鍵盤生成那一行 code,但你需要看得懂這個系統要長什麼樣。
AI 不是讓我變成工程師。
是讓我終於可以做「我一直想做、但從來不會做」的東西。
觀點 3但 AI 不是萬能:Karpathy 講的「鋸齒化」我天天遇到
Karpathy 用了一個很精準的詞形容 AI 的能力曲線——jagged(鋸齒化)。意思是 AI 在某些任務上聰明到嚇人,在另一些任務上卻會犯弱智錯誤。同一個模型、同一個 prompt、不同時間給你的答案落差很大。
他還補了一句我特別認同的話:對 AI 生氣、沮喪、情緒化沒有任何幫助。要用「可驗證性」管理它的行為。這件事對 vibe coding 的人來說是日常。我寫 Mac apps 的時候,常常遇到「同一個功能它今天寫得超乾淨、明天寫得亂七八糟」——這時候罵它沒用、再問一次也沒用,唯一的解是把架構寫死。
具體做法很簡單:每個專案根目錄都放一份 CLAUDE.md(Codex 用 AGENTS.md),把命名規則、檔案結構、絕對不要做的事全部列清楚,每次新 session 都讓 AI 先讀。第二招是每次 Git diff 一定要逐行 review——不一定看得懂每一行,但看得懂「它有沒有改到不該改的地方」。第三招是小步驟 ship,一次只丟一個功能,壞了好回滾。
對 AI 情緒化沒有用。可驗證的工序才有用。—— 改寫自 Andrej Karpathy, AI Ascent 2026
這三招組合起來,就是 Karpathy 在演講裡反覆強調的「可驗證性」。它不需要工程背景——需要的是耐心,跟願意承認「我不能完全信任 AI 的輸出,但我可以建一套機制去驗證它」的成熟度。
觀點 4智能體 + 可驗證性 = 普通人的競爭力
Karpathy 在演講最後段花很多時間講 Agent。他的判斷是:未來的軟體不再是一段段被人類執行的指令,而是由智能體自主串起來的系統。這對非工程師其實是好消息——因為「會用一個 Agent」比「會寫一個 function」門檻低多了。
但我這一年在企業端教 AI 的觀察是:真正卡住大家的不是「會不會用 AI」,是「敢不敢相信 AI 的輸出」。很多老闆、主管、企業內訓學員,工具學得很快,但要他們真的把一份工作交給 AI、然後簽名負責——他們不敢。
解這個問題的鑰匙就是「可驗證流程」:自動化測試、雙人 review、小步驟 ship、output 留 log。一旦有了這些護欄,非工程師也敢駕馭 AI。我之前去南澳偏鄉小學帶師培(寫成這篇紀錄),最關鍵的 mindset shift 不是教他們寫 prompt——是讓老師親眼看到「AI 一個晚上生 480 堂教案、而且每一堂都可以打開、可以改、可以印出來用」。看過一次「AI 完成一整件事」的人,就回不去了。
觀點 5從「會寫代碼」到「會編排」:競爭焦點變了
Karpathy 整場演講最有殺傷力的一段:競爭從「你能寫多少代碼」變成「你能多快整合 AI 解決真實痛點」。換句話說,技能門檻在塌、品味門檻在升。會用 AI 不再是技能(YouTube 上一堆教學),定義對的問題才是。
這件事對我這種非典型工程師反而是利多。我這兩年做的那幾個 Mac 工具,技術上沒有任何一個是創新的——ScreenCaptureKit、Wi-Fi scanning、Markdown rendering,都是現成 API。我的優勢只有一個:我每天用題詞機錄影、所以我知道現有題詞機軟體哪裡爛、所以我知道要做什麼。Claude Code 把「實作」這個瓶頸拆掉之後,剩下的就是誰看得到問題、誰願意動手。
寫給跟兩年前的我一樣的人
我大學念資工,但我認真寫程式是從 Claude Code 出來之後才開始的。中間隔了快十年——我做過編輯、做過科普媒體、做過企業內訓,繞了一大圈才回到「自己做東西」這件事。
如果你跟我一樣,腦子裡有十個想做的工具、五個想開的服務、三個想驗證的 idea,但因為「我不會寫 code」就停在那裡——2026 年是你動手的最後藉口了。Karpathy 那句「我從未像現在這樣感到落後」,對我們這群人應該翻譯成另一個版本:「我從未像現在這樣,感到自己這麼接近能做出東西。」
不需要先去補一年的程式課、不需要先學完整套 React、不需要先弄懂什麼是 git rebase。打開 Claude Code、講清楚你想做什麼、然後一行一行看它做出來——一週後你會發現你 ship 出了一個真的能用的東西。這件事我用我自家 5 個 Mac apps 跟一個官網親自驗證過了。
資料來源:本文觀點改寫自 Andrej Karpathy 於 AI Ascent 2026 的演講(YouTube:https://www.youtube.com/watch?v=2feT7_pjxA8),內文延伸與案例為 AJ 個人 vibe coding 實戰經驗,包含官網與 5 款 Mac 桌面工具(Elgato Mirror、iPhone Mirror、WiFiScope、MacPrism、Mkdown)。