ChatGPT:讓程式開發更輕鬆

京東雲開發者發表於2023-02-10
作者:京東科技 趙龍波

“賈維斯,你在嗎?”

“隨時待命,先生。”

類似《鋼鐵俠》裡的人工智慧助理賈維斯,ChatGPT或許是你的隨時待命的助手。ChatGPT在大量文字資料上進行了培訓,這使它能夠理解單詞和短語的上下文和含義,並生成高度相關的上下文響應。能完成撰寫郵件、影片指令碼、文案、翻譯、程式碼等任務,作為一名開發人員,嘗試探索一下chatGpt對我們的工作能有哪些幫助。 (由於 ChatGPT對國內禁止訪問,以下是透過呼叫openAI的api介面實現的對話,所以介面與原生有所不同。網上很多種實現方式,不多贅述。)

先來看看chatGPT自己的回答:

每次回答都不一樣,但都差不多的意思,這個回答比較抽象,如果再具體一些就好了。下面列出了一些使用場景:

回答一些基礎的程式設計或者計算機問題

這應該對AI來說是小兒科了,但確是比較常用的功能,不懂就問。

生成正規表示式

這兩個答案都是準確的。這樣使用起來確實比搜尋要方便很多

編寫指令碼

如:shell指令碼

這個指令碼是正確的,再來一個複雜的:

為了驗證這個指令碼是否正確,去伺服器上執行了一下,是沒有問題的,並且nginx路徑就是nginx預設的資料夾路徑,不用更改:

寫sql語句也不在話下:

我這裡問的比較口語化,且寫錯了標點符號,它還是理解了。

shell指令碼可能是AI使用它海量內容查詢到類似的然後仿造的,但sql語句是它真的理解了問題並結合實際語法創造出來的?。

文字命名格式轉換:

文字格式轉換有成熟的各種實現,這也算一種途徑。

生成程式碼

比如:寫一個簡單獲取每月最後一天的公共方法

上面實現不難,再嘗試寫一個包含多個方法的工具類,並一次生成

不僅給出了程式碼,還把註釋也打上了?

甚至可以約定使用的java類版本

如果你對這個寫法不滿意,同一個問題再次發問,還能給出其他寫法:

專案中經常用到各種各樣的工具類,也許下次試試直接說出你要的功能,讓AI給你寫出來吧

起名字

如:給某個類命名

你正在看的這篇文章標題也是chatGpt起的,這是經常頭疼類名應該怎麼起的人的福音。

生成虛擬碼:

在技術方案設計或者討論的時候如果需要寫一些程式碼,可以嘗試。

程式碼最佳化

如:程式碼bug修復:

甚至幫你把程式碼重寫

依然可以,如果你想把程式碼用lambda重寫,讓它來試試。

技術資料翻譯:

這是擷取的G1英文文件的一段描述,這裡麵包含了一些G1垃圾回收器的引數資訊,翻譯時這些應該保留為英文,新生代和老年代這些特有名詞也最好用英文表示才更專業,這些細節它都做到了,且它的翻譯與中文版本的差別不大,幾乎沒有錯誤。

其他功能

如: 演算法實現:

以上測試資料都比較偏簡單,但依然能看出它的潛力。純業務場景程式碼需要結合實際專案,相信如果讓它學習訓練某一個專案之後,或者他真的可以寫出一些業務功能的程式碼來。google等一系公司也在研究AI程式設計可能行,足以說明其潛力。

可以在idea裡安裝NexChatGPT外掛,方便隨時呼叫查詢。 如果有更好的使用場景idea,歡迎留言討論。

ps,最後一問:

相關文章