第四章:控制 AI 的記憶:.cursorrules 撰寫心法與 Context 上下文遮蔽技巧

在使用了 AI 編輯器 (如 Cursor) 一段時間後,你一定會發現一個現象:AI 好像有一種「預設的固執」。例如,它總是喜歡用舊版的 React 語法,或者總是忘記你喜歡用 Tailwind 而硬塞原生 CSS 幫你排版。

要解決這個問題,我們需要深入理解如何控制 AI 的「系統記憶」,也就是 Vibe Coding 的核心武器:.cursorrules 檔案,以及強大的上下文 (Context) 遮蔽技巧。

什麼是 .cursorrules?

.cursorrules 是專屬於 Cursor 編輯器的一種特殊檔案(通常放在專案的根目錄)。它的作用等同於給 AI 的「最高指導原則 (System Prompt)」。

每當你在 Cursor 裡發問時,AI 都會偷偷先把 .cursorrules 讀過一遍,然後再回答你的問題。這就像是給你的 AI 助手制定了一本「員工手冊」。

完美的 .cursorrules 該怎麼寫?

一份好的 .cursorrules 不應該落落長,而應該簡準狠,針對你的專案技術棧進行約束。以下是一份專為 Next.js App Router 打造的黃金範本:

# 專案技術棧
- 框架:Next.js 14+ (App Router)
- 語言:TypeScript
- 樣式:Tailwind CSS
- UI 元件:Shadcn UI, Framer Motion
- 資料庫:Supabase (PostgreSQL)

# 開發原則
1. **嚴格使用 App Router 規範**:所有的路由必須放在 `src/app` 下,不要使用舊版的 `pages` 路由。
2. **Client Components**:如果元件需要使用 `useState`, `useEffect` 或任何互動事件 (onClick),必須在檔案第一行加上 `"use client";`。
3. **Tailwind 優先**:禁止寫自定義的 CSS 檔案或 Inline Styles,全部使用 Tailwind Utility Classes。
4. **型別安全**:所有 API Response 和 Props 都必須定義嚴格的 TypeScript Interface。禁止使用 `any`。

# 回覆風格要求
- 給我程式碼時,請只給我「修改的部分」或是「完整的檔案」,不要省略關鍵邏輯。
- 請用繁體中文回答。
- 在給出解法前,先簡短思考一下可能的地雷(例如 Hydration Error)。

把這段文字存成專案根目錄的 .cursorrules,你會發現你的 AI 瞬間變成了懂你心意的資深同事!

上下文 (Context) 遮蔽技巧

除了 .cursorrules 給予全域記憶外,我們在發問時常常會遇到「AI 讀了太多檔案導致精神錯亂」的問題。

在 Cursor 中,預設情況下它可能會掃描你目前打開的所有 Tabs,或者根據關鍵字亂找檔案。這就是為什麼有時候你明明在改 Header.tsx,它卻跑去修改你的 Footer.tsx

技巧一:明確指定檔案 (@ Files)

在 Cursor 的 Chat 框中,永遠養成習慣打出 @ 來手動指定你要 AI 看的檔案。 例如:

@PricingPage.tsx @PricingCard.tsx 請幫我把 PricingPage 傳進來的 props 接到 PricingCard 裡。

透過明確指定,你就是在幫 AI 戴上眼罩,告訴它:「除了這兩個檔案,其他都不准看!」這樣它的注意力就會 100% 集中,答對率直線上升。

技巧二:屏蔽不需要的雜訊 (.cursorignore)

有些檔案是 AI 絕對不該去看的,例如:

  • package-lock.json
  • .next/
  • 編譯出來的 dist/build/

通常 Cursor 會自動忽略它們,但如果你有自定義的巨大 Log 檔或暫存資料夾,你可以建立一個 .cursorignore 檔案(語法和 .gitignore 一樣),避免 AI 把寶貴的 Token 浪費在閱讀無用的雜訊上。

技巧三:清除對話記憶 (New Chat)

這是最常被忽略的技巧。一個 Chat 視窗的記憶是有上限的(Context Window)。當你跟 AI 討論了 50 輪,解決了 3 個不同的 Bug 後,AI 的腦袋裡充滿了各種被廢棄的程式碼片段。

這時候,如果你繼續問第 4 個新問題,它極有可能會把之前的廢棄邏輯混進來。

最佳實踐:一個 Task,一個 Chat。 只要你完成了一個獨立的小功能,並且 Git Commit 了,就果斷按下 Cmd/Ctrl + L 清除對話,或者開啟一個 New Chat。讓 AI 保持大腦清醒,是 Vibe Coding 高效率的關鍵。

總結

  1. .cursorrules 鎖死專案技術棧與開發規範。
  2. 提問時善用 @ 指定具體檔案,減少 AI 亂讀文件的機會。
  3. 隨時清理對話,一個任務一個 Chat,保持 AI 的思路清晰。

掌握了 Context 控制術,你就真正從一個「AI 使用者」,晉升為「AI 指揮官」了!

解鎖完整教學內容

本章為付費內容。加入專案即可解鎖超過 5000 字的深度解析,包含 10 個以上神級 Prompt 與真實 Source Code 範例!