作者:京東科技 趙龍波
“賈維斯,你在嗎?”
“隨時待命,先生。”
類似《鋼鐵俠》裡的人工智慧助理賈維斯,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,最後一問: