這周,Cursor 的主設計師 Ryo Lu 在 X 上親自分享了一條關於如何正確使用 Cursor 的實踐帖,並強調了一個核心理念:
使用得當 = 快速、乾淨的程式碼使用不當 = 你會在「AI 義大利麵程式碼」裡清理一整週
以下是他的12 條建議,總結得非常實用👇,同時,我看了網上的一個解釋,也很好,也一起整理過來了
(解釋來源:https://piedpay.medium.com/deep-interpretation-of-cursor-chief-designers-12-golden-rules-f5d45b518d8c)。
一、正確使用 Cursor 的方法
1、設定 5-10 條清晰的專案規則 開始前先用
/generate rules
給專案設定清晰結構和約束,幫 Cursor 明確框架。a、操作方式: 使用
/generate rules
自動生成,或手動設定 5–10 條約束(如技術棧、編碼規範等)。b、關鍵點:
-
cursor/
中存放設計文件,幫助 AI 理解全域性架構 -
例如:禁止使用 var
,可設定 “強制使用 ES6 語法”,避免 AI 自行發揮
2、提示要具體,像寫 Mini Spec 一樣指明使用的技術棧、行為邏輯與限制條件。模糊的提示 = 模糊的程式碼。
a、結構公式: 技術棧 + 行為要求 + 限制條件示例對比:
-
模糊提示:寫一個登入功能
-
精確提示:使用 React+TypeScript 實現 OAuth2.0 登入元件,不依賴第三方庫,按鈕需支援暗黑模式
3、逐個檔案處理,細分任務一次處理一個檔案,生成 → 測試 → 評審,分塊進行更有效率。
策略: 每次只處理一個檔案,生成 → 測試 → 評審 → 下一步 示例: 構建電商系統,從 “購物車元件” 單獨開發開始
4、先寫測試,再生成程式碼寫好測試並鎖定,直到程式碼全部透過測試為止。
測試驅動開發(TDD):給 AI 套上緊箍咒
-
手動寫測試(如 Jest 單元測試) -
讓 Cursor 補程式碼直到測試全部透過 -
錯誤資訊直接反饋給 AI 修復
5、始終手動評審並修復有問題的輸出修正後告訴 Cursor 這些是“正解”,以利後續生成更準。
原則: 修完 bug 後用
@fixed
註釋告訴 AI 正確做法示例: 如果 AI 忘記為 API 新增認證頭,修復後新增:“所有 API 必須包含 JWT 鑑權頭”
6、使用
@file
、@folder
、@git
來聚焦範圍精準定位程式碼上下文,讓 Cursor 不跑偏。命令:
-
@src/components
限定修改範圍 -
@git#main
對比主分支變更 -
@file:utils.js
修 utils 時避免誤傷其他模組
7、將設計文件和 checklist 放在
.cursor/
資料夾中提供完整上下文,AI Agent 會“知道接下來該做什麼”。做法: 把架構圖放在
.cursor/docs
,並隨程式碼更新及時維護8、錯了別廢話,直接改 Cursor 從實際修改中學得最快,勝過文字解釋。
真相: AI 從你手動修改中學習的速度是文字解釋的 10 倍
示例: 重寫低效的排序演算法並附註釋:“優先使用 quicksort,停用 bubble sort”
9、用對話記錄持續迭代回頭更新舊的 prompt,無需重頭開始。
歷史記錄:你的第二大腦,建議:
-
使用 /history
調取舊對話 -
常用提示語整理成模板複用(如程式碼風格規範)
10、有意識地選擇模型
Gemini:高精準度 – 演算法實現
Claude:理解更廣泛 – 創意型任務(UI/文案)
11、遇到不熟悉的棧,貼上文件連結並要求 Cursor 逐行解釋錯誤及修復方法。
操作: 貼上官方文件,逐行解釋報錯 示例:
@https://xxxx/docs 解釋 useEffect 的依賴更新規則
12、大專案建議讓 Cursor 過夜 index 完成再透過限制上下文範圍來提速、降噪。
預索引 + 限定上下文,策略:
-
專案 index 預處理讓 AI 充分掌握結構 -
使用 @scope:core
等關鍵詞聚焦核心模組,提升響應速度
二、一個比喻:把 Cursor 當作「聰明但初級的實習生」
只要你給它明確方向,它能飛得很遠。 但如果你對它「放任自流」,你只會得到一團AI 義大利麵程式碼。
正如 Cursor 團隊所言:
“AI 程式設計的終極形態,是人類負責戰略,AI 負責戰術。”
附贈一個其他網友的使用心得:
總結起來一句話就能說清楚:多寫文件少聊天。
在使用Cursor的時候,我更傾向於人機協作開發而不是讓你當甩手掌櫃。你需要給Cursor提供必要的指導,從而讓它順著你的思路來做開發。你的腦子裡面要有這個系統的開發路線和架構,你需要知道系統由哪些部分組成,每個部分需要怎麼做。軟體開發是系統設計+編碼。讓Cursor去做編碼工作,而不是去做設計工作。
不要相信網上那些完全不懂程式碼的人純靠文字描述就做出複雜功能的說辭,要不就是他們嘴裡的複雜功能其實是簡單功能,要不就是他在吹牛。
你應該多寫文件,透過文件來描述你的需求。這樣Cursor以後的每次修改都會注意不違揹你的需求文件。聊天視窗一般是告訴Cursor應該使用哪個文件來進行開發。儘量不要在聊天窗口裡面提需求。