如何編寫高效代碼?aiXcoder編程機(jī)器人正確解鎖“程序猿”新技能
996、發(fā)際線后移······是對(duì)程序員真實(shí)生活狀態(tài)的概括,然而,每天24小時(shí)連續(xù)在線的工作強(qiáng)度,并不能從根本上提升程序員的的開發(fā)效率。
此外,現(xiàn)在開發(fā)者所書寫的代碼,大多都已被重復(fù)使用多次。即便如此,他們依然要被復(fù)雜、繁復(fù)的代碼邏輯占去大量時(shí)間,未能把更多的時(shí)間和精力真正的投入到富有創(chuàng)造性的勞動(dòng)當(dāng)中。
近日,獵云網(wǎng)接觸到一款智能編程機(jī)器人aiXcoder——這是一款人工智能輔助軟件,可以將人工智能與軟件開發(fā)連接起來(lái),利用人工智能技術(shù)輔助開發(fā)者自動(dòng)進(jìn)行程序編寫。
aiXcoder成立于2018年初,據(jù)CTO郝逸洋介紹,aiXcoder智能編程機(jī)器人可以幫助編程開發(fā)者們承擔(dān)大部分勞動(dòng):比如處理跟程序生成、理解及分析相關(guān)的事情,像代碼自動(dòng)補(bǔ)全(輔助程序員編寫代碼)、相似代碼搜索、錯(cuò)誤自動(dòng)定位(幫助程序員找bug)以及代碼的規(guī)范性檢查等等。
預(yù)測(cè)程序員編程意圖,實(shí)現(xiàn)代碼自動(dòng)補(bǔ)全
在aiXcoder的輔助下,程序員將擺脫過(guò)去逐字逐句的編程模式。以代碼自動(dòng)補(bǔ)全功能為例,它能夠自動(dòng)預(yù)測(cè)程序員的編程意圖,為開發(fā)者推薦出的代碼補(bǔ)更長(zhǎng)、更準(zhǔn)確,從而程序員在編寫過(guò)程中可以通過(guò)“一鍵選擇”的方式,直接補(bǔ)全代碼。
aiXcoder“一鍵代碼補(bǔ)全”
不僅如此,經(jīng)過(guò)訓(xùn)練的aiXcoder還能根據(jù)程序員使用習(xí)慣,對(duì)頻繁使用的成員、方法進(jìn)行智能排序,從而大大提高代碼的編寫效率。
而且,aiXcoder還能在程序編寫的過(guò)程中,通過(guò)智能的搜索并推薦與當(dāng)前功能代碼相似的程序,開闊了程序員的思維,為程序員提供了有力的參考。
智能搜索與相似代碼推薦
采訪過(guò)程中,郝逸洋親自演示了aiXcoder的使用過(guò)程,當(dāng)他在編寫程序時(shí),aiXcoder自動(dòng)預(yù)測(cè)并迅速給出了提示,幾乎整一句代碼都能通過(guò)aiXcoder的自動(dòng)補(bǔ)全技術(shù)實(shí)現(xiàn)正確編寫,按照這種方式,一個(gè)程序在短時(shí)間內(nèi)就能輕松完成。
正是這樣一個(gè)aiXcoder智能編程機(jī)器人,能將編程開發(fā)人員的效率和質(zhì)量提上去,同時(shí)能把人從那些復(fù)雜的、繁復(fù)的代碼邏輯中解脫出來(lái)。
aiXcoder就像一個(gè)時(shí)刻陪伴程序員工作的“伙伴”,與程序員一起編寫代碼,幫助程序員查缺補(bǔ)漏。
aiXcoder——一個(gè)會(huì)學(xué)習(xí)的“引擎大腦”
據(jù)獵云網(wǎng)了解,aiXcoder強(qiáng)大的代碼自動(dòng)補(bǔ)全技術(shù),區(qū)別于普通編譯軟件(比如IDE)自帶的基于編程語(yǔ)法的代碼提示,aiXcoder是基于語(yǔ)義進(jìn)行代碼生成補(bǔ)全的——其背后是一個(gè)“會(huì)學(xué)習(xí)”的深度學(xué)習(xí)引擎大腦。
aiXcoder 采用了專門應(yīng)用于程序分析與生成的特定深度神經(jīng)網(wǎng)絡(luò)模型,其原理是用深度神經(jīng)網(wǎng)絡(luò)構(gòu)造起一個(gè)龐大的深度神經(jīng)網(wǎng)絡(luò)體系,然后基于GitHub和Stackoverflow等優(yōu)質(zhì)平臺(tái)上的開源代碼數(shù)據(jù)集加以訓(xùn)練,最后針對(duì)不同的任務(wù)、對(duì)引擎大腦進(jìn)行特別訓(xùn)練,以插件的形式整合在常用的IDE中。
aiXcoder的原生技術(shù)來(lái)源于北京大學(xué)高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,首席科學(xué)家李戈是北京大學(xué)信息科學(xué)技術(shù)學(xué)院軟件研究所的副教授,2013年,他曾到斯坦福大學(xué)AI實(shí)驗(yàn)室中的吳恩達(dá)團(tuán)隊(duì)下,以訪問(wèn)學(xué)者的身份進(jìn)行合作研究。
在此期間,李戈提出了利用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行程序分析和生成的想法。
對(duì)于這個(gè)想法,曾有Stanford教授提出自己的疑惑:“計(jì)算機(jī)知道程序的一切,它可以編譯、可以run(運(yùn)行),你為什么還要分析他?”
在李戈看來(lái),“計(jì)算機(jī)雖然能運(yùn)行程序,但并不知道程序的語(yǔ)義,這就是為什么有一些惡意的程序還會(huì)被計(jì)算機(jī)所運(yùn)行。如果它知道程序的語(yǔ)義,就不會(huì)去運(yùn)行它。我想構(gòu)造一個(gè)神經(jīng)網(wǎng)絡(luò),使其專門用來(lái)分析程序的語(yǔ)義。在此基礎(chǔ)上,還可以構(gòu)造深度神經(jīng)網(wǎng)絡(luò)用于程序的生成!
這,就是aiXcoder最初的思想來(lái)源。
北大坐陣,團(tuán)隊(duì)成員缺一不可
李戈所在的研究團(tuán)隊(duì)北京大學(xué)高可信軟件技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,也是國(guó)際上最早運(yùn)用深度學(xué)習(xí)技術(shù)進(jìn)行計(jì)算機(jī)程序分析與生成研究的團(tuán)隊(duì)之一。
它以北京大學(xué)軟件研究所為基礎(chǔ)建立,并由我國(guó)著名的軟件科學(xué)家楊芙清院士、梅宏院士帶領(lǐng),是國(guó)際上領(lǐng)先的軟件與人工智能研究團(tuán)隊(duì)。
此外,硅心科技團(tuán)隊(duì)成員也大都在軟件領(lǐng)域具有多年的豐富經(jīng)驗(yàn)。
COO劉洋畢業(yè)于南開大學(xué)本科、北京大學(xué)碩士,后就職于了阿爾卡特朗訊、黑莓,在朗訊工作了五年后又開始自己的創(chuàng)業(yè)之旅,具有豐富的創(chuàng)業(yè)經(jīng)驗(yàn)。
CTO郝逸洋畢業(yè)于北京大學(xué)本科、日本早稻田大學(xué)碩士,后去就職于微軟亞洲工程院院人工智能語(yǔ)音交互團(tuán)隊(duì),一直從事人機(jī)智能交互、深度學(xué)習(xí)技術(shù)等相關(guān)方向上的研究與開發(fā)。
打造特色的B、C端服務(wù)
隨著公司的成立,aiXcoder智能編程機(jī)器人也在不斷的進(jìn)步。
當(dāng)前,aiXcoder采用“云服務(wù)”的運(yùn)行模式,它的深度學(xué)習(xí)引擎部署在云服務(wù)器中,就如同一個(gè)云端的“編程大腦”,開發(fā)者只需要下載一個(gè)客戶端插件,這其中涵蓋了IntelliJ、Eclipse、VS-Code等主流集成開發(fā)環(huán)境,支持當(dāng)下各種主流的開發(fā)語(yǔ)言,如Python、Java、C++等。
郝逸洋表示,aiXcoder將于近期推出PHP和JavaScript語(yǔ)言等前端開發(fā)語(yǔ)言的支持。
在此基礎(chǔ)上,開發(fā)者們只需選擇相應(yīng)的插件即可實(shí)現(xiàn)與“云端AI服務(wù)”的對(duì)接,隨時(shí)隨地使用自己的“編程大腦”,不需要更繁瑣操作流程。
aiXcoder主要面向企業(yè)用戶提供智能編程服務(wù),對(duì)于企業(yè)用戶,aiXcoder提供了定制化的專屬服務(wù),以“企業(yè)私有云”的方式部署在企業(yè)中,利用企業(yè)自己的代碼對(duì)深度學(xué)習(xí)引擎進(jìn)行訓(xùn)練,使aiXcoder學(xué)習(xí)到企業(yè)代碼中的隱含邏輯和知識(shí),從而為企業(yè)中的開發(fā)者提供貼身的編程輔助。
同時(shí),配合aiXcoder的企業(yè)開發(fā)者服務(wù)模式,推出了“aiXmanager開發(fā)質(zhì)效提升”一體化解決方案,aiXmanager能夠?qū)Τ绦騿T的“指尖行為”所形成的大數(shù)據(jù)進(jìn)行分析,有效揭示出開發(fā)過(guò)程中存在的一系列效率和質(zhì)量問(wèn)題,幫助企業(yè)挖掘潛在的開發(fā)潛能。
在此之前,程序員的“指尖行為”是軟件開發(fā)中典型的“暗數(shù)據(jù)”,價(jià)值大卻難以捕獲、難以分析。在aiXcoder的幫助下,這些暗數(shù)據(jù)被充分利用了起來(lái)。
哪些技術(shù)難點(diǎn)最影響開發(fā)效率?哪些代碼質(zhì)量問(wèn)題最為突出?哪些程序代碼耗費(fèi)時(shí)間最多?哪些代碼被修改的次數(shù)最多?等等這些影響企業(yè)開發(fā)能力的潛在問(wèn)題被明明白白揭示出來(lái)。
面向C端用戶,aiXcoder主推兩個(gè)版本,分別是Community版(社區(qū)版)和Professional版(專業(yè)版)。社區(qū)版可以免費(fèi)下載使用,而Professional版則會(huì)更智能,它能夠從用戶編寫的代碼中不斷學(xué)習(xí)個(gè)性化的編程模式和編程習(xí)慣,能為用戶打造一個(gè)更加智能的私人編程“助理”。
現(xiàn)階段,aiXcoder團(tuán)隊(duì)已經(jīng)為華為、百度、阿里巴巴、軟通動(dòng)力等公司提供了企業(yè)定制服務(wù)。
來(lái)自企業(yè)開發(fā)者的反饋信息表明:在aiXcoder的幫助下,編程開發(fā)人員能夠在最短的時(shí)間內(nèi)高效的編寫代碼,有效的節(jié)省了程序員的開發(fā)時(shí)間,同時(shí)也降低了程序員對(duì)API文檔或相關(guān)信息的依賴。使得將開發(fā)者從繁復(fù)的代碼邏輯中解脫出來(lái),讓他們有機(jī)會(huì)能投入到一些更有創(chuàng)新性的工作上去。
aiXcoder完勝kite及TabNine
當(dāng)前在智能編程機(jī)器人領(lǐng)域內(nèi),還有來(lái)自美國(guó)的兩款插件——kite、TabNine也和aiXcoder處于同一賽道。其中,kite在2019年完成了1700萬(wàn)美元的A輪融資。
在公開、透明的條件下對(duì)比,aiXcoder的效率提升是上述兩個(gè)競(jìng)品的1.5~3倍;aiXcoder包含更多的長(zhǎng)推薦(多于兩個(gè)詞),數(shù)量是競(jìng)品的3~5倍;aiXcoder包含更多的一整行代碼推薦,長(zhǎng)推薦數(shù)量是競(jìng)品的2~10倍。
例如,在與kite的迎面對(duì)比中,用kite官方網(wǎng)站給出的示例代碼進(jìn)行對(duì)比,普通IDE需要102鍵完成輸入,kite可以降低為54鍵,但aiXcoder僅需24鍵即可完成輸入;在以Tensorflow公開開源代碼進(jìn)行的測(cè)試中,kite僅有24次正確推薦,此時(shí)aiXcoder的正確推薦則達(dá)82次,是kite的3.42倍。
TabNine是近期被國(guó)內(nèi)媒體推送的一款插件,在與TabNine的對(duì)比中,aiXcoder的優(yōu)勢(shì)更為明顯。
用TabNine官方網(wǎng)站給出的示例代碼進(jìn)行對(duì)比,aiXcoder僅需132次按鍵即輸入完畢,而TaNine需要228次按鍵才能完成輸入,Kite也需要214次按鍵才能完成,在該示例中,aiXcoder的輸入效率是TabNine的1.73倍,是kite的1.62倍,可見aiXcoder的優(yōu)勢(shì)非常明顯。
實(shí)際IDE中代碼補(bǔ)全對(duì)比
在未來(lái),aiXcoder想要打造成一款能夠自動(dòng)幫助程序員完成程序編寫的“智能編程機(jī)器人”,以低耗時(shí)、高效率、便捷式的方式切入到開發(fā)者的工作中。
“aiXcoder將取代人類程序員嗎?”
對(duì)此,李戈表示:“我們從來(lái)沒(méi)想要替代掉人類,我們只是想讓人類的機(jī)械勞動(dòng)少一點(diǎn)、重復(fù)勞動(dòng)少一點(diǎn),把更多時(shí)間和精力用到創(chuàng)新性的工作上去!

發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評(píng) >> 【評(píng)選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評(píng)選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國(guó)產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來(lái)商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽(yáng)光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長(zhǎng)空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營(yíng)收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?