人工智慧會讓程式設計師失業嗎? 甚麼人工智慧技術會讓程式設計師失業? 有興趣的可以往下看。
BCC 2021年9月8日的一篇報導,"人工智能:編程員為何喜愛這些可能令他們失業的新科技?" 文章中訪問了幾個專業程式設計人員,為什麼喜歡人工智慧工具,優點在哪裡,這篇文章也點出人工智慧工具的限制與注意事項。
今年3/1日openAI公司發布了"chatGPT API"提供個人或企業自行開發對話機器人相關應用。相較chatGPT,更令我感興趣的是OpenAI公司2021年發布名為Codex的"程式碼產生與處理"APIs,以及以Codex為基礎開發出來的GitHub Copilot(需付費)工具。開發軟體的過程中可以運用此些工具協助快速產生程式,大幅提高生產力。
OpenAI官網提供了Codex Javascript的測試網頁,只要輸入英文(自然語言)就可以幫你產生想要的Javascript程式碼,有網友藉由這個測試網頁單靠英語對話就開發出一個簡單的遊戲。因此Codex與Copilot被認為是讓程式設計師失業的人工智慧技術。
但是,不需要專業程式設計訓練,就可以完成一套完整的系統嗎? 下面整理AI輔助開發程式的
優點與注意事項 :
優點
1 透過AI輔助開發程式,相同的時間可以寫更多的程式。
2 減少查詢語法的時間,如正規表示式這些複雜難記的語法等。
注意事項
1 難以發現的錯誤 : 美國紐約大學2021 年研究發現 AI 建議的程式碼並不可靠,試驗了 89 個場景中,約有 40% 以 Copilot 編寫而成的程式碼具弱點[2]。 史丹佛大學電腦科學家研究發現,程式設計師在 Github Copilot 等 AI 輔助下,較容易對程式碼的品質產生錯誤的信任,因此寫出的程式碼相較獨立的程式設計師更不可靠[2]。
知名程式設計問答網站 Stack Overflow 官方宣佈,暫時禁止使用者分享由聊天機器人 ChatGPT 產生的回覆,根據官方表示:「由於從 ChatGPT 獲得正確答案的平均比例太低,發表由 ChatGPT 創造出的答案對網站上,不利於詢問或尋找正確答案的使用者。」[3]
AI產生的程式碼中的微小錯誤有可能非常難被發現,可能導致非常大的代價。因此Copilot雖然能提供相對好的程式碼,但有時候會需要一些微調。如果你經驗不足,或正在嘗試學習,可能會出一些差錯但是卻沒有意識到[1]。
2 侵權問題 : "使用AI工具「有可能會侵犯一些開源程式碼許可,因為它可能會有些東西是來源於訓練代碼」。而這可能會令你掉進剽竊的漩渦。”[1] -- BCC
3 只是輔助工具 : AI只提供一些短的程式片段,不會編寫完整的軟體程序[1]。
4 覆核與測試的重要性 : 程式碼仍然需要全面覆核,而且要進行完整的測試如單元測試與整合測試[1]。
5 程式語言限制 :
Codex目前支援的程式語言: Bash, C#, Go, Java, Javascript, Python, Ruby, Rust。
Github Copilot目前支援的程式語言 : C, C++, C#, Go, Java, Javascript, PHP, Python, Ruby, Scala, Typescript。。
由上面幾個事項,可以了解AI輔助工具很好用但還沒有強大到可以取代專業程式設計師。
參考
1. 2021-9-28 BCC報導"人工智能:編程員為何喜愛這些可能令他們失業的新科技?"
2. 2022-12-27 Inside報導" 史丹佛大學:AI 輔助下編寫的程式碼較易出錯!"
3. 2022–12-6 Inside報導"錯誤率太高啦!Stack Overflow 禁止分享 ChatGPT 產生的答案”
由上面幾個事項,可以了解AI輔助工具很好用但還沒有強大到可以取代專業程式設計師。Codex, Copilot背後的人工智慧模組仍持續學習與進步中,值得持續關注,或許有一天上面這些問題都會解決。
沒有留言:
張貼留言
歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)