Anthropic研究員揭露氛圍編程秘密
- #什麼是真正的氛圍編程
Eric明確指出,很多人誤解了氛圍編程的概念。他引用Andre Karpathy的經典定義:「氛圍編程是完全投入這種感覺,擁抱指數增長,忘記程式碼的存在。」
關鍵在於「忘記程式碼存在」這個概念。使用Cursor或Copilot雖然有大量AI參與,但如果你仍在與模型進行緊密的反饋循環,那還不算真正的氛圍編程。
真正的氛圍編程讓非技術人員也能獨立開發完整的應用程式。這是一個重大突破,因為過去只有工程師才能享受這些AI工具的便利。
- #指數增長的驚人預測
Eric提供了一個震撼的數據:「AI能夠處理的任務長度每七個月翻倍。現在大約是一小時,明年會是什麼情況?後年又會如何?」
當AI能夠一次性生成一整天甚至一整週的工作量時,如果我們仍堅持逐步檢查每一行程式碼,就無法跟上這個步伐。這就是為什麼我們必須學會負責任地擁抱氛圍編程。
Eric用編譯器作比喻:「早期開發者可能會檢查編譯器輸出的組合語言,但這樣做無法擴展。到了某個階段,你就必須信任系統。」
- #如何成為Claude的產品經理
Eric的核心建議是:「不要問Claude能為你做什麼,要問你能為Claude做什麼。」
在氛圍編程中,你實際上是在擊當Claude的產品經理。就像新員工第一天上班,你不能只說「實作這個功能」就期待成功。你需要提供:
- 程式碼庫導覽
- 實際需求和規格說明
- 必須理解的約束條件
- 沒有其他程式碼依賴它們
- 不太可能需要修改
- 不會有更多功能建立在它們之上
Eric通常會花15到20分鐘收集指導資訊到單一提示中,然後讓Claude開始工作。這15到20分鐘包括與Claude的探索性對話,尋找檔案,共同建立計畫。
- #葉節點策略:降低風險的關鍵
Eric提出了「葉節點」概念來降低氛圍編程的風險。葉節點是程式碼庫中沒有其他部分依賴的代碼部分,通常是最終功能或裝飾性特性。
即使這些葉節點存在技術債務也相對安全,因為:
相對地,核心架構和底層系統(樹幹和分支)仍需要工程師深度理解,因為它們會改變,會有其他功能建立在上面。
- #22000行生產代碼的成功案例
Anthropic成功將22,000行Claude編寫的代碼合併到生產環境的強化學習程式碼庫中。這個成功的關鍵因素包括:
充分的前期準備:不是簡單的一個提示就合併,而是投入數天的人力工作來制定需求和指導Claude。
專注於葉節點:變更主要集中在程式碼庫的葉節點,預期這些部分近期不需要修改。
重點審查核心部分:對於認為重要且需要可擴展的部分,進行深度的人工審查。
設計壓力測試:精心設計穩定性壓力測試,創建易於人工驗證的輸入和輸出。
- #可驗證性設計的重要性
Eric強調設計可驗證檢查點的重要性,這樣即使不閱讀所有程式碼也能確保正確性。
在Anthropic的案例中,他們最關心的是穩定性,透過創建壓力測試和長時間運行就能測量,無需閱讀程式碼。他們也能透過設計的系統輸入和輸出來驗證正確性。
這種方法讓他們對這個變更的信心程度與任何其他程式碼庫變更相同,但交付時間只是手工編寫和審查每一行程式碼所需時間的一小部分。
- #學習的新模式
面對「如何在氛圍編程時代學習」的問題,Eric提出了樂觀的觀點。雖然我們不會再經歷底層的掙扎,但AI工具實際上加速了學習。
Eric分享:「當我與Claude一起編程時,會在審查程式碼時說『嘿Claude,我從沒見過這個函式庫,告訴我它是什麼,為什麼選擇它而不是其他的?』」
這種隨時可用的配對程式設計師讓學習變得更快。懶惰的人不會學習,但如果你願意投入時間,這些資源和Claude的幫助下理解它為你編寫的氛圍程式碼,學習機會是驚人的。
- #未來的挑戰與機會
Eric最後強調了擁抱指數增長的重要性:「不只是模型會持續變好,而是會以我們無法想像的速度變好。」
就像90年代的電腦工作者無法想像今天擁有TB級記憶體的世界,我們也難以想像AI模型比現在聰明和快速一百萬倍的未來。
這不是科幻小說,而是產品路線圖。正如《愛的機器》不是科幻小說,而是產品路線圖一樣。
氛圍編程在生產環境中的負責任應用將成為未來幾年軟體工程行業最大的挑戰之一。現在開始學習這些技能,才不會在AI能力指數增長時成為瓶頸。
參考資料來源:https://www.youtube.com/watch?v=fHWFF_pnqDk