跳至主要內容
Aurikle
AI與系統Aurikle

Cursor 和 GitHub Copilot 怎麼選

在 Cursor 與 GitHub Copilot 之間選擇,先寫明團隊的程式放在哪裡、誰審查差異、代理能不能執行指令。兩件產品的官方說明都把跟著游標的自動完成,和接下整段任務的代理,分成兩層。審查與指令核准尚未寫明時,代理不應接到會改主分支的程式庫。

目錄
  1. 先寫程式放在哪裡
  2. Cursor 的 Agent 在文件裡做什麼
  3. GitHub Copilot 的 agent mode 在文件裡做什麼
  4. 自動完成是旁邊的一層
  5. 審查與指令核准寫在採用之前
  6. 兩套同時開在同一棵程式樹上
  7. 選擇寫進客製開發的範圍
對應服務客製軟件、網站與應用程式閱讀這篇

先寫程式放在哪裡

選擇寫在流程上,少寫在功能清單上。先記下:程式庫在哪一個主機、同事日常開哪一個編輯器、差異由誰合併、終端指令誰可以執行。對得上這四項的工具才進入短名單。

若團隊已經用 客製軟件、網站與應用程式 的方式交付,工具要能把差異留在既有的審查裡。編輯器換了,審查的人與主分支的規則仍是原來那一套。

Cursor 的 Agent 在文件裡做什麼

現行 Cursor Agent 說明 把 Agent 寫成可以獨立完成複雜程式工作、執行終端指令並修改程式的助理,在側欄以 Cmd+I 打開。同一頁列出的工具包括搜尋檔案與資料夾、讀取檔案、提出並自動套用編輯、執行終端指令。該頁並寫明,一次任務裡工具呼叫的次數沒有上限。

同一頁說明,Agent 會在作出較大改動前自動建立檢查點,檢查點存在本機,與 Git 分開。還原檢查點只回復檔案,不刪除對話。永久的版本紀錄仍走 Git。文件把「建得更快」寫成產品介紹,本文不把這句話當成可核對的速度結果。

GitHub Copilot 的 agent mode 在文件裡做什麼

現行 在 IDE 中使用 agent mode 寫明:agent mode 接下高層任務,自行決定改哪些檔案、作出編輯,並在需要時執行指令,反覆直到任務完成。你仍掌握控制:你審查變更;預設要先核准指令才會執行。管理員或編輯器設定可以允許部分指令自動執行。

該頁寫明 agent mode 可用於 Visual Studio Code、Visual Studio、JetBrains IDE、Xcode 與 Eclipse,並寫明若模式選單裡看不到 Agent,可能是企業或組織管理員已對 IDE 關閉 agent mode。同一頁寫明,使用 agent mode 時每一則提示都會消耗 GitHub AI Credits。本文不引用點數單價或方案金額。

自動完成是旁邊的一層

Cursor Tab 說明 把 Tab 寫成按你最近的編輯、周圍程式與 linter 錯誤提出建議的自動完成。接受按 Tab,拒絕按 Escape 或繼續打字。該頁寫明 Tab 可以一次改多行、補上缺少的 import,並在相關程式之間提出協調過的修改。

GitHub Copilot inline suggestions 的負責任使用說明 把 inline suggestions 寫成工作時出現的自動完成式建議:可補目前這一行、產生新的程式區塊,或提議修改既有程式,包含插入、修改與刪除。你可以全部接受、接受一部分、關掉,或繼續打字來忽略。兩層怎麼分開用,見 AI 程式代理和自動完成有什麼分別。

審查與指令核准寫在採用之前

Copilot 的 agent mode 說明把審查變更、以及預設先核准終端指令,寫成使用時的控制。inline suggestions 的說明要求沿用安全程式與程式審查的做法,並寫明語法正確的建議仍未必安全。

採用前記下三項:哪些目錄可以讀、哪些指令必須停下來等人、哪一條分支才允許合併。這三項未寫明,就還不到比較兩件產品的時候。目錄怎麼劃,見 AI 程式工具如何接到既有程式庫。

兩套同時開在同一棵程式樹上

兩套代理同時改同一份工作樹,審查會看到兩套來源不同的差異,卻沒有單一的負責人。先選定一件產品跑一段真實任務:一個小功能或一個已寫明的缺陷,看差異能否按既有審查合併。

試用時關掉另一套的自動改檔。自動完成可以留在編輯器裡,只要接受之前仍由打字的人看過。試用結束再決定是否把第二套納入,並寫明它只用於哪一種任務。

選擇寫進客製開發的範圍

選定之後,把工具名稱、允許的目錄、必須人工核准的指令,寫進該項目的範圍。換人接手時,範圍仍在,少靠口頭記得誰開了代理。

本文不給出採用率、速度或品質的排名。那些數字要來自貴司自己的審查紀錄,並註明統計的起迄。沒有這份紀錄之前,用「差異有沒有人看過、指令有沒有按規定核准」來檢查工具是否在按流程使用。

相關筆記