← 所有文章

Claude Code + Cursor:30次實際開發經驗教會我的事

我追蹤了30次開發過程,比較單獨使用Claude Code、單獨使用Cursor以及兩者組合的表現。組合工作流程相較於單獨使用任一工具,實作時間大約縮短了40%,但前提是我必須將任務分配到各工具的強項上。1

TL;DR

Claude Code擅長終端機操作、多檔案變更和代理式任務委派。Cursor擅長行內自動完成、快速單檔編輯和即時程式碼建議。經過30次追蹤的開發過程——包括建構blakecrosley.com、我的Claude Code hook系統以及多個iOS應用程式——我發現了明確的分工:Claude Code負責廣度(架構、多檔案重構、測試、部署),Cursor負責深度(單檔實作、行內建議、視覺化差異檢視)。兩者的組合消除了強迫任一工具進入對方領域所帶來的情境切換開銷。


各工具的優勢所在

Claude Code的強項

能力 為何Claude Code勝出 我的實例
多檔案重構 讀取、規劃並編輯整個程式碼庫 在一次開發中重構了deliberation系統的8個Python模組
終端機操作 直接存取shell執行git、測試、建構 執行我的12模組部落格檢查器、pytest測試套件、git操作
代理式委派 子代理可平行處理獨立任務 3個探索代理同時蒐集CSS資料,而我專注撰寫
研究與探索 Glob、grep和read工具用於理解程式碼庫 搜尋95個hook檔案以找出生命週期事件模式
自訂自動化 Hooks、skills和commands實現工作流程自動化 95個hooks、44個skills自動執行品質與安全檢查

Cursor的強項

能力 為何Cursor勝出 我的實例
行內自動完成 打字時即時提供建議 SwiftUI視圖實作,完成@Observable模式
單檔快速編輯 在編輯器中進行快速、精確的變更 在critical.css中微調CSS屬性
視覺化差異檢視 接受前可並排預覽變更 檢視產生的HTML模板變更
Tab自動完成流程 無需離開編輯器即可接受/拒絕建議 填寫Python函式主體

三個實際工作流程範例

範例1:部落格品質系統(Claude Code → Cursor → Claude Code)

任務: 建構一個包含引用驗證的12模組部落格檢查器。

Claude Code(架構,45分鐘): 讀取現有的content.py,設計模組結構,建立blog_lint.py包含6個初始模組(元資料驗證、註腳檢查、程式碼區塊語言偵測),在blog-lint.py中連接CLI,執行初始測試。

Cursor(實作潤飾,20分鐘): 改進citation-no-url偵測的正規表達式,調整ONLINE_PATTERNS比對,新增學術論文引用與網頁參考的邊界案例處理。Cursor的行內自動完成在迭代正規表達式方面表現出色——我可以輸入部分模式並快速接受/拒絕建議,比向Claude Code描述模式更快。

Claude Code(驗證,15分鐘): 執行完整測試套件(77個測試),修復正規表達式改進導致的3個失敗,檢查所有33篇部落格文章,建立提交。

總計:80分鐘。 單獨使用Claude Code估計:100分鐘。單獨使用Cursor估計:150分鐘以上(Cursor在多檔案測試基礎架構方面力有未逮)。

範例2:iOS SwiftUI視圖(Cursor → Claude Code)

任務: 為Ace Citizenship建構間隔重複記憶卡片視圖。

Cursor(實作,30分鐘): 建構整個SwiftUI視圖:卡片翻轉動畫、進度指示器、答案揭示。Cursor對SwiftUI的行內自動完成很強,因為該框架具有一致的模式。用Tab完成@ObservableNavigationStack和修飾器鏈感覺很自然。

Claude Code(整合,10分鐘): 將視圖接入導航流程,新增SwiftData查詢,執行建構,修復視圖模型與資料模型之間的型別不匹配問題。

總計:40分鐘。 這個任務75%是單檔工作,因此Cursor承擔了大部分的重任。

範例3:Hook基礎架構(Claude Code主導)

任務: 建構具有產生預算追蹤的recursion-guard.sh。

Claude Code(100%實作): 這個任務完全是多檔案工作:讀取14個JSON設定檔、編輯hook腳本、更新session-start初始化、跨多個代理產生情境進行測試,以及用48個bash整合測試進行驗證。Cursor在此毫無價值——工作橫跨太多檔案且需要終端機操作(執行測試腳本、檢查hook輸出、驗證JSON設定載入)。


組合使用失敗的情境

失敗1:工具間的情境漂移

Claude Code進行檔案系統變更。Cursor在編輯器中看到這些變更。但Cursor的情境(.cursorrules、開啟的檔案、最近的編輯)並不知道Claude Code做出的架構決策。我曾遇過Cursor建議的模式與Claude Code剛建立的架構相矛盾,因為Cursor的MDC檔案沒有更新。

我的解決方法: 在Claude Code架構工作完成後,我會在切換到Cursor之前更新.cursorrules或相關的MDC檔案以反映新模式。這增加了2-3分鐘的額外開銷,但能防止Cursor與新架構產生衝突。

失敗2:重疊的檔案編輯

兩個工具都可以編輯同一個檔案。如果Claude Code修改了content.py,而我切換到Cursor去調整同一檔案中的某個函式,Cursor偶爾會基於編輯前的狀態提供建議(其索引尚未更新)。結果是:產生需要手動解決的衝突編輯。

我的解決方法: 在Claude Code編輯檔案後,在Cursor中關閉並重新開啟該檔案。或者如果需要多次編輯,就全程使用Claude Code處理整個檔案。

失敗3:終端機密集型任務不適合拆分

需要頻繁終端機互動的任務(除錯測試失敗、迭代shell腳本、執行建構)完全無法從Cursor受益。在除錯中途切換到Cursor只為做一行修改,視窗切換的開銷就超過了節省的打字時間。

我的原則: 如果任務需要超過3個終端機指令,就全程留在Claude Code中完成。


開發數據摘要

指標 單獨Claude Code 單獨Cursor 組合使用
多檔案任務(平均時間) 45分鐘 90分鐘 50分鐘
單檔任務(平均時間) 15分鐘 8分鐘 8分鐘
終端機密集型任務 30分鐘 不適用 30分鐘
情境設定開銷 2分鐘 1分鐘 5分鐘
架構+潤飾任務 60分鐘 80分鐘 40分鐘

組合工作流程在「架構+潤飾」類型的任務上優勢最為明顯——由Claude Code處理結構性工作,Cursor處理細節工作。組合工作流程每次任務增加3-5分鐘的情境切換開銷,這意味著10分鐘以下的任務不適合拆分。2


我目前的分工方式

任務類型 工具 理由
多檔案重構 Claude Code 跨程式碼庫讀取和編輯
撰寫測試與除錯 Claude Code 需要終端機執行測試
Git操作 Claude Code 直接存取shell
SwiftUI視圖實作 Cursor 強大的行內自動完成
CSS屬性微調 Cursor 編輯器中的視覺回饋
單一函式實作 Cursor Tab自動完成流程
Hook/腳本開發 Claude Code 終端機密集型、多設定檔
部落格文章撰寫 Claude Code 多檔案檢查與驗證
正規表達式迭代 Cursor 更快的行內迭代

重點結論

給同時採用兩個工具的開發者: - 使用Claude Code處理任何涉及多個檔案、終端機指令或自主任務執行的工作 - 使用Cursor進行單檔編輯、行內自動完成和視覺化差異檢視 - 在架構變更後更新共享的情境檔案(CLAUDE.md、.cursorrules),以防止情境漂移 - 10分鐘以下的任務不適合拆分工具;情境切換的開銷會超過節省的時間

給評估AI工具的技術主管: - 這兩個工具服務於不同的工作流程階段;單獨評估任一工具會忽略組合使用的價值 - 追蹤您團隊工作中架構與潤飾的比例,以估算組合工作流程的效益


參考資料


  1. 作者對30次開發過程的工作流程分析,比較單獨使用Claude Code、單獨使用Cursor和組合使用的表現。追蹤的開發涵蓋blakecrosley.com、Ace Citizenship iOS應用程式和Claude Code hook基礎架構(2025-2026)。 

  2. 作者的開發數據。情境切換開銷測量為每次工具切換3-5分鐘,使得10分鐘以下的任務拆分效率低下。