在人工智慧愛好者中出現了一種新趨勢,而這並不是聊天機器人或代理。我們說的是"氛圍程式設計"——在這種模式下,一個人只是與人工智慧交談,提出想要構建的想法,然後與模型不斷迭代,沿途要求其修復和改進。
據說這就像和朋友聊天一樣簡單,即使是技術水平極其有限的普通人也能輕鬆做到。
我在這裡寫過關於這個話題。但為了超越炒作,我想看看氛圍程式設計是否真的能產生有用的東西。
在Decrypt的測試顯示它甚至超越了Grok-3的程式設計任務後,我選擇了Claude 3.7 Sonnet作為我的人工智慧夥伴。
我的軟體專案相當簡單:我想製作一個打字遊戲,單詞從螢幕上級聯下落,玩家必須在單詞到達底部之前輸入它們以生存。
我們從最基本的提示開始:"編寫一個美麗、輕鬆的遊戲,我必須快速輸入單詞才能存活。單詞正在下落,每個字母在我輸入時都會消失。"
幾分鐘內,Claude生成了看起來像是一個完整的遊戲……但當我嘗試執行時,什麼都沒發生。開始按鈕是死的。我向Claude提到了這個錯誤,它開始向我保證它找到了bug並正在修復。
Claude完成了,新遊戲就在我們眼前。我試了試,但還是不行……仍然是壞的。與其自己深入研究程式碼(那不是氛圍程式設計!),我只是告訴Claude:"不行。點選按鈕時什麼都沒發生。遊戲永遠不會開始。"
人工智慧又開始工作,第二次嘗試實際上成功啟動了。我還稍微作弊看了程式碼,注意到另一個問題:遊戲只使用了大約10個不同的單詞,這會很快變得重複。我沒有要求完整的詞典整合,而是讓Claude混合真實單詞和虛構單詞——這是一個保持程式碼簡單的實際解決方案。
我繼續與Claude來回溝通,透過自然語言而非程式碼編輯進行改進。經過十四次迭代後,我得到了一個足夠令我滿意的成果,可以不感到尷尬地分享。
當我的同事測試這個完成的遊戲時,反應大多是積極的。一位記者甚至打破了我的最高分(這很糟糕),而其他人則提供了改進建議。他們發現的唯一"bug"實際上是有意的限制:隨機生成的單詞,但不支援移動裝置。
你可以在這裡嘗試這個遊戲。目前,Ryan Gladwin以2,830分保持記錄,但希望我很快就能奪回我的王座。
經過這次和其他實驗後,以下是對那些願意嘗試氛圍程式設計的人有用的一些事項:
1. 快速原型製作有效: 我們從概念到可玩遊戲的過程非常快,技術投入很少。這對於程式設計能力minimal的新手來說很棒。不過,對於需要粗略草稿開始迭代的有經驗的程式設計師來說,這可能也是一個不錯的技術。
2. 迭代是關鍵: 第一次嘗試很少能完美執行。成功來自對話式細化和清晰反饋。在這個階段,有經驗的程式設計師可能會放棄氛圍程式設計,堅持常規除錯,將人工智慧用作應該的樣子——幫助他們完成過程的數字助手。然而,那些願意全身心投入氛圍程式設計的人可能會受益於使用非常具體和詳細的語言。你的提示越豐富、結構越好,得到的結果就越好。
3. 不要著急: 知道何時簡化需求有助於更快地實現可工作的產品。理想情況下,不要一次要求模型做所有事情。相反,將體驗視為在粗糙結構上新增不同層次。從基礎開始,然後要求模型修復一個小bug,然後是另一個,然後新增你想看到的特定內容——然後繼續前進。
4. 質量有限: 儘管我們建立了一個功能性且有趣的遊戲,但它缺乏專業開發軟體的精細和最佳化。不要指望用Grok開發《上古卷軸》。
5. 除錯是對話式的: 與其在程式碼中搜索問題,我們只是描述了不工作的地方,讓人工智慧找出如何修復。這很有效,但當然,專家可能透過檢查程式碼或與模型討論技術細節而不是預期結果來加快速度。
總的來說,如果你有足夠的耐心引導人工智慧進行多次迭代,氛圍程式設計確實可以產生功能性軟體。這是生產質量的程式碼嗎?絕對不是。你仍然需要適當的除錯、最佳化和各種專業工具來構建真正專業的應用程式。
但話說回來,製作《畫素鳥》的人用一個不需要複雜架構或複雜系統的簡單遊戲賺了數百萬。有時,你所需要的只是一個好主意,也許——只是也許——與人工智慧調頻直到你開始賺數百萬。