[EP-15] Cursor、 Windsurf ,這兩款 AI 程式編輯器應該怎麼選?
Cursor、 Windsurf 都是目前當紅的程式編輯器,我個人建議如果你是新手,用 Windsurf ,老手就用 Cursor
你開始用 AI 寫程式了嗎?
我在 2024 年初就開始用 AI 輔助寫程式,是直接訂閱ChatGPT 或 Claude 網頁版(輪流訂),然後直接在網頁上詢問,再把 AI 提供的程式碼轉貼到 Visual Studio Code 裡修改。
我當時就知道有 Cursor 、 Windsurf 這些 AI 驅動的程式編輯器,但是我並不是全職的程式設計師,平常只需要偶爾改改辦公室的系統,新增一些小功能,或者作一些自己的專案即可。
訂閱 ChatGPT 或者 Claude ,一個月已經要花 20 鎂了,還要再花錢訂閱 AI 程式編輯器,想想就不划算。
後來我嘗試訂了 Cursor 與 Windsurf 來試用,天啊!真是太好用了,第一次感受到 AI Agent 的威力。
Cursor 與 Windsurf 兩款工具都是 Visual Studio Code 的開源版本,背後都是 ChatGPT 4o 、 Claude 3.5 Sonnet 等主力模型,能提供自動補全、上下文處理、多檔案編輯等功能。
雖然兩款工具使用的語言模型都是大同小異,但兩者在使用體驗、上下文管理策略與適用場景上都不太相同。
這篇文章要從多個方面來解析 Cursor 與 Windsurf ,最後會告訴你,哪一種工具更適合你。
使用 AI 寫程式,要懂得做上下文管理
首先我們要知道,語言模型一次能夠閱讀的程式碼是有極限的。
因此在 AI 程式編輯中,如何讓語言模型有效掌握專案中多個程式碼檔案的上下文,會直接影響 AI 生成程式碼的品質。
雖然 ChatGPT 4o 能接受 128k tokens , Claude 3.5 Sonnet 則能接受 200k tokens ,看起來能夠一次讀很多程式,但是只要專案逐漸膨脹,出現幻覺的機率就會增加。
為了對應語言模型的極限,兩款編輯器各自採取不同策略:
Cursor
Cursor 採用 Composer 功能的 agent 模式來修改程式,並且使用 + 載入指定的檔案。
它預設使用 Claude 3.5 Sonnet 模型,調用上限 25 次的工具(不支援其他模型)。
你可以在內文中輸入 @codebase ,搜索資料夾內的其他程式碼,能夠理解程式碼結構以及檔案之間的關係。
搜索時每次最多讀取 100 行程式。你也可以用 @ 標記特定檔案,能夠完整讀取單一檔案內容,最長可達約 2000 行。
Cursor 的 Chat 功能則可以支援較小的模型,也不會主動動手改程式。
我感覺是有點雞肋啦,因為如果你不想要讓 AI 動手寫程式,使用 Composer 的 normal 模式就可以了。
另外還有 Bug Finder 功能,用來分析目前分支與 Git 遠端儲存庫中的主分支,之間的程式碼變更。目前還是實驗性功能,我沒用過此功能就不多說了。
底下的畫面是在 Cursor 中測試使用 @codebase ,確認程式是否有安全性問題。
Windsurf
相較於 Cursor ,Windsurf 的功能較為簡單,當然也更容易使用。
Windsurf 會以 Cascade 模式自動索引相關程式碼,相當於預設使用 Cursor 的 @codebase 。
正因為如此,許多網友,包括我自己,都認為 Windsurf 對於理解程式碼結構以及檔案之間的關係,要比 Cursor 還要強。
在 Cascade 有兩個功能, Write 與 Chat ,Write 就是對應 Cursor 的 Composer 之中的 Agent 功能,Chat 功能就不用多說了,跟 Cursor 一模一樣。
根據其他網友回報, Cascade 在檢索程式時,預設讀取約 200 行(不足時最多讀取 3 次,即 600 行)。
雖然也有 @ 能夠標記特定檔案,不過 @ 的功能更類似於要針對某個檔案做修改,不會像是 Composer 一樣完整讀取單一檔案。
因此使用 Windsurf 時,要特別小心不要讓程式的行數太高,最起碼別超過 600 行。
底下的影片顯示程式在測試時就將近600行,程式量過多會容易有幻覺,必須小心。
Cursor 與 Windsurf 功能比較總覽
下表綜合了兩款編輯器在部分核心功能上的差異:
Cline:補足 Cursor 與 Windsurf 的不足
我在之前寫了一篇文章,介紹使用VS Code 的 Cline 延伸模組搭配 DeepSeek 模型寫程式。
Cline 的好處,我覺得就是價格,首先它是免費的。至於你要用哪一家的語言模型, API 自己裝,用多少算多少。
老實說我大部分還是都在使用 Windsurf , Cursor 是最近有訂閱了一個月,稍微用一下。 Cline 則是很少在用,所以我能給的意見並不多。
因為 Cursor 或 Windsurf 都是 VS Code 的開源版本,也能下載擴充功能,所以大可以在 Cursor 、Windsurf 編輯器上安裝 Cline 。當我們用光每月額度時,就可以改用 Cline 來頂一下。
價格是硬傷
Windsurf 比較便宜,這也是我當初先選擇它的原因。
Cursor 與 Windsurf 都能夠免費下載,兩者都有送一些基本額度,可見下表。不過Windsurf 要稍微勝出一些,至少 Cascade 基礎模型是免費的,免費仔可以使用基本的程式碼補全功能。
如果決定要訂閱的話,Cursor 比較貴,每月要 20 鎂, Windsurf 只要 15 鎂,早期使用者甚至只要 10 鎂。當然羊毛出在羊身上,兩邊提供的額度也不太一樣。
專業版:
Cursor:
每月訂閱費用為 $20。
提供無限次代碼補全功能。
每月提供 500 次快速高級請求。
無限次慢速高級請求。
每天可使用 10 次 o1-mini 模型。
Windsurf:
每月訂閱費用為 $10(早期採用者價格,未來可能調整至 $15)。
提供 500 個高級模型用戶提示積分。
提供 1500 個高級模型流程操作積分。
可額外購買積分,價格為 $10/300 積分。
優先訪問 Cascade 基礎模型。
具備完整的專業級功能套件。
結論:該選擇哪一款?
如果你是新手,想要快速上手 → 選擇 Windsurf + Cline
如果你有較多程式開發經驗,並希望有更細緻的控制 → 選擇 Cursor + Cline
Windsurf 提供了更直覺的開發體驗,也比較便宜,適合快速開始和較小的專案。
Cursor 則提供更細緻的手動控制,適合大型專案和進階開發者,但是也比較貴。