AI News HubLIVE
站內改寫2 分鐘閱讀

構建雲代理的教訓:Cursor的經驗分享

本文分享了Cursor團隊在構建雲代理(cloud agents)過程中學到的關鍵教訓。雲代理運行在專用虛擬機上,具有獨立環境、依賴和網絡訪問權限,能夠並行工作、無人值守運行,並承擔比本地代理更長時間的任務。文章強調了開發環境的重要性、長期運行的可靠性挑戰、解耦組件架構、何時信任代理以及自愈環境的未來方向。

Cursor團隊在構建雲代理的過程中積累了豐富的經驗。最初,他們認為雲代理只是本地代理的自然延伸,但很快發現,由於雲代理運行在獨立虛擬機上,擁有自己的環境、依賴和網絡訪問權限,它們能夠並行工作、無需人工值守,並處理更長時間的任務。然而,這也帶來了環境搭建、可靠性和編排方面的挑戰。

開發環境是影響雲代理輸出質量的最關鍵因素。本地代理可以直接繼承開發者的工作環境,但在雲端,必須從頭重建整個環境。即使環境不完美,也不一定會導致崩潰或錯誤信息,而只是輸出質量的微妙下降。隨着模型能力增強,環境配置已成為決定代理能否充分發揮潛力的關鍵因素。為此,Cursor團隊重建了大量基礎設施,包括更好的用户工具、高效的休眠與恢復機制、快速檢查點與恢復以及緊密的集成。

長期運行的雲代理面臨可靠性挑戰。它們運行在隔離的虛擬機中,容易受到推理提供商故障、節點替換等中斷的影響。起初,Cursor採用了“工作竊取”架構,但可靠性僅達到一個9。後來遷移到Temporal平台,實現了耐久執行,能夠抵禦推理中斷、pod休眠與恢復等問題,可靠性提升到兩個9以上。目前,Temporal每天處理超過5000萬次操作,Cursor內部超過40%的PR來自雲代理。

為了實現靈活性和可擴展性,Cursor將代理循環、機器狀態和對話狀態解耦。代理循環運行在Temporal上,而非虛擬機內,從而可以獨立管理pod生命週期。對話存儲和流式傳輸層與核心代理工作流分離,採用高效的追加存儲機制,並支持重試和流回退。

隨着模型智能的提升,Cursor逐漸減少了對代理的嚴格控制。早期,系統會在每個任務後強制提交和推送;現在,代理可以自主決定如何工作。例如,多倉庫設置不再需要硬編碼的行為,CI自動修復功能也賦予了代理更多工具。計算機使用功能目前仍需要專門的子代理和定製提示,但代理可以自行決定何時調用。此外,雲代理的提示鼓勵更高自主性,因為等待人工響應的成本更高。

展望未來,Cursor致力於讓雲代理具備自愈能力,能夠報告問題並自主修復。例如,代理可以檢測缺失的密鑰或網絡阻塞,並採取行動。近期研究中的“自動安裝”是實現這一目標的一個方向。雲代理的能力在過去幾個月顯著提升,預計還將加速發展。Cursor的雲代理讓團隊能夠利用這一廣闊空間,而無需自行構建和維護基礎設施。