AI 輔助學習
核心哲學
AI 提升了開發者能力的下限——但資深專業知識的上限取決於判斷力,而非語法。
AI 輔助學習的最大風險是「理解負債」——交付你不理解的程式碼。目標是將 AI 作為你思考的增效器,而非替代品。
規則: 使用 AI 來更快地理解,而不是跳過理解。
蘇格拉底式提問法(最適合深度學習)
不要直接要求答案,而是請求對話:
設定
我想通過對話學習[主題]。請勿直接給我解決方案。
相反地:
- 提出問題來引導我的思考
- 點出我遺漏的地方,但不要直接填補
- 挑戰我的假設
- 只有當我的推理正確時才給予確認
我目前的理解:[你所知道的]
我的問題:[你想理解的東西]
為何有效
迫使你闡述你的思考 → 浮現隱藏的盲點 → 建立持久的心智模型,而非僅僅複製答案。
蘇格拉底學習階段
| 階段 | 該做什麼 | AI 的角色 |
|---|---|---|
| 1. 辯論 | 問「為什麼這樣做?」 | 審問、挑戰假設 |
| 2. 具體化 | 將討論轉換為規格 | 確認你的架構是合理的 |
| 3. 錨定 | 在實作之前先撰寫測試 | 定義失敗標準 |
| 4. 實作 | 逐步建構 | 引導,而非代勞 |
| 5. 驗證 | 審查你的成果 | 找出差距,提出改進建議 |
學習新技術
AI 學習循環
1. 概覽:「給我一個關於[技術]的 5 分鐘概覽。
它能解決什麼問題?何時應該使用它而非替代方案?」
2. 心智模型:「在寫任何程式碼之前,我需要先理解哪些核心概念?」
3. 引導實作:「帶我一步一步建構[小型實用範例]。
在過程中解釋每一個決定。」
4. 挑戰我:「針對我剛剛學到的內容考考我。
問一些關於邊界情況和陷阱的問題。」
5. 應用:使用這項新技術建構一個真實的東西。
6. 審查:「審查我的實作。一位資深的 [X] 開發者會改變什麼,以及為什麼?」
保持最新(資深開發者工作流程)
- 使用 AI 掃描發行說明,並總結真正重要的部分
- 詢問「[框架] v[X] 的哪些改變會影響我現有的模式?」
- 進行平行實驗:「用新舊兩種方式實作這個功能,並解釋其差異」
- 使用 Perplexity 或 Gemini 來了解「社群目前對 X 有什麼看法?」
導覽陌生程式碼庫
使用 AI 入門
我是這個程式碼庫的新手。請幫我系統性地理解它:
1. 這個專案是做什麼的?(高層次)
2. 進入點 / 主要流程是什麼?
3. 關鍵模組有哪些?它們各自的職責是什麼?
4. 整個程式碼庫一致地使用了哪些模式?
5. 對新開發者來說,什麼會令人困惑?
[貼上 README 或關鍵檔案]
鏈式理解工作流程
步驟 1:「請用高層次角度解釋[功能]是如何運作的」
步驟 2:「涉及哪些檔案?每個檔案的責任是什麼?」
步驟 3:「帶我了解[特定動作]的資料流程」
步驟 4:「要修改[特定東西],我需要理解什麼?」
理解特定函式
請解釋這個函式的用途,包括:
- 它接收什麼輸入
- 它回傳什麼
- 它有什麼副作用
- 它在哪裡被呼叫(如果你能推斷出來)
- 我應該知道的任何非顯而易見的行為
[貼上函式]
技能差距分析
找出你的差距
我是一名主要使用[技術棧]的[等級]開發者。
我想要邁向[目標角色/技能]。
基於以上背景,我可能有哪些最重要的技能差距?
請按以下優先順序排列:(1) 對當前工作的影響,(2) 職涯成長價值。
縮小特定差距
我意識到我在[特定領域]較弱。
請設計一個為期兩週的學習計畫:
- 從我目前的層級開始:[描述]
- 結束於:[目標能力]
- 包含動手練習,而不只是閱讀
- 每天花費 30-45 分鐘
面試準備
技術面試
扮演一家[公司類型]的[職位]技術面試官。
就[主題]對我進行面試。
規則:
- 從中等難度的題目開始
- 如果我回答得好,增加難度
- 如果我卡住了,給一個提示,然後追問
- 每次回答後,給予具體回饋
- 3 個問題後,總結我的表現和差距
系統設計面試
問我一個適合[等級]的系統設計問題。
當我回答時:
- 探究我的決定:「為什麼選擇 X 而不是 Y?」
- 詢問規模問題:「當流量成長 10 倍時,這會如何改變?」
- 挑戰假設:「如果資料庫成為瓶頸怎麼辦?」
- 標記遺漏:「你還沒有解決 [X]」
行為面試(STAR 格式)
請幫我用 STAR 格式準備行為面試的答案。
目標職位:[職位]
我的背景:[簡短摘要]
給我 5 個針對這個職位的常見行為問題。
針對我回答的每個問題,請幫我用 STAR 格式做更好的組織。
建立個人學習系統
每週 AI 學習循環
1. 週一:定義本週的學習目標
2. 每日:30 分鐘的 AI 引導學習
3. 建構:在一個小型專案中應用所學概念
4. 週五:AI 審查你的成果,找出差距
5. 週末:選擇性進行間隔重複複習
記憶層
將關鍵學習轉化為持久的知識:
- 每次 AI 學習會話後,問自己:「我應該記住的 3 件最重要的事情是什麼?」
- 用自己的話寫下來(不是複製貼上)
- 建立一個測試:「我如何知道我已真正理解了這個?」
- 每週重新回顧
個人知識庫提示
請幫我為[概念]建立一個參考卡。
格式:
- 一句話定義
- 何時使用它
- 何時*不*使用它
- 主要的陷阱
- 快速範例
- 一個我應該記住的「頓悟時刻」洞見
應避免的反模式
| 反模式 | 為什麼有害 | 更好的方法 |
|---|---|---|
| 未閱讀就複製貼上 AI 產生的程式碼 | 理解負債,之後無法除錯 | 使用前務必閱讀並理解 |
| 在嘗試之前就要求解答 | 跳過了在掙扎中發生的學習 | 先嘗試,然後再請求回饋 |
| 接受第一個答案為真理 | AI 可能自信地給出錯誤答案 | 對照文件驗證,親自測試 |
| 僅將 AI 當作搜尋引擎使用 | 錯失了教學機會 | 問「解釋為什麼」,而不只是「如何做」 |
| 跳過自己建構的步驟 | 無法將知識遷移到新情境 | 永遠要自己建構東西,即使很小 |
平衡測試
問自己:「如果明天 AI 消失了,我還能做這件事嗎?」 如果不行 → 你需要解決學習差距。 如果可以 → 你正確地將 AI 用作增效器。
何時深入學習 vs. 委派給 AI
| 深入學習 | 委派給 AI |
|---|---|
| 核心語言基礎 | 樣板程式碼生成 |
| 架構與設計模式 | 重複性的轉換 |
| 除錯心智模型 | 文件格式化 |
| 產品的領域邏輯 | 不常使用的語法 |
| 安全原則 | 檔案結構生成 |
| 系統設計取捨 | 測試樣板 |
經驗法則: 如果理解它能讓你在未來 5 年成為更好的工程師,就深入學習。如果它只是附帶的複雜性,就委派出去。