国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
代碼自動生成,程序員的“寒冬”來了嗎?
userphoto

2023.10.07 遼寧

關注


§§


一、前言

Stack Overflow做過一個調查,針對開發(fā)人員是否使用過AI進行輔助編程,在185個國家,超過9萬名開發(fā)者中,有44%的開發(fā)人員會使用AI工具進行輔助開發(fā),還有26%的開發(fā)者正在計劃使用。而進行編程學習的人,使用AI進行學習的比例更是達到了55%。

目前市面上的AI工具很多,在調查結果中,最受歡迎的AI搜索工具當屬ChatGPT,有83%的人會使用它來搜索,其次是Bing AI,有20%的人會使用它。而在編程領域,使用最多的是GitHub Copilot,有超過55%的開發(fā)者會使用它來輔助編程,其次就是Tabnine和AWS CodeWhisperer,分別占13%和5%。

所以說,國外的開發(fā)者們,已經(jīng)超過一半的人都在使用ChatGPT和GitHub Copilot等AI工具進行輔助編程了,但是遺憾的是,在國內使用這兩個工具依然有一些門檻,而且這兩個工具都不是免費的,注冊賬戶這一個步驟就能難住不少人了。

今天我將為大家介紹的是一款存國產(chǎn)軟件,是由清華大學知識工程實驗室,藍河鵬城實驗室,智普AI,華為MidSpore等共同打造出的一款代碼自動生成工具---CodeGeeX

二、編程的演進



作為程序員,最重要也是最本職的工作就是寫代碼,程序員們用代碼構建出一個又一個互聯(lián)網(wǎng)應用,創(chuàng)造了一個又一個互聯(lián)網(wǎng)造富神話。程序員的工資也水漲船高,一度是最熱門的專業(yè),但是隨著互聯(lián)網(wǎng)的寒冬,加上各種AI編程工具的出現(xiàn),降低了代碼開發(fā)的難度,未來幾年,程序員們又該何去何從。

在以往,我們程序員編程的過程如上圖所示,在接收到需求后,開始進行需求設計,然后手寫代碼,交給編譯器,最后運行代碼。手寫代碼不僅耗時,而且還經(jīng)常會寫出Bug,調試都要調試半天。一天下來,能夠寫出一兩百行高質量代碼已經(jīng)不錯了。

ChatGPT等各種AI工具出現(xiàn)后,我們學會了AI輔助編程,我們可以將自己的問題,通過自然語言的形式告訴AI,然后它會幫忙生成代碼片段,然后我們復制到編輯器中,通過部分修改和調試,才能得到我們最終想要的結果。不過這已經(jīng)大大加快了我們編寫代碼的速度,遇到問題也不需要去網(wǎng)上一個個搜索了,ChatGPT會告訴我們答案,甚至還會幫你找到代碼Bug,提供修復建議等。

GitHub Copliot插件更是可以幫助自動補全代碼,只需要在Idea中安裝了GitHub Copliot插件,我們寫代碼時只需要敲出前幾個單詞,它就能夠猜測出你想要寫什么,然后通過很多選項讓你選擇,你只需要選中回車就可以了,讓寫代碼變成一件非常輕松的事情。

上面無論是ChatGPT還是GitHub Copliot都只能算是輔助編程,沒有實現(xiàn)自動編程。在使用ChatGPT時,我們需要把描述提供給它,然后復制輸出的代碼再進行修改,而且因為并不是使用單純的代碼數(shù)據(jù)進行訓練的,輸出的代碼也總是差強人意。GitHub Copliot更多的是一個提示工具,仍然需要你對代碼設計和編寫有一定的基礎,才能夠駕馭它。

而到了自動編程過程,我們只需要寫個注釋,AI就會在代碼編輯器中自動生成完整代碼。

三、CodeGeeX簡介



CodeGeeX是一個基于transformers的大規(guī)模預訓練語言模型,將代碼或自然語言作為輸入,預測下一個標識符的概率分布。


上圖是CodeGeeX的原理圖,它含有40個transformer層,每一層自注意力塊的隱藏層維數(shù)為5120,總參數(shù)量達到130億。模型支持的最大序列長度為2048。

CodeGeeX的語料庫主要是由開源代碼數(shù)據(jù)集和一部分補充數(shù)據(jù)組成,通過從GitHub開源倉庫中爬取擁有100顆星以上的開源代碼,包含了Python,Java,C 等23種編程語言。

從圖中可以看出,C 代碼占比最大,達到28.5%,其次是Python,占比為26.67,第三是Java,占比15.98,這三大主流語言占比就超過了70%。

四、CodeGeeX功能



CodeGeeX可以完成很多生成式的編程問題,比如根據(jù)注釋寫代碼,根據(jù)代碼寫注釋,根據(jù)上下文進行代碼補全,不同語言之間的代碼翻譯等功能。

CodeGeeX支持多種主流的IDE,并提供了插件,如VS Code, IntelliJ IDEA,PyCharm等,同時也支持多種主流語言,如Python,Js,Ts,C ,Java,Go,PHP,C#等。下面以IDEA中安裝插件為例。在Settings中找到插件Plugins,在Marketplace中搜索CodeGeeX,安裝即可。


上面展示了根據(jù)注釋生成代碼的能力,可以看到,只需要寫上注釋,當出現(xiàn)代碼后,直接按Tab鍵即可。

我們拿一個leetCode上的算法題為例,看它是否能夠真正生成正確的代碼。

我們將題目描述,以注釋的方式寫入到IDEA中,當我們把鼠標移動到注釋下面空白處時,上圖中紅色圈起來的部分就是CodeGeeX自動生成的代碼,我們只需要按下Tab鍵就可以使用這段代碼。緊接著它就會自動進行補充,我們一直按Tab即可。

最后我們運行一下代碼,結果完全正確,放到LeetCode中執(zhí)行以下,通過了,完全沒有問題。

我們除了可以用來寫這種算法題之外,工程類項目也完全不在話下,可以讓它遵循某個設計原則,幫我們寫出具體的代碼。但是同樣需要程序員擁有代碼和架構設計的能力,因為它并不會幫助你自動創(chuàng)建目錄和文件。

代碼翻譯功能,當我們選中需要翻譯的代碼時,選擇翻譯的目標語言,就可以實現(xiàn)代碼翻譯,這里是將java代碼翻譯成Python代碼,還是非常好用的。

代碼注釋功能,我們選中一段代碼,右鍵,選擇添加注釋,稍等片刻后,就可以像上圖一樣添加上注釋了,再也不用擔心看不懂代碼啦。

四、總結



本文主要介紹了CodeGeeX的一些功能,并演示了代碼生成和代碼翻譯以及注釋的使用,其實這個產(chǎn)品還不夠完美,但是依然能夠給開發(fā)者帶來非常大的遍歷,希望國產(chǎn)軟件越做越好,國產(chǎn)AI可以快速追趕上國外。

最后,你覺得AI會給程序員帶來寒冬還是春天呢?


本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Prompt 即代碼:設計和管理 AI 編程的最佳實踐
以后再也不用面向Google編程了
清華系ChatGLM3現(xiàn)場懟臉演示!多模態(tài)直逼GPT-4V,國產(chǎn)Code Interpreter來了
免費代碼生成插件CodeGeex
Google 工程主管:AIGC 將在三年內終結編程!
程序員危!傳OpenAI全球招外包大軍,手把手訓練ChatGPT取代碼農
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服