AI 輔助程式開發:Cursor 與 Anthropic 的對談精華
本文整理了 Cursor 團隊與 Anthropic 的 Clo 專家 Alex 的一場對談記錄,深入探討了 AI 模型的進步如何影響程式開發,以及未來軟體開發的趨勢與挑戰。
AI 模型的進步與 Cursor 的快速崛起
-
AI 模型的進步與 Cursor 的快速崛起關係非常密切。
-
尤其是 Anthropic 的 Claw 3.53 模型推出後,Cursor 的功能有了顯著的提升。
-
例如,可以直接跨多個檔案進行編輯,這在以前是比較難實現的。
-
這表明,底層 AI 能力的提升可以直接轉化為更強大的應用工具。
-
AI 模型不僅變得更聰明,也能理解更複雜的跨檔案程式編輯任務。
Cursor 的獨特優勢:用 Cursor 寫 Cursor
-
Cursor 採用了一種相當酷的方式:用自家的 Cursor 工具來編寫 Cursor 程式。
-
這是一種自我完善、自我回饋的循環。
-
這種方式的一大優勢是,他們自己就是產品的使用者,因此可以快速測試新功能,並誠實地評估其效用。
-
這無疑能大幅縮短開發週期。
AI 支援的多個層次
-
Cursor 提供的 AI 支援有不同的層次,類似於一個光譜。
-
從你對程式碼很熟悉時的加速打字自動完成,到編輯小塊程式碼或單個檔案時使用的 Command K,再到處理多檔案的 Agent。
-
Agent 的功能更強大,甚至還有一個仍在預覽中的 Background Agent(背景代理)。
-
Background Agent 的概念是,你可以讓 AI 在背景執行整個開發任務,例如完成一個 PR(Pull Request)。
AI 的局限性與挑戰
-
儘管 AI 可以協助完成大部分工作,但如何修改剩餘的部分卻是一個挑戰。
-
這直接指出了 AI 的一個局限性:在大型專案中,許多資訊是程式本身無法看到的。
-
例如,團隊的程式編寫習慣、之前的決策原因,以及在 Slack 上討論的結果等等。
-
這些隱藏的知識存在於程式碼之外,僅依靠讀取現有的程式碼可能不足以讓 AI 真正理解專案的背景。
-
未來可能需要結合記憶功能和更強大的長文本理解能力。
-
即使 AI 寫好了所有的程式碼,程式碼審查仍然會成為一個瓶頸,因為仍然需要人工進行檢查和監督。
簡潔程式碼的重要性
-
雖然 AI 可以快速生成大量的程式碼,但寫出簡潔優雅的程式碼變得更加重要。
-
這是因為需要組織和管理 AI 產生的大量程式碼,避免程式碼變得混亂難以維護。
-
此時,設計師的設計能力和品味就顯得更加重要。
-
AI 工具也可以作為一個良好的學習工具,幫助解釋概念、回答問題、加速學習和試錯的過程,並幫助新手更快上手,甚至培養良好的品味。
未來的軟體開發:AI 的普及化與民主化
-
對未來的預測是,幾乎所有的程式開發都會或多或少地有 AI 的參與,就像現在使用 Word 或 Google Docs 撰寫文件一樣。
-
開發者的角色可能會更像一個指導者或是品管,負責定義問題、審核 AI 的產出,並維持程式碼的品質。
-
甚至連非開發背景的人,例如公關團隊的人,也可以用 AI 工具來修改簡單的 bug,或自己製作一些小工具來使用。
-
這預示著軟體開發可能會變得更加普及化、民主化。
-
未來,軟體可能真的能像跟助理講話一樣,根據你的需求動態地調整其功能,達到一種真正的隨選軟體(software on demand)。
AI 輔助程式開發的優點與挑戰
-
AI 撰寫程式碼帶來了許多好處,例如更高的效率、處理更複雜問題的能力,以及降低了門檻。
-
但同時也出現了新的挑戰,例如如何確認 AI 真的理解你的意思、如何讓它理解大型專案中隱藏的知識,以及如何維持大量程式碼的品質和品味。
-
工具本身變得越來越強大,但如何利用這些工具創造真正優秀、設計良好的軟體,則更考驗人們的判斷、指導能力和品味。
結語
-
如果未來的軟體真的可以像跟一個聰明的助理對話一樣,馬上就為你產生或修改功能,你最希望它能為你客製化出什麼樣的能力,或是什麼樣的體驗呢?
-
這個改變又會怎麼影響你與科技互動的方式?