近期,BuzzFeed 的高級數據科學家麥克斯・伍爾夫進行了一項實驗,探索通過反覆請求 AI 改進代碼的效果。實驗中,他使用了 Claude3.5語言模型,給出了一個經典的編程挑戰:編寫 Python 代碼,以找出一百萬個隨機數中,數字之和爲30的最大值和最小值之間的差值。

圖源備註:圖片由AI生成,圖片授權服務商Midjourney
在初始版本中,Claude 生成的代碼運行時間爲657毫秒。然而,隨着伍爾夫不斷輸入 “寫出更好的代碼(write better code)” 這一簡單指令,最終生成的代碼運行時間縮短至僅6毫秒,提升了整整100倍的性能。這一結果不僅令人矚目,AI 在定義 “更好代碼” 的過程中也展現了意想不到的變化。
在第四次請求 “寫更好的代碼” 時,Claude 意外地將代碼轉變爲類似企業應用程序的結構,添加了一些典型的企業特性,而伍爾夫並未對此提出要求。這表明,AI 可能將 “更好代碼” 與 “企業級軟件” 聯繫在了一起,反映了其訓練過程中所吸收的知識。
開發者西蒙・威利森對這種迭代改進現象進行了分析,認爲語言模型在每次新的請求中都以全新的視角來審視代碼。儘管每次請求都包含之前對話的上下文,但 Claude 在分析時如同第一次看到該代碼一樣,這使得它能夠不斷改進。
不過,伍爾夫在進行更多具體請求的嘗試中發現,雖然這樣可以更快地獲得更好的結果,但代碼中仍然會出現一些需要人類修復的細微錯誤。因此,他強調,精確的提示工程依然至關重要。儘管簡單的後續問題可以初步提高代碼質量,但有針對性的提示工程會帶來顯著的性能提升,儘管風險也會相應增加。
值得注意的是,在這項實驗中,Claude 跳過了一些人類開發者認爲理所當然的優化步驟,例如去重或先對數字進行排序。此外,提問方式的細微變化也會顯著影響 Claude 的輸出。
儘管這些性能提升令人印象深刻,伍爾夫依然提醒我們,人工開發者在驗證解決方案和故障排除方面仍然不可或缺。他指出,雖然 AI 生成的代碼不能直接使用,但其在創意和工具建議方面的能力值得關注。
劃重點:
🌟 AI 通過反覆指令提升代碼性能,原代碼運行時間從657毫秒降至6毫秒。
💡 AI 在代碼中自動添加企業特性,展現出其對 “更好代碼” 的獨特理解。
🛠️ 提示工程依然重要,精確的請求可以加速結果生成,但仍需人工開發者進行驗證和修復。
