更新了!帶Agent的Cursor太瘋狂了

机器之心發表於2024-11-25
AI 輔助程式設計工具這條賽道越來越捲了。

新晉 AI 程式設計神器 Cursor,終於迎來了一次備受關注的版本更新,Cursor 0.43 來了。
圖片
新版本最大亮點之一是推出了 Composer Agent 功能,其具有完整的專案理解 / 編輯能力。
圖片使用者已經用上了 Composer 新引入的 Agent 模式,並讓其解析整個檔案。來源:https://www.reddit.com/r/cursor/comments/1gyq690/cursor_composer_agent_is_here/

網友表示:「帶有 Cursor Agent 的 Cursor 0.43.3 太瘋狂了。」
圖片
啟用 Composer Agent 有兩種方法:

1. 在 Composer 聊天視窗中啟用
2. 在 Settings > Editor > Chat & Composer 中設定「Enable Tools」選項
圖片
圖片
圖源:https://x.com/imrat/status/1860620192214081614

有網友迅速對 Composer Agent 展開了測試。

例如,有網友讓 Composer Agent 讀取專案檔案:更新了!帶Agent的Cursor太瘋狂了
還有網友嘗試在一個小型 WordPress 外掛上進行測試,目標是讓外掛更穩健、安全、可維護。

該外掛包含 2 個資料夾中的 34 個檔案,Composer Agent 很好地掌握了主要功能並選擇了要審查的關鍵檔案。然後,Composer Agent 繼續審查檔案並建議實施 4 項增強功能,更改了 2 個檔案,並將一些關鍵檢視移動到單獨的檔案中,建立新資料夾和新檔案,最後還總結了所做的改變。大約做了 580 個更改,約佔此外掛中行數的 48%。
圖片
圖源:https://x.com/imrat/status/1860620194726486344

除了 Composer Agent,Bug Finder 功能也是大家比較關注的, 目的是透過檢測潛在的問題,幫助開發者儘早在開發過程中修復程式碼問題。

據瞭解,該功能會分析你當前分支和遠端程式碼庫中主分支之間的程式碼變更。官方建議是在將程式碼從功能分支合併到主分支之前使用此功能,以便在開發初期發現潛在問題。

目前,這一功能還處於 Beta 實驗階段 ,並且不是免費的,官方也說明了 Bug 檢測仍處於試驗階段,可能無法發現程式碼中的所有問題,可能會損失使用者金錢,卻得不到任何有效漏洞,請自行承擔使用風險,看來大家還是慎用此功能。
圖片
圖源:https://x.com/imrat/status/1860620203744178687

此外,Cursor 0.43 還有幾項改進,包括:

  • 語義搜尋:使使用者可以更輕鬆地使用幾個字元找到所需的檔案,和 VS Code 的搜尋方式一致;
  • image drop;
  • File pill recommendations。

新版本上線後,使用者們也是非常激動,都開始用起來了,但有些網友表示自己並沒有更新成功,「下載頁面只允許下載 setup x 0.42.5,執行 Cursor:Attempt Update,但沒有成功。」

對此,官方回覆是為了確保新版本的可靠性,他們正在分批推出,還不能更新的使用者只能在等幾天了。
圖片
除了 Cursor 的更新吸引眼球外,近日 Github 公佈的一些資料證實,這些程式設計工具確實在改變開發者的工作體驗。

真實測試 GitHub Copilot 到底多好用

GitHub Copilot 已經面世兩年了,在此期間,該工具幫助開發人員將編碼速度提高了 55%,藉助 GitHub Copilot,85% 的開發人員對自己的程式碼更有信心,88% 的開發人員在使用 GitHub Copilot 時感覺更順暢。

雖然 GitHub Copilot 一直在不斷完善,但大家仍有一個疑問,使用 GitHub Copilot 編寫的程式碼質量客觀上是更好了還是更差了?

為了回答這個問題,GitHub 進行了一項隨機對照試驗。

在這項研究中,他們招募了 202 名擁有至少五年經驗的開發者,並且將一半參與者隨機分配到使用 GitHub Copilot 的組,而另一半被指示不要使用任何 AI 工具。所有參與者都被要求完成一個程式設計任務,為一個 Web 伺服器編寫 API 端點。隨後,透過單元測試和由開發者組成的專家組評審對程式碼進行了評估。

結果顯示,使用 GitHub Copilot 編寫程式的那組人員程式碼質量顯著提高了,並且功能性更強、可讀性更強、可靠性更高、可維護性更強、更簡潔。

GitHub Copilot 編寫的程式碼功能更強大

如果程式碼無法正常工作,那麼就不能說它是高質量的。因此,研究者透過分析程式碼透過了多少單元測試來衡量其功能性。

結果發現,使用 GitHub Copilot 編寫的程式碼透過的測試顯著更多(p=0.002)。事實上,在這項研究中,擁有 GitHub Copilot 訪問許可權的開發者透過全部 10 個單元測試的機率高出 56%(p=0.04)。

這意味著使用 GitHub Copilot 幫助開發者編寫的程式碼在功能性上有著較大的優勢。
圖片
使用 GitHub Copilot 編寫的程式碼更容易閱讀

在研究的第一階段中,有 25 名開發者編寫的程式碼透過了全部 10 個單元測試。這些開發者隨機被分配去盲審匿名提交的程式碼,包括使用和未使用 GitHub Copilot 編寫的程式碼。

審查者發現,GitHub Copilot 顯著減少了程式碼錯誤:使用 GitHub Copilot 的開發者平均每 18.2 行程式碼出現一個程式碼錯誤,而未使用的情況下是每 16.0 行出現一個。這意味著使用 GitHub Copilot 的情況下,平均每個程式碼錯誤前可以多寫 13.6% 的程式碼行(p=0.002)。這可以轉化為實際的時間節省,因為每個程式碼錯誤都需要開發者進行處理。
圖片
圖片
此外,開發人員還發現使用 GitHub Copilot 編寫的程式碼更易讀、更可靠、更易於維護和更簡潔。雖然這些差異很小,但它們具有統計意義,並且確實有助於改善程式碼庫。
圖片
圖片
使用 GitHub Copilot 編寫的程式碼更有可能獲得批准

開發者更有可能批准使用 GitHub Copilot 編寫的程式碼,機率高出 5%(p=0.014)。在實際場景中,這意味著使用 GitHub Copilot 的開發者編寫的程式碼更容易達到合併的標準,從而加快修復漏洞或部署新功能的速度。
圖片
如今, AI 編碼界不斷推出新的工具,又不斷的迭代更新,人人都是程式設計師的時代或許真的要到來了。

參考連結:
https://x.com/imrat/status/1860620189806592455
https://github.blog/news-insights/research/does-github-copilot-improve-code-quality-heres-what-the-data-says/

相關文章