工作流程

建立以 AI 為中心的開發習慣,從理解需求到交付功能的完整流程說明。

AI 開發迴圈

使用 Cursor AI 開發時,最有效率的工作模式是「提問 → 審查 → 接受/修改」的迴圈:

1. 提問

用自然語言描述你想做的事、想理解的問題,或需要修改的功能。

2. 審查

仔細檢查 AI 的回覆或建議的程式碼變更,確認邏輯正確性。

3. 接受或修改

接受建議、要求調整,或完全拒絕並重新提問。

4. 驗證

執行測試、手動驗證功能,確認變更符合預期。

5. 迭代

根據測試結果繼續與 AI 對話,修正問題或擴充功能。

最重要的原則:永遠審查 AI 生成的程式碼。AI 可能生成看起來合理但有細微錯誤的程式碼。你的工程師判斷力是最重要的把關機制。

理解程式碼

接手新專案或需要理解陌生程式碼時,Chat 是最好的工具:

快速上手陌生程式碼庫

// 步驟 1:了解整體架構
"@codebase 這個專案的整體架構是什麼?
有哪些主要模組?它們如何互動?"

// 步驟 2:了解關鍵流程
"從用戶登入到取得資料,整個流程經過哪些檔案?"

// 步驟 3:理解特定功能
"@src/auth/middleware.ts 這個中間件做了什麼?
為什麼要在這裡驗證 JWT?"

// 步驟 4:找出依賴關係
"@src/services/userService.ts 這個服務依賴了哪些其他模組?
如果我要修改資料庫 schema,哪些地方需要更新?"

理解舊有程式碼

// 選取複雜的程式碼區塊,在 Chat 中問:
"這段程式碼在做什麼?有什麼潛在問題嗎?"

// 理解設計決策
"為什麼這裡用 setTimeout 而不是 Promise?
這個設計有什麼考量?"

// 了解副作用
"如果我修改這個函式的回傳型別,
哪些地方會受到影響?"

實作功能

實作新功能時,建議採用「先規劃、後執行」的方式:

規劃階段(用 Chat)

// 先用 Chat 規劃,不要急著讓 Agent 開始修改
"我需要加入用戶通知功能:
- 用戶可以設定通知偏好(Email/SMS/推播)
- 系統事件觸發時發送對應通知
- 通知有已讀/未讀狀態

請幫我規劃這個功能需要:
1. 修改哪些資料庫 schema
2. 需要新增哪些 API 端點
3. 前端需要哪些新元件
4. 有哪些邊界情況需要處理"

執行階段(用 Agent)

// 確認計畫後,切換到 Agent 模式執行
"根據我們剛才規劃的通知功能:
1. 先建立資料庫 schema(使用 Drizzle ORM)
2. 建立 NotificationService 類別
3. 為現有的 UserService 加入通知觸發點

請從 schema 開始,完成後告訴我再繼續下一步"

小步驟原則

把大任務拆成小步驟讓 Agent 執行,比一次要求完成所有事情更可靠。每個小步驟完成後驗證,再進行下一步。

除錯流程

遇到 Bug 時,Cursor 的 Chat 和 Agent 能大幅加速除錯過程:

系統性除錯流程

// 步驟 1:描述問題現象
"用戶點擊購買按鈕後,頁面沒有反應。
Console 顯示:
TypeError: Cannot read property 'id' of undefined
  at CartService.checkout (cartService.ts:45)

@cartService.ts 幫我找出這個問題的根源"

// 步驟 2:理解錯誤脈絡
"這個錯誤在什麼情況下會發生?
什麼時候 user 會是 undefined?"

// 步驟 3:讓 Agent 修復
"找到問題了:用戶未登入時呼叫了需要 userId 的 API。
請修復這個問題,加入適當的守衛條件,
未登入時引導用戶至登入頁面"

使用 @errors 引用錯誤

// 直接引用 Terminal 的錯誤訊息
@errors 這個編譯錯誤是什麼意思?如何修復?

// 引用 Console 錯誤
"剛才執行 npm test 出現以下錯誤,
幫我找出原因並修復:
[貼上錯誤訊息]"

Code Review 準備

提交 PR 前,可以用 Cursor Chat 協助進行自我 Review:

// 請 AI 審查你的變更
"@git diff HEAD~1 審查這次的程式碼變更:
1. 有沒有潛在的 bug?
2. 有沒有違反我們的程式碼規範?
3. 有沒有遺漏的邊界情況?
4. 效能有沒有問題?"

// 生成 PR 描述
"根據這次的變更,幫我撰寫一份清楚的 PR 描述,
包含:變更內容摘要、影響範圍、測試方式"

// 預想 Reviewer 的問題
"如果你是 Code Reviewer,
你會對這段程式碼提出什麼問題?"

團隊協作模式

在團隊環境中使用 Cursor,有一些額外的最佳實踐:

統一 .cursorrules

.cursorrules 加入版本控制,確保所有團隊成員的 AI 行為一致:

// 在 .gitignore 中確保 .cursorrules 不被排除
// (預設 .cursorrules 不在 .gitignore 中)

// 在 README 中說明 .cursorrules 的用途:
## AI 輔助開發規範
本專案包含 .cursorrules 設定檔,
使用 Cursor AI 時請確保已開啟此功能。
設定內容包含:
- 程式碼風格規範
- 技術棧偏好
- 命名慣例

建立共用 Prompt 庫

把常用的 Prompt 模板整理成文件,方便團隊共用:

  • 功能開發模板(描述需求的標準格式)
  • Bug 回報模板(包含錯誤訊息、重現步驟)
  • Code Review 模板(審查的標準問題清單)

每日工作節奏

以下是使用 Cursor 的建議每日工作節奏:

早上 - 規劃

用 Chat 討論今日任務的實作方式,確認技術方向後再開始寫程式。

工作中 - 執行

混合使用 Tab 補全(快速補全)、Cmd+K(針對性修改)、Agent(複雜任務)。

遇到問題 - 除錯

先自己思考 2-3 分鐘,再帶著具體問題詢問 Chat。描述越清楚,答案越精準。

提交前 - 審查

用 Chat 自我 Review,確認程式碼品質後再提交。

上一步:← 核心功能詳解 |下一步:進階技巧 →