篩選案例
用 Agent 重構 React 元件
Agent 模式將一個 500 行的巨型元件(God Component)拆分為多個職責單一的小元件,同時保持功能不變。
使用的 Prompt
@src/components/Dashboard.tsx
這個元件超過 500 行,請幫我重構:
1. 將每個主要功能區塊拆成獨立元件
2. 將資料獲取邏輯抽取到自訂 hooks
3. 保持所有現有功能,不要改變行為
4. 新元件放在 src/components/dashboard/ 目錄下
5. 完成後更新 Dashboard.tsx 引用新的子元件耗時:約 2 分鐘。省去手動拆分的 1-2 小時工作。
Chat 解釋複雜演算法
Chat 對話接手遺留程式碼,快速理解一段複雜的搜尋演算法邏輯。
使用的 Prompt
@src/utils/fuzzySearch.ts
請幫我解釋這個模糊搜尋演算法:
1. 整體邏輯是什麼?使用了什麼演算法?
2. 為什麼要用位元運算?
3. 時間複雜度是多少?
4. 這段程式碼有沒有效能瓶頸?
用繁體中文說明,假設我不熟悉字串演算法5 分鐘內完全理解原本需要 1 小時才能看懂的程式碼。
Rules 統一 TypeScript 風格
Rules 設定為新加入的團隊成員建立 .cursorrules,確保 AI 協助他們寫出符合團隊規範的程式碼。
關鍵 .cursorrules 內容
## 型別規範
- 禁止使用 any,改用 unknown 或精確型別
- 所有函式參數和回傳值都必須有型別
- 使用 type 而非 interface(除非需要 extends)
- 使用 satisfies 確保物件型別符合期望
## React 規範
- 使用 function 關鍵字定義元件(非箭頭函式)
- Props 型別定義在元件正上方
- 使用 React.FC 時要明確定義 children 型別設定後,所有 AI 生成的程式碼自動符合團隊規範。
Agent 生成完整 CRUD API
Agent 模式用一個 Prompt 讓 Agent 自動生成包含 CRUD 操作的 RESTful API,包含路由、控制器、服務層和資料庫 schema。
使用的 Prompt
請為「商品管理」功能建立完整的後端 API:
需求:
- 商品有:名稱、價格、庫存數量、分類、圖片URL
- 支援:新增、查詢(含分頁與篩選)、更新、刪除
- 軟刪除(不真正刪除資料)
技術棧:Fastify + Drizzle ORM + PostgreSQL
請按照現有的 src/routes/products.ts 架構
包含輸入驗證(使用 Zod)和錯誤處理15 分鐘完成原本需要半天的基礎 API 開發。
Tab 補全加速測試撰寫
Tab 補全撰寫第一個測試案例後,Tab 補全會預測後續的測試結構,大幅加速測試撰寫速度。
實際操作流程
// 手動輸入第一個測試:
describe('userService', () => {
it('should create user with valid data', async () => {
const result = await userService.create({ name: 'Test', email: 'test@example.com' })
expect(result.id).toBeDefined()
expect(result.name).toBe('Test')
})
// 輸入 it( 後,Tab 自動補全下一個測試:
it('should throw error when email is duplicate', async () => {
// Cursor 預測並補全整個測試內容
})
})撰寫 10 個測試案例的時間,從 30 分鐘縮短至 8 分鐘。
Cmd+K 加入錯誤處理
Cmd+K快速為現有的非同步函式加入完整的錯誤處理邏輯,包含重試機制和日誌記錄。
操作流程
// 原始程式碼(選取整個函式):
async function fetchUserData(userId: string) {
const response = await api.get(`/users/${userId}`)
return response.data
}
// 選取後按 Cmd+K,輸入:
"加入完整的錯誤處理:
- 網路錯誤時重試 3 次(指數退避)
- 404 時拋出 UserNotFoundError
- 記錄錯誤至 logger
- 加入 TypeScript 型別"
// AI 生成的結果會以 diff 形式顯示,確認後接受30 秒完成原本需要 5-10 分鐘的錯誤處理模板。
Chat 協助 Code Review
Chat 對話提交 PR 前,用 Chat 進行自我 Code Review,發現潛在問題。
使用的 Prompt
@src/services/paymentService.ts
這是我今天寫的付款服務,準備提交 PR。
請從以下角度幫我審查:
1. 安全性:有沒有常見的安全漏洞?
2. 邊界情況:有沒有沒處理到的例外?
3. 效能:有沒有 N+1 查詢或不必要的 await?
4. 可測試性:這段程式碼容易撰寫單元測試嗎?
5. 符合 SOLID 原則嗎?
發現問題的話,請具體說明問題位置和建議修改方式發現了 2 個未處理的邊界情況,避免了生產環境的 bug。
Agent 遷移到新框架
Agent 模式將 Pages Router 的 Next.js 專案遷移到 App Router 架構。
使用的 Prompt
我需要將這個 Next.js 專案從 Pages Router 遷移到 App Router。
請從 @pages/products 目錄開始:
1. 將 getServerSideProps 轉換為 Server Components
2. 將 useRouter 從 next/router 改為 next/navigation
3. 調整 metadata 的設定方式
4. 確保 loading 和 error 狀態正確處理
完成一個頁面後,讓我確認再繼續下一個分批遷移策略讓大型重構可控,每步驟都可驗證。
Rules 設定多語言支援規範
Rules 設定設定 .cursorrules 讓 AI 在生成前端程式碼時,自動考慮 i18n 多語言支援。
關鍵 .cursorrules 內容
## 國際化(i18n)規範
本專案使用 next-intl 處理多語言(繁中/英文)
- 所有用戶可見的文字必須透過 useTranslations() 讀取
- 禁止在元件中硬編碼任何中文或英文字串
- 新增 UI 文字時,同時在 messages/zh-TW.json 和
messages/en.json 中加入對應的翻譯 key
- 日期和數字格式使用 useFormatter() 處理設定後,AI 自動在所有生成的元件中加入 i18n 支援。
Chat 分析效能瓶頸
Chat 對話使用 Chat 分析慢速 API 的效能問題,找出 N+1 查詢並提供最佳化方案。
使用的 Prompt
@src/api/orders/route.ts
這個 API 端點在資料量大時非常慢(> 2 秒)。
ORM 是 Drizzle,資料庫是 PostgreSQL。
請幫我:
1. 找出潛在的 N+1 查詢問題
2. 確認索引策略是否正確
3. 建議如何加入分頁(cursor-based pagination)
4. 是否有可以快取的資料?
請提供具體的程式碼修改建議發現並修復 N+1 問題後,API 回應時間從 2.1 秒降至 180ms。