Faire 讓每週 PR (拉取請求) 吞吐量翻倍,並將原本長達 18 個月的遷移工作,縮減為只需一位工程師管理一組代理即可完成。Cursor 的 雲端代理 透過可大規模擴展的平行化與自主性,讓這一切成為可能。雲端代理不受本機記憶體與資源限制,每個代理也都有自己的開發環境—就像工程師一樣—能撰寫程式碼、測試並驗證成果,並交付軟體。
Cursor 現已成為 Faire 推薦用於代理式開發的平台,取代其內部自建的背景代理系統。團隊也使用 Cursor Automations 來每週啟動超過 2,000 次自主代理執行,節省處理重複性任務的時間,例如在 Slack 中分類錯誤回報、修正 CI 失敗,以及分派程式碼審查工作。
雲端讓代理具備可擴展的並行能力
在本機上並行執行多個代理,很快就會碰上本機資源的限制:每個代理都在爭用相同的運算資源,而要在不同終端機之間管理 10 個進行中的任務,本身幾乎就成了一份工作。「確實有方法能在本機上讓代理並行運作,但複雜得多,」首席工程師 Luke Bjerring 表示。
一開始,Faire 試著打造一套名為 Samurai 的內部雲端代理系統,並在自行託管的基礎架構上執行,藉此解決這個問題。但要把開發者體驗做到位,需要投入大量資源。
「架設自己的伺服器是一項重大的投資。這需要招募人才、建置機器,並維護複雜的基礎架構。我們更希望工程師把重心放在為終端使用者創造價值上,」Bjerring 說。
Faire 因此開始尋找一個平台,讓他們能夠彈性地在代管基礎架構或自行託管的機器上執行雲端代理。他們之所以選擇 Cursor,是看中它在部署上的彈性、與 GitHub 等工具的緊密整合、代理的可靠性、便於並行管理代理的簡潔介面,以及本機與雲端之間的無縫交接。如今,Cursor 已成為 Faire 在全公司推動代理式開發的推薦平台。
Cursor 的雲端方案,比起使用 worktrees 執行本機代理,或是連進 10 個遠端環境操作,要好得多。它提供更精簡流暢的使用體驗,讓你能輕鬆管理多個同時運作的代理。
開發環境讓代理擁有更高的自主性
只有當代理能像工程師一樣運作時,平行化才真正有價值:拉取相依套件、存取內部服務、執行程式碼,以及驗證變更。若沒有設定完善的開發環境,代理雖然能寫程式碼,卻無法完整驗證並完成自己的工作。
Faire 的開發環境讓雲端代理的設定變得相當棘手。後端與前端分別位於不同的儲存庫中,各自擁有內部套件相依關係,透過 Gradle 和 Bazel 管理,且需要不同的 AWS 憑證才能存取。
為了簡化這種複雜性,Faire 採用 Cursor 主導的導入流程:Cursor 會檢查每個儲存庫、找出所需的工具鏈與相依套件,並產生可供團隊編輯與版本管理的環境組態。對於需要更嚴格控制的工作流程,Faire 也可以透過 Dockerfile 來定義及管理開發環境。
我們讓 Cursor 在程式碼庫中的每個儲存庫自行完成導入設定。這大幅減少了新工作階段啟動時的額外負擔,也讓代理能像工程師一樣處理任務。
Faire 的設計師使用一個名為 Playground 的內部工具,將 Figma 中的設計系統轉換成程式碼中的 React 元件。在完整設定好的開發環境中,Cursor 可以執行 Playground 伺服器、產生 React 元件,並錄製影片示範,讓設計師審查代理的工作。
Faire 是一家高度依賴 Slack 的公司,許多工程工作都始於頻道中的問題或錯誤回報。工程師經常直接在 Slack 討論串中呼叫 @cursor,將對話上下文交給雲端代理,由它進行調查並帶回 PR(拉取請求)。
我們有很多工作都來自 Slack 裡的想法和討論。你可以看到訊息,在相同的上下文中啟動 @cursor,幾分鐘後就會得到一個 PR(拉取請求)。這讓我不必在代理工作時還要在工具和上下文之間來回切換。
使用 Cursor Automations 的可程式化代理
除了執行並行代理外,Faire 還需要能自主承擔重複性工程工作的代理,替團隊節省時間。Faire 已設置超過 25 個 Cursor Automations,現在每週可執行超過 2,000 次自主代理執行,完全不需要手動下提示詞。最常見的使用案例包括:
- 分類處理 Slack 中回報的錯誤。 Automations 會監控指定的 Slack 頻道,留意錯誤回報。一旦有問題進來,就會啟動雲端代理進行調查、建立包含修正內容的 PR(拉取請求),並提供工作摘要。
- PR(拉取請求)自動修復。 當 PR(拉取請求) 的 CI 失敗時,自動化流程便會啟動、調查失敗原因、推送修正,並更新 PR(拉取請求)。
- PR(拉取請求)分流。 代理會依作者、風險和規模為每個 PR(拉取請求)加上標籤,再將 PR(拉取請求)分派到量身打造的程式碼審查工作流程。
Automations 這個概念在 Faire 已行之有年,但設置起來既麻煩又複雜。Cursor Automations 讓每位使用者都能輕鬆啟用常駐代理。
以平行化代理自動化既有系統移轉
當 Faire 需要將一個面向零售商的大型應用程式從 MobX 移轉到 React 原生狀態管理時,團隊以 Cursor 為基礎打造了一套名為 Swarm 的代理協調系統。
首先,爬蟲程式會找出程式碼庫中所有偵測到的 MobX 使用處,並將清單寫入 S3。接著,Swarm 會讀取這份清單,並將移轉任務委派給 Cursor 雲端代理;每個代理都在 Cursor 的基礎架構上於各自隔離的 VM 中執行。當某個代理完成工作並合併其 PR (拉取請求) 後,Swarm 就會立即啟動下一個代理。
原本需要整個團隊花上 18 個月手動完成的工作,現在只要由一位工程師管理一組雲端代理即可協調完成。
Cursor 的價值來自出色的上下文管理,以及能串連整個公司與程式碼庫中的實用專有資訊。那些原本得花上你好幾個小時的人工作業,現在都可以委派給代理。我們省下了大量人工勞力。
在不到一天內建立建置預覽
Faire 的網頁應用程式規模龐大且結構複雜,即使只是想確認一個小變更實際會如何運作,往往也得先在本機啟動完整應用程式。平台團隊的資深工程師 Blair McAlpine 希望打造一個預覽工具,讓任何開發人員建立 PR(拉取請求)時,都能啟動沙箱,並讓團隊可以遠端操作、查看這些變更。
McAlpine 使用 Cursor 來規劃並執行這項建置。他先從規劃模式開始,反覆調整逐步計畫,並將每個步驟拆分成各自獨立的 PR(拉取請求)。接著,他把這份計畫交給一個雲端代理。該代理運行了兩個小時,產出了五個堆疊式 PR(拉取請求),每個都實作了計畫中的一個步驟。
原本 McAlpine 預期要花上幾週的工作,在雲端代理的協助下不到一天就完成了。
雲端代理在背景執行時,我還可以同時處理其他事情。它在不到一天內,就把預覽建置從零變成可用的內部工具。
Faire 現在正將注意力轉向下一個瓶頸。隨著工程產能接近原本的 2 到 3 倍,Faire 開始思考,還能在哪些環節運用同樣的槓桿效應,為更廣泛的產品開發流程釋放動能。「當團隊從 coding agents 獲得更多槓桿時,限制條件也在改變,」Bjerring 表示。「現在的機會,是幫助相關團隊也擴大他們的影響力。這讓我們能在現有編制內重新調配資源,承接更具企圖心的工作。」
如果你也想透過雲端代理並行推進工程工作、提升開發速度,歡迎聯絡我們,開始 Cursor 試用。