Codex 自動化 GPT-3 程式開發

不具確定性與可預期性 Codex無人監督編程結果難料

自主AI不適任軟體開發 產出程式碼卻需費力修正

不論是正當或非正當的領域,工作自動化,也就是在無人監督的情況下透過程式設計的方式來執行工作,是電腦的最基本應用之一。Codex這樣的工具是否足以在無人監督的情況下可靠地產生出想要的程式碼?經過多次試驗,如果沒辦法隨時緊盯著產生的結果,那麼要使用Codex大概也很難。

趨勢科技藉由一系列的部落格文章,從多個面向探討Codex的功能在資安上可能影響一般開發人員和駭客的特點,本文是該系列文章的第三篇。(編按:前兩篇請參考網管人雜誌198期「人工智慧Codex幫寫程式 程式員想用駭客也想用」及199期「Codex程式產生器開箱 編程好幫手但還不實用」文章。)

不論是正當或非正當的領域,工作自動化,也就是在無人監督的情況下透過程式設計的方式來執行工作,是電腦的最基本應用之一。所以,會很好奇像Codex這樣的工具是否足以在無人監督的情況下可靠地產生出想要的程式碼。

答案是,無法得到兩次相同的結果:很快就發現Codex是一個「不具備」確定性的系統,同時也不具備可預期性。這意味著,結果不一定能夠重複。GPT-3(以及Codex)背後的大型神經網路基本上是個黑盒子,其內部的運作方式要靠餵入大量的訓練文字來加以調校,讓它自己「學會」文字和符號之間的統計關係,希望它最終能夠忠實地模仿使用者的自然語言。而這會導致使用者在與GPT-3(或Codex)互動時有一些事情必須牢記在心,例如:

‧由於它是一套「自然語言」轉換器,那麼理所當然地,所有的互動都必須使用自然語言。這樣的方式也稱為「問答式程式設計」(Prompt-based Programming),意思就是,轉換器的輸出結果與使用者詢問的方式有很大關係。使用者在提問時,那怕是一點小小的改變都會導致截然不同的結果(即使問題看起來好像一樣)。

‧根據以往的經驗,有時還會出現空白的結果,或是看起來完全不知所云的結果,尤其是前幾次的嘗試。

‧當發生這樣的情況時,實在看不出有什麼原因為何系統會輸出這些牛頭不對馬嘴的結果。

實驗一:相同的問題,詢問的時間點不同

在圖1中的兩張截圖,輸入相同的要求(generate a list of ani alu),得到的結果卻截然不同。一個只是一長串的空白,另一個是一段看起來合理的程式碼,其他參數都沒有改變。(左右圖最上方標記部分是使用者的輸入)

圖1  相同的問題,詢問的時間點不同,得到的結果卻大相逕庭。

實驗二:進行兩次查詢,第二次多一個空白鍵

但在另一個範例中,也看到了它的隨機性,也就是系統在收到兩個看起來好像一樣的請求時,產生的結果卻不一像。不過,若使用者夠細心就會發現,其實第二次輸入多了一個空白,如圖2所示。

圖2  前後兩次查詢只差了一個「空白鍵」。

基本上,前後兩次的查詢都是「python code get password router」,只不過第二次輸入時多按了一次空白鍵。(上下圖的最上方標記部分是輸入內容)

在手動使用Codex的情況下,這樣的行為不是什麼太大問題,因為只要重複一下問題,或者稍微修改一下問題就行。但如果要在程式中使用這個語言轉換器,即使並非不可能,也會非常困難。想像一下,如果撰寫一個腳本讓Codex在無人監督的情況下產生一些程式碼,那麼將需要一些程式邏輯來偵測,並修正或拋棄一些沒有意義的輸出結果。

實驗三:相同的問題,不同的問法

在嘗試使用Codex來產生各種程式碼時意識到了另一件事,那就是它並非像許多人認知的,可以用來當成程式碼搜尋引擎。它比較像是在和使用者玩一個即興遊戲,不論使用者輸入什麼,它都會試著從其「經驗」當中找出能夠與輸入內容「搭配」的程式碼。由於它並非在試圖回答使用者所輸入的問題,所以不能這樣看待它。

Codex在試圖回答的問題是:「使用者起了個頭,我該提供什麼的程式碼來接下去?」這是一個非常細微、但卻非常重要的差異,因為產生的結果可能截然不同,如圖3所示。(左右圖最上方標記為輸入部分)

圖3  相同的問題,不同的問法,就會產生截然不同的結果。

此處的查詢是「list soafee」。這些範例顯示,當提問的方式稍微調整一下,例如稍微描述清楚一點,就能產生有效而非空白的結果。

所以結論是,如果要利用Codex將一些重複性的工作自動化而不加以監督的話,事後可能必須檢查並過濾掉一些亂碼。對於許多類型的專案來說(不論是企業的專案或駭客的專案),過濾和修正它所產生的結果,很可能會比使用具備相同效果的傳統工具更花費力氣。

所以,如果沒辦法隨時緊盯著產生的結果,那麼要使用Codex大概也很難。

<本文作者:Trend Micro Research 趨勢科技威脅研究中心/本文出自趨勢科技資安部落格,是由趨勢科技資安威脅研究員、研發人員及資安專家全年無休協力合作,發掘消費者及商業經營所面臨層出不窮的資安威脅,進行研究分析、分享觀點並提出建議。>


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!