AI 輔助開發入門
什麼是 AI 輔助開發?
💡 比喻:超強實習生 想像你有一個實習生,他:
- 讀過幾乎所有程式語言的文件
- 打字速度無限快
- 24 小時不休息
- 但他不會主動思考,你說什麼他做什麼
這就是 AI 輔助開發的本質——你是老闆,AI 是超強實習生。 你負責想,他負責做。
傳統開發 vs AI 輔助開發
傳統開發流程:
想需求 → Google 搜尋 → 看 Stack Overflow → 複製貼上 → 改到能跑 → Debug
AI 輔助開發流程:
想需求 → 告訴 AI → AI 寫好 → 你檢查 → 微調 → 完成
重要觀念:AI 輔助開發不是「不用學程式」,而是「學更快、做更快」。
你還是需要:
- 看得懂 AI 寫的 code(不然怎麼檢查?)
- 知道基本架構(不然怎麼描述需求?)
- 會 Debug(AI 也會寫錯)
Claude Code 是什麼?
Claude Code 是 Anthropic 推出的 CLI(命令列)AI 開發工具。
💡 比喻:對講機 你可以想像 Claude Code 是一個對講機, 你對著它說:「幫我把 HomeController 的 Index 改成回傳 JSON」, 它就直接幫你改檔案。不用開網頁、不用複製貼上。
Claude Code vs ChatGPT 的差別
功能 ChatGPT 網頁版 Claude Code CLI
─────────────────────────────────────────────────────────
改檔案 複製貼上 直接改你的檔案
讀專案 要手動貼 code 自動讀整個專案
執行指令 不行 可以跑 dotnet build
Git 操作 不行 可以 commit、push
瀏覽器操作 不行 可以(透過 MCP)
記憶 每次重來 CLAUDE.md 永久記憶
安裝 Claude Code
# 安裝 Claude Code(需要先有 Node.js)
npm install -g @anthropic-ai/claude-code
# 確認安裝成功
claude --version
# 在專案目錄啟動
cd C:/Users/user/MyProject
claude
基本操作:開啟、對話、讓 AI 改 Code
開啟 Claude Code
# 進入你的專案目錄
cd C:/Users/user/DotNetLearning
# 啟動 Claude Code
claude
啟動後你會看到一個互動式的對話介面,直接打字就可以跟 AI 對話。
常用操作範例
# 讓 AI 讀懂你的專案
> 幫我看一下這個專案的架構,列出所有 Controller 和 View
# 讓 AI 改 code
> 把 HomeController.cs 的 Index action 改成回傳 "Hello World"
# 讓 AI 建新檔案
> 幫我建一個 ProductController,有 Index 和 Details 兩個 action
# 讓 AI 跑指令
> 執行 dotnet build 看有沒有編譯錯誤
# 讓 AI 修 bug
> dotnet run 出現 NullReferenceException,幫我找原因
AI 會做的事
當你給 AI 指令,它會:
- 讀取相關檔案(自動找到需要的檔案)
- 分析程式碼(理解邏輯和架構)
- 修改檔案(直接寫入你的檔案系統)
- 執行指令(如果需要的話)
- 回報結果(告訴你改了什麼)
如何描述需求讓 AI 理解
💡 比喻:點餐
- ❌ 模糊:「給我吃的」→ AI 不知道你要什麼
- ✅ 具體:「一碗牛肉麵,不要香菜,小辣,加滷蛋」→ AI 精準執行
具體 > 模糊
❌ 模糊的需求:
"幫我做一個網站"
→ AI:什麼網站?什麼功能?什麼技術?什麼風格?😵
✅ 具體的需求:
"用 ASP.NET Core MVC 做一個吉他教學網站,
功能:首頁、課程列表、聯絡表單,
風格:暖米色系,響應式設計,
資料庫:SQLite"
→ AI:收到!馬上開始 💪
好需求的四個要素
1. 技術棧:用什麼框架、什麼語言
2. 功能:要做什麼、有哪些頁面
3. 風格:長什麼樣子、什麼色系
4. 限制:不要什麼、要注意什麼
範例對比
❌ "幫我建一個 ASP.NET Core MVC 專案"
→ AI 會建一個空的預設專案,什麼都沒有
✅ "幫我建一個 ASP.NET Core MVC 專案,要有:
- HomeController 有 Index 和 About action
- 用 Bootstrap 5 的 Navbar
- SQLite 資料庫,Entity Framework Core
- 一個 Product model(Id, Name, Price, Description)
- ProductController 有 CRUD 功能"
→ AI 會建一個完整可用的專案
AI 不是萬能的
適合交給 AI 的事
✅ 重複性工作(建 CRUD、寫 Model)
✅ 套版面(CSS、HTML 排版)
✅ 寫測試(Unit Test、Integration Test)
✅ 重構(改變數名、拆函式)
✅ 查錯(讀 error log、找 bug)
✅ 學習(解釋程式碼、教概念)
不適合交給 AI 的事
❌ 商業邏輯決策(這個功能該不該做?)
❌ 系統架構設計(要用 Microservice 還是 Monolith?)
❌ 安全性審核(AI 可能忽略漏洞)
❌ 效能調校(需要實際測量和經驗)
❌ 程式碼審查的最終判斷(你才是負責人)
⚠️ 重要原則:AI 寫的每一行 code,你都要看得懂、負得起責任。
範例對比:好指令 vs 壞指令
範例 1:建專案
❌ 壞指令:
"建一個網站"
✅ 好指令:
"用 ASP.NET Core 8.0 MVC 建一個吉他教學網站 GuitarSchool,
包含以下功能:
1. 首頁(Hero banner + 課程精選)
2. 課程列表頁(可篩選難度)
3. 聯絡表單(Name, Email, Message)
4. 用 SQLite + EF Core
5. Bootstrap 5,暖米色系(#F5F1EB 背景)
6. 響應式設計,手機要能看"
範例 2:修 Bug
❌ 壞指令:
"幫我修 bug"
✅ 好指令:
"HomeController.cs 第 42 行出現 NullReferenceException,
我在 Index action 裡呼叫 _context.Products.ToList(),
但 _context 是 null。
請檢查 DI 註冊(Program.cs)有沒有加 AddDbContext。"
範例 3:改樣式
❌ 壞指令:
"把網站弄好看一點"
✅ 好指令:
"把 Navbar 的背景色改成 #2C3E50(深藍灰),
文字顏色 #ECF0F1(淺灰白),
hover 時文字變成 #E74C3C(紅色),
加上 0.3s 的 transition 動畫"
🤔 常見錯誤
錯誤 1:指令太模糊
❌ 你說:"幫我做一個功能"
AI 回覆:"什麼功能?要用在哪裡?有什麼需求?"
→ 浪費時間在來回問答
✅ 改成:"在 ProductController 加一個 Search action,
接收 query 參數,搜尋 Product 的 Name 欄位,
回傳符合的產品列表到 Search.cshtml View"
錯誤 2:不檢查 AI 的輸出
❌ AI 寫完 code 後直接 deploy
→ 結果 AI 用了已棄用的 API、忘記處理 null、SQL Injection 漏洞
✅ 正確做法:
1. 讀一遍 AI 寫的 code
2. 跑 dotnet build 確認編譯通過
3. 跑測試確認功能正常
4. 自己手動測一次
錯誤 3:過度依賴 AI
❌ 完全不學程式,所有東西都叫 AI 做
→ 出問題時完全不知道怎麼修
✅ 正確做法:
- 用 AI 加速學習,但自己也要理解
- 看 AI 的 code 時順便學習寫法
- 遇到看不懂的,問 AI:"這段 code 在做什麼?為什麼這樣寫?"
本章重點整理
| 概念 | 說明 |
|---|---|
| AI 輔助開發 | 你想、AI 做,加速開發流程 |
| Claude Code | CLI 工具,直接在終端機跟 AI 對話 |
| 具體需求 | 技術棧 + 功能 + 風格 + 限制 |
| AI 的限制 | 不做決策、不保證安全、需要人類審查 |
| 黃金原則 | 每行 code 你都要看得懂、負得起責任 |