Vibe Coding 不等於不用懂程式!Andrew Ng 談 AI 時代,軟體工程師的基本功
生成式 AI 與 Coding Agent 正快速改變軟體開發方式,但 DeepLearning.AI 創辦人、AI 學者 Andrew Ng 認為,這並不代表開發者可以跳過軟體工程基本功。
Andrew Ng 近日公布 AI Engineering Skills Map 中關於「Software Engineering Fundamentals」的內容,指出即使未來程式碼幾乎全部交給 Coding Agent 撰寫,開發者仍然需要理解軟體系統如何運作。只有理解系統,才知道該要求 AI 做什麼,以及有哪些 trade-off 必須做。
Andrew Ng 特別警告,完全不懂軟體工程、只靠 Vibe Coding 建立應用程式的新手,確實可以很快做出簡單產品,但 Coding Agent 很可能在延遲、可用性、一致性、可靠性、維護性、簡潔度與成本之間做出錯誤取捨。
更麻煩的是,開發者甚至可能不知道「這些取捨本來就存在」。
Andrew Ng:Coding Agent 讓工程師更容易變成 Full-stack
Andrew Ng 將 AI 時代仍然重要的軟體工程能力分成五個主要方向:建立 Full-stack 應用、管理資料、設計系統架構、確保系統安全可靠,以及部署與維運 Production 系統。
其中第一個明顯變化,就是 Coding Agent 正讓開發者的角色變得更廣。
過去專門負責前端、Mobile 或某個特定技術棧的工程師,如今可以透過 Coding Agent 協助自己完成較不熟悉的工作,逐漸轉向 Full-stack。
但 Andrew Ng 強調,這並不表示 Full-stack 知識不再需要。
真正成熟的開發者仍需要理解前端與後端的重要元件,包括 UI Component、Caching、Page Rendering、API 設計、Authentication、State 與 Session Management、非同步處理、資料持久化、Testing、安全性及 Accessibility。
AI 可以幫忙實作,但「整套系統如何接起來」仍然需要人類理解。
資料架構可能比寫 Code 更重要
Andrew Ng 特別把 Data Management 獨立列為核心能力。原因是,相較程式碼,資料架構通常更難修改。即使未來 AI Agent 可以協助進行資料 Migration,一開始選錯資料模型或儲存架構,仍可能對整個產品帶來長期影響。
開發者需要知道系統的 Access Pattern,才能判斷哪些資料應該儲存、保存多久,以及應該選擇:關聯式資料表、Document、Key-value、Graph,或其他資料架構。這些決策會直接影響產品的速度、擴展性、可用性、可靠性與成本。
除此之外,工程師仍需要理解 Transaction、Concurrency、資料一致性、新鮮度,以及 Privacy、Governance 與 Compliance。而在 AI Application 中,這個問題又更加重要。因為 AI 系統本身取得的 Context 很可能就來自企業資料來源。如果底層 Data Architecture 一開始設計錯誤,AI 本身甚至可能「不知道自己不知道什麼」。
因此,Andrew Ng 認為,如何為 AI Agent 而不只是傳統軟體或人類使用者建立資料基礎設施,將成為快速演進的新領域。
Vibe Coding 最大問題:你不知道自己正在做什麼取捨
系統架構也是 Andrew Ng 認為 Coding Agent 無法取代人類判斷的領域之一。
例如要建立一個產品,工程師必須先設定:
- 有多少使用者?
- Latency 有多重要?
- Cost 有多重要?
- 前後端界線應該怎麼切?
- Application State 放在哪?
- 應該採用 Monolith,還是 Microservices?
甚至連使用哪個 Programming Language、Runtime、Frontend Framework、Backend Framework 與資料技術,都涉及取捨。
更重要的是,正確答案會隨著產品階段改變。
Prototype 階段適合的架構,不一定適合第一版 Production 系統;第一版 Production 架構,在使用者快速成長後也可能需要再度重構。因此,真正的工程能力不是背下一套「最佳架構」,而是知道什麼時候該選什麼,以及什麼時候該改。這也是純 Vibe Coding 最容易遇到的問題。
AI Agent 可以非常快速產生一套看似能運作的系統,但如果使用者本身不理解 Latency、Availability、Reliability 或 Cost 的取捨,就很難判斷 Agent 為什麼選擇某種架構,更難知道它是不是選錯了。
AI 寫 Code 越快,安全與 Reliability 反而越重要
Andrew Ng 同時認為,AI 時代的工程師會越來越需要具備部分 Security Engineer 的能力。可靠系統需要完整 Testing Strategy,包括 Unit Test、Integration Test、測試框架與 Coverage。
工程師也必須知道如何處理失敗。例如 API 遇到 Rate Limit 時怎麼辦?某個服務掛掉後能否 Graceful Degradation?如何降低單一故障造成的 Blast Radius?
Security 則不能等到產品寫完才補。Andrew Ng 提到,目前業界「Shift Left」的方向,就是把安全工作提前到開發流程更前面。
AI 工具現在確實可以協助掃描程式碼漏洞、檢查 Dependency 是否存在 Supply Chain Injection,甚至分析 Cloud Configuration 的 Attack Surface。
但 Andrew Ng 認為:工具可以幫忙找問題,開發者仍然需要具備足以理解問題的 Security Knowledge。
能 Demo 不等於能上 Production
AI Coding 工具讓「做出 Demo」變得前所未有地容易。
但 Andrew Ng 特別把 Scaling and Operating in Production 列為第五項核心能力,也透露了 AI 時代工程人才真正的分水嶺。
要服務真實使用者,工程師仍必須理解完整 Software Development Lifecycle(SDLC)。
除了 Build 與 Test,還包括 Deployment Environment、Release Strategy、CI/CD、自動化部署,以及 Infrastructure as a Service(IaaS)。
系統正式上線之後,又會出現另一組問題:Observability、Alert、Incident Management,以及 Scaling。
當流量增加時,開發者要知道如何 Scale Server、Load Balance,以及透過 Sharding、Indexing、Replication 或修改 Architecture 調整資料系統。
Version Control、Code Review、Dependency Maintenance 與 Technical Debt Management,也仍然是產品能否長期演進的關鍵。
換句話說,AI 可以讓「0 到 1」變得非常快,但真正困難的「1 到 100」仍然高度依賴工程判斷。
風險提示
加密貨幣投資具有高度風險,其價格可能波動劇烈,您可能損失全部本金。請謹慎評估風險。



