← 返回文章列表

AI 會寫代碼了,非科班還要補 CS 基礎嗎?

一個我反覆糾結的問題

我是半路出身的全棧工程師,不是科班。這兩年最直觀的變化是:AI 能幫我寫一大半代碼。需求拆好、上下文給夠,它出活的速度比我快得多。

於是一個問題就一直在我腦子裏轉:既然代碼都有人(有 AI)替我寫了,我還有必要回頭去補計算機科班那一套基礎嗎?數據結構、操作系統、網絡、數據庫……這些東西看起來離日常搬磚很遠,補它們是不是純屬浪費時間?

我想了挺久,結論很明確:有必要,但要挑重點。

一句話説清理由:基礎薄的人用 AI,很容易被它牽着走,分不清它什麼時候在認真幹活、什麼時候在一本正經地胡説。

為什麼 AI 越強,基礎反而越值錢

AI 確實會寫代碼,但它不替你做這幾件事:

判斷代碼好壞。同一個需求有十種寫法,能跑只是及格線,哪種更清晰、更好維護、更不容易埋坑,得你來拍板。

定位性能瓶頸。線上慢了一截,AI 給不出現場,它只能猜;真正縮小範圍、找到那個拖後腿的環節,靠的是你對系統運轉方式的直覺。

設計系統邊界。模塊怎麼切、數據往哪放、哪裏該解耦,這是判斷題不是填空題,AI 幫不上太多。

讀懂報錯堆棧。一長串 stack trace 糊到臉上,能一眼看出問題出在哪一層,是省時間的硬功夫。

這幾件事,全都吃基礎。基礎紮實的人,是把 AI 當一個幹活很快但需要盯着的助手;基礎薄的人,則容易把 AI 的輸出當聖旨——它對的時候你抄得很爽,它錯的時候你根本看不出來,還會理直氣壯地把 bug 帶上線。AI 寫得越多,這道分水嶺就越明顯。

按性價比排個序

補基礎不等於從頭重讀一遍大學課程。對我們這種半路出身的人來説,時間有限,得挑回報最高的補。我的優先級是這樣的:

  1. 數據結構與算法基礎——數組、哈希、樹、圖,加上基本的複雜度分析。這是回報最快的一塊:讀懂別人的代碼、應付面試、判斷 AI 給的方案是不是合理,都直接靠它。它不讓你去手撕紅黑樹,而是讓你看一段代碼就知道它大概多快、會不會爆。

  2. 操作系統 + 網絡——進程與線程、內存是怎麼回事,TCP 和 HTTP 又是怎麼跑的。這部分給你的是排查線上問題的底層直覺。為什麼這個請求卡住了、為什麼內存一直漲、為什麼連接偶爾斷——沒有這層墊底,你只能瞎試。

  3. 數據庫原理——索引、事務、執行計劃。只要你做後端,這關就繞不過去。一條慢查詢背後到底發生了什麼,索引為什麼沒走上,事務為什麼互相卡住,搞懂了能省下大量抓瞎的時間。

  4. 編譯原理、分佈式——這兩塊按需再補。用不到的時候不必硬啃,真撞上了(比如要搭一套多節點的服務)再回來補對應部分,反而學得進去。

怎麼補:別從頭啃教材

我踩過的最大的坑,就是想正襟危坐地從第一頁啃起,結果啃兩章就放棄了。

更實際的做法是:結合手頭的工作,遇到問題再回頭補對應章節。 我現在主要寫 Vue、做全棧,那就讓真實問題來牽引——調優的時候順手把索引學了,排查頁面卡頓的時候順手把事件循環搞明白。帶着具體問題去看,知識是「長」在你身上的,比憑空背誦牢得多。

材料上,我更推薦這兩類,都比大學教材好上手:

  • 《Designing Data-Intensive Applications》(DDIA)——講數據系統怎麼設計,把數據庫、分佈式那些抽象概念落到了真實工程場景裏。
  • MIT 的實戰向公開課——比如 6.S081(操作系統)、6.824(分佈式),都是動手做的路子,跟着寫一遍,比看十遍理論都管用。

最後

所以回到開頭那個糾結:AI 都會寫代碼了,還補不補基礎?

補。而且恰恰因為 AI 會寫了,才更得補——AI 替你寫得越多,你越需要看得懂它寫的到底對不對。