![](https://pgw.udn.com.tw/gw/photo.php?u=https://uc.udn.com.tw/photo/author/photo/1067.png&x=&y=&sw=&sh=&exp=3600&w=100)
AI 如今已能編寫程式碼 ,但其表現如何?《IEEE 軟體工程彙刊》(IEEE Transactions on Software Engineering)最新研究評估了 OpenAI 的 ChatGPT 在程式碼生成方面的能力。結果顯示,ChatGPT 的表現差異極大,成功率從 0.66% 到 89% 不等,取決於任務 難度和程式語言 等因素。
參與這項研究的 Glasgow 大學講師 Yutian Tang 指出,AI 程式碼生成雖有優勢,但了解其局限性同樣重要。
研究團隊測試了 GPT-3.5 解決 728 個 LeetCode 問題的能力,涵蓋 5 種主要程式語言,涵蓋 C、C++、Java 、JavaScript 和 Python。
結果顯示,ChatGPT 在 2021 年之前的問題上表現較佳,它能夠為簡單、中等和困難的問題產生功能 性程式碼,成功率分別高達 89%、71% 和 40%。
但面對新問題時能力明顯下降。「簡單」問題的成功率從 89% 降至 52%,「困難」問題更是從 40% 跌至 0.66%。Tang 認為這可能與訓練數據有關。
結果還顯示,C 語言生成的程式碼最為複雜,其次是 C++,而 Python 的複雜度則與人類編寫的程式碼相當。
值得注意的是,ChatGPT 生成的程式碼在效能 上優於至少 50% 的人類解決方案。然而,它不擅長糾正自身的邏輯錯誤,且存在一些安全漏洞,雖然大部分漏洞都是易於修復的。
Tang 建議,開發者在使用 ChatGPT 時應提供充分的背景資訊和潛在風險提示,以提高輸出品質。