日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

什么是人工智能自动编程?它只是一个噱头吗?

發(fā)布時(shí)間:2023/12/14 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是人工智能自动编程?它只是一个噱头吗? 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
簡(jiǎn)介:一個(gè)普通的開發(fā)者是否已經(jīng)有了一些有用的工具,這些工具使用人工智能技術(shù)提高了他的生產(chǎn)力?

作者 | 梧忌


毫無疑問,人工智能將改變軟件開發(fā)的方式 —— 我們已經(jīng)看到了一些嘗試將人工智能應(yīng)用到軟件開發(fā)所帶來的好處,例如“程序代碼自動(dòng)生成”:根據(jù)圖像生成代碼、通過數(shù)據(jù)模型生成代碼……今天我感興趣的是,一個(gè)普通的開發(fā)者是否已經(jīng)有了一些有用的工具,這些工具使用人工智能技術(shù)提高了他的生產(chǎn)力。

我將目光放到了常見的編程領(lǐng)域,搜索了一些稱之為「智能編程」的工具,并嘗試在它們的幫助下完成一個(gè)簡(jiǎn)單的實(shí)驗(yàn):編寫一個(gè)具有輸入框和內(nèi)容的界面,內(nèi)容的會(huì)隨著輸入框的輸入而發(fā)生變化。由此來觀察這些工具提供了哪些能力,是否對(duì)我們的編程工作產(chǎn)生了實(shí)際性的幫助。

實(shí)驗(yàn)示例代碼如下:

筆者完全認(rèn)同人工智能可以幫助軟件開發(fā)的所有階段,而不僅僅是在代碼級(jí)別。

VS Code 所帶來的啟發(fā)

VS Code 是目前最受前端開發(fā)者歡迎的編輯器,它默認(rèn)提供了一些智能化的功能,普通開發(fā)者可以快速上手體驗(yàn)這些功能。我們從它入手來介紹編輯器領(lǐng)域的一些概念和專有名詞。

智能提示(IntelliSense)

IntelliSense 是 VS Code 內(nèi)置的一系列功能,包含了代碼補(bǔ)全(Code Completion)、概況信息顯示(Quick Info)、函數(shù)簽名顯示(Parameter Info)等。

VS Code 默認(rèn)為為 JavaScript/TypeScript、HTML、CSS/SCSS/Less 等語言提供了智能提示,也可以通過安裝語言插件為更多的語言添加智能提示功能。

代碼補(bǔ)全(Code Completion)

VS Code 智能提示功能由 VS Code 的語言服務(wù)提供支持。語言服務(wù)提供了基于語言語義和源代碼分析的代碼補(bǔ)全能力。具體來說,如果語言服務(wù)知道可能完成輸入,則建議的補(bǔ)全列表將在你鍵入后彈出:

如果繼續(xù)鍵入字符,則補(bǔ)全列表(變量、方法等)將被篩選,僅包含包含鍵入字符的列表:

VS Code 智能提示提供了豐富類型的補(bǔ)全提示,包括語言服務(wù)的建議、代碼片段(Snippet)和簡(jiǎn)單的基于單詞的文本補(bǔ)全

補(bǔ)全列表內(nèi),它們的排序優(yōu)先級(jí)(Sorting of Suggestions)如下:

  • 語言服務(wù)的建議
  • 代碼片段
  • 全局標(biāo)識(shí)符
  • 簡(jiǎn)單的基于單詞的文本

在單項(xiàng)內(nèi)以字母順序進(jìn)行排序

幾點(diǎn)特殊的說明:

就近原則

在上面的圖片中,你可以看到 count、context 和 colocated 是根據(jù)它們出現(xiàn)的范圍(loop、function、file)進(jìn)行排序的。

就近原則的上下文提示默認(rèn)是不開啟的,你可以通過 editor.suggest.localityBonus 設(shè)置來開啟。

代碼片段的優(yōu)先級(jí)
你可以使用 editor.snippetSuggestions 設(shè)置代碼片段在代碼補(bǔ)全列表中是否顯示及優(yōu)先級(jí)。要從代碼補(bǔ)全列表中刪除代碼片段,請(qǐng)將值設(shè)置為“none”。如果你想查看代碼片段,可以指定其在代碼補(bǔ)全列表上的順序:在頂部(“top”)、在底部(“bottom”)或按字母順序內(nèi)聯(lián)(“inline”)。默認(rèn)值為“inline”。

代碼補(bǔ)全列表的建議完成項(xiàng)
默認(rèn)情況下,VS Code 在代碼補(bǔ)全列表中預(yù)先選擇以前使用的項(xiàng)目。如果你想要不同的行為,例如,總是選擇建議列表中的第一項(xiàng),你可以使用 editor.suggestSelection 設(shè)置。

可用的值包括:

  • first:始終選擇頂部列表項(xiàng)。
  • recentlyUsed:(默認(rèn))除非前綴(要選擇的類型)選擇其他項(xiàng)目,否則將選擇以前使用的項(xiàng)目。
  • recentlyUsedByPrefix:根據(jù)以前補(bǔ)全的建議的前綴來選擇項(xiàng)目。

列表項(xiàng)的概況顯示(Quick Info)

在代碼補(bǔ)全列表上,你可以通過單擊列表項(xiàng)右側(cè)的圖標(biāo)來查看每個(gè)補(bǔ)全項(xiàng)的概況信息,該補(bǔ)全項(xiàng)的附帶文檔將擴(kuò)展到側(cè)面。展開的文檔將保持不變,并在你瀏覽列表時(shí)更新。你可以通過單擊“關(guān)閉”圖標(biāo)來關(guān)閉此窗口:

函數(shù)簽名信息(Parameter Info)
當(dāng)你在代碼補(bǔ)全列表上選擇了一個(gè)函數(shù)(方法)后,將顯示有關(guān)函數(shù)簽名的信息。當(dāng)有多個(gè)參數(shù)時(shí),突出顯示(下劃線高亮)當(dāng)前正在補(bǔ)全的參數(shù):

智能操作(Code Actions)

除提示外,VS Code 還內(nèi)置提供了一些可由開發(fā)者主動(dòng)操作的智能編碼手段。

代碼重構(gòu)(Refactoring)

代碼重構(gòu)提供了諸如提取函數(shù)和提取變量等功能。在 VS Code 代碼編輯中,只需選擇你要提取的源代碼,然后單擊槽中的燈泡或按(?)即可查看可用的重構(gòu)方式:

代碼重構(gòu)的能力是由語言服務(wù)提供的,因此,不同的語言所能做的代碼重構(gòu)不盡相同。VS Code 通過 TypeScript 語言服務(wù)內(nèi)置了對(duì) TypeScript 和 JavaScript 的代碼重構(gòu)支持。

更多關(guān)于代碼重構(gòu)的功能,可參考 TypeScript 語言服務(wù)的重構(gòu)章節(jié)。

快速修復(fù)(Quick Fixes)

快速修復(fù)是由語言服務(wù)提供的診斷程序,可以用來查找常見的編程問題。例如,它可以分析你的源代碼并檢測(cè)出永遠(yuǎn)都不會(huì)執(zhí)行的代碼,這些代碼在編輯器中顯示為灰色。如果你將鼠標(biāo)懸停在這樣源代碼行上,你可以看到一個(gè)懸停說明,如果你將光標(biāo)放在該行上,你將得到一個(gè)快速修復(fù)燈泡:

不同語言所能做的快速修復(fù)不盡相同,VS Code 對(duì) TypeScript 和 JavaScript 內(nèi)置的快速修復(fù)有:

  • 向成員訪問添加缺少的 this
  • 修復(fù)拼寫錯(cuò)誤的屬性名稱
  • 刪除無法訪問的代碼或未使用的導(dǎo)入

開發(fā)者可以通過安裝語言插件添加更多快速修復(fù)功能。

實(shí)驗(yàn)演示

在沒有安裝任何外部插件的情況下,我嘗試通過 VS Code 完成示例中的代碼,效果如下:

  • 介紹章節(jié)羅列的功能大部分都在演示中觸發(fā)了
  • 代碼補(bǔ)全提示類型不多,有語言關(guān)鍵字、名稱表達(dá)式和屬性表達(dá)式的類型補(bǔ)全
  • 代碼補(bǔ)全的正確率不高,多為單詞和全局變量提示
  • 我嘗試安裝了 @types/react,有了語言語義的支持后,React API 的代碼提示的效率明顯變高了

業(yè)界有哪些產(chǎn)品?

Visual Studio IntelliCode

Visual Studio IntelliCode(以下簡(jiǎn)稱 VS IntelliCode)是微軟官方 2018 年 7 月 推出的智能代碼插件,在 2019 年 8 月發(fā)布正式版本,最近一次更新是今年 6 月底。IntelliCode 支持多種編程語言(JavaScript/C++/Python),它在 VS Code 插件市場(chǎng)有高達(dá)六百萬的下載量。

IntelliCode for VS Code

IntelliCode 號(hào)稱能基于對(duì)代碼上下文的理解和機(jī)器學(xué)習(xí)的結(jié)合提供智能輔助開發(fā)功能。具體來說,提供了以下幾個(gè)功能。

第一個(gè)功能是更智能的代碼補(bǔ)全。常見的代碼補(bǔ)全是根據(jù)字母順序來進(jìn)行排序的,VS IntelliCode 則根據(jù)上下文和「理解你的使用習(xí)慣」的來對(duì)一些方法進(jìn)行了排序提取,供開發(fā)者使用的最可能正確的 API。在下面顯示的示例中,可以看到 IntelliCode 提升的預(yù)測(cè) API 出現(xiàn)在列表頂部的一個(gè)新部分中,成員前綴為一個(gè)星形圖標(biāo):

這樣的功能還能運(yùn)用在寫 React 組件屬性時(shí):

第二個(gè)功能是參數(shù)的智能補(bǔ)全。具體來說,即當(dāng)你輸入函數(shù)閉合后,將提示你以哪個(gè)變量來作為函數(shù)的參數(shù)。

例如下面的代碼:

try {// do something... } catch (error) {// do something...console.error(); // 當(dāng)你輸入了 console.error() 后,編輯器光標(biāo)會(huì)在 error 方法內(nèi)// 并出現(xiàn)補(bǔ)全列表,第一項(xiàng)便是 catch 里傳入的 error 變量。 }

可惜該功能對(duì) TypeScript 和 Javascript 不可用,官網(wǎng)列出了在 C+ 中的示例:

第三個(gè)功能是代碼重構(gòu)建議。官網(wǎng)給出的示例是當(dāng)我們用同樣的方法更新了多處代碼:

插件會(huì)在代碼插槽處顯示更新燈泡圖標(biāo),點(diǎn)擊更新燈泡圖標(biāo)將告知我們還有哪些可以以同樣方式更新的代碼:

點(diǎn)擊列表項(xiàng)即可定位到可執(zhí)行建議更新的代碼處,在代碼旁的插槽處可以應(yīng)用建議的更改:

這個(gè)功能似乎用處不大,畢竟在我們進(jìn)行代碼重構(gòu)的時(shí)候可以通過使用正則表達(dá)式搜索替換的方式一次性更新所有代碼。也許其強(qiáng)大之處在于你是在「不自覺中」更新了兩處一樣的代碼(它會(huì)在本地跟蹤你的編輯過程和內(nèi)容并檢測(cè)可重復(fù)應(yīng)用的內(nèi)容),然后插件給予你還可以更新更多類似代碼的提示吧。

實(shí)驗(yàn)演示

IntelliCode 主要是豐富了屬性表達(dá)式的補(bǔ)全,在我們的實(shí)驗(yàn)中,其補(bǔ)全效率與原生 VS Code 并無明顯差異。

Kite

Kite 是由一家硅谷的創(chuàng)業(yè)公司于 2017 年 3 月推出的代碼智能編輯輔助工具,支持在多個(gè) IDE 中以插件的方式嵌入,其提供的 VS Code 插件最近一次更新是今年 7 月中。Kite 起初只適用于 Python,目前部分功能已支持 Javascript。它在 VS Code 插件市場(chǎng)有高達(dá)一百萬的下載量,是 Python 社區(qū)最受歡迎的 VS Code 插件之一。

Kite 母公司在 2019 年初獲得了 A 輪 1700 萬美元的融資,目前提供了免費(fèi)版本和付費(fèi)方案。

Kite for VS Code

Kite 官網(wǎng)介紹了其 智能代碼補(bǔ)全 功能,Kite 提供的代碼補(bǔ)全與典型的代碼補(bǔ)全方式不同的地方有:

1、為幾乎所有 JavaScript 代碼提供補(bǔ)全,比如語句、函數(shù)、對(duì)象等等,例如在空格后:

2、與只有單詞補(bǔ)全相比,Kite 提供了整行或多行的代碼補(bǔ)全:

3、Kite 可以猜測(cè)你當(dāng)下最有可能進(jìn)行的輸入,提供智能的推薦:

Using the VS Code plugin for JavaScript

除了代碼補(bǔ)全,Kite 還提供了智能代碼片段、智能代碼搜索、文檔搜索等功能,但這些功能目前僅支持 Python 語言。

實(shí)驗(yàn)演示

  • Kite 的代碼補(bǔ)全類型更加豐富,補(bǔ)全效率也明顯比前兩者要高
  • Kite 的代碼補(bǔ)全列表選項(xiàng)不多,我猜想是為了提高正確率。從實(shí)際效果來看,觸發(fā)的補(bǔ)全項(xiàng)普遍是正確的
  • Kite 的代碼補(bǔ)全響應(yīng)速度與 VS Code 原生功能相比,沒有感受到明顯的差異

TabNine

TabNine 的第一個(gè)版本于 2018 年底推出,支持在多個(gè) IDE 中以插件的方式嵌入,其提供的 VS Code 插件最近一次更新今年 7 月底。TabNine 的編程語言的覆蓋度非常高,支持大多數(shù)常用的編程語言(JavaScript/Java/Python……),其在 VS Code 插件市場(chǎng)有高達(dá)三十萬的下載量。

TabNine 最早是社區(qū)的開源軟件,今年年初被 Codota 收購,Codata 今年四月份宣布獲得了 1200 萬美元的融資,目前提供了免費(fèi)版本和付費(fèi)方案。

TabNice for VS Code

比 VS IntelliCode 提供 API 自動(dòng)補(bǔ)全更進(jìn)一步, TabNine 提供了全方位的代碼補(bǔ)全。只要你在編輯器中鍵入,TabNine 就會(huì)給予自動(dòng)補(bǔ)全提醒。TabNine 官網(wǎng)用了三個(gè)示例來描述自己的能力。分別是:

1、基于注釋推導(dǎo)可能編寫的代碼,例如根據(jù)函數(shù)的注釋推導(dǎo)能使用的函數(shù)名、參數(shù)和返回值類型

2、基于上下文推導(dǎo)出可能使用的 API 和傳遞的參數(shù):

3、了解常用庫的使用模式(最佳實(shí)踐),并根據(jù)上下文給出代碼補(bǔ)全的建議:

實(shí)驗(yàn)演示

  • TabNine 實(shí)現(xiàn)了全類型補(bǔ)全,可以看到在每一次輸入 TabNine 都會(huì)出現(xiàn)代碼補(bǔ)全列表提示我們可能進(jìn)行的輸入
  • 由于提示頻率高,因此正確率則不如 Kite,但 TabNine 比較討喜地在在右側(cè)面板用百分比顯示可能的匹配度,對(duì)用戶編程體驗(yàn)沒有感受到有太大的干擾
  • TabNine 的代碼補(bǔ)全響應(yīng)速度與 VS Code 原生功能相比,沒有感受到明顯的差異

aiXcoder

aiXcoder 的第一個(gè)版本于 2018 年中旬推出,2019 年底推出了 VS Code 插件,該插件最近一次更新是今年 5 月初。aiXcode 支持多種主流 IDE (IntelliJ IDEA/Eclipse/VS Code)和主流編程語言(JavaScript/Java/Python),主打 IntelliJ IDE 和 Java 語言。可能是由于推出時(shí)間不久,而且個(gè)人版本僅支持 Java ,所以它在 VS Code 插件市場(chǎng)下載量不高,只有 3k+ 的下載量。由于是國產(chǎn)軟件且功能文檔較為全面,因此也在此次調(diào)研清單里。

aiXcoder 創(chuàng)始團(tuán)隊(duì)來自北京大學(xué)實(shí)驗(yàn)室,負(fù)責(zé)人是北大的副教授李戈老師,是一個(gè)是校企合作項(xiàng)目,其母公司硅心科技 18 年獲得了百萬人民幣的天使投資。aiXcoder 提供了個(gè)人版本和企業(yè)版本。

aiXcoder for VS Code

aiXCode 官網(wǎng)對(duì)自己提供的功能進(jìn)行了較為完整體系的介紹,根據(jù)其分類,提供的功能有:

代碼智能補(bǔ)全

  • 單 Token 補(bǔ)全:即變量名、對(duì)象屬性、對(duì)象方法等輸入的補(bǔ)全;
  • 多 Token 補(bǔ)全:記得鏈?zhǔn)秸{(diào)用嗎?如果有必要,會(huì)出現(xiàn)多個(gè)鏈?zhǔn)?API 的推薦補(bǔ)全,例如:document.getElementById('foo').style.top
  • 整行補(bǔ)全:即輸入 f,補(bǔ)全提示 for (let i =0, j = foo.length; j >= i; i++)
  • 多行補(bǔ)全:一次性補(bǔ)全多行代碼

  • 連續(xù)多次補(bǔ)全:當(dāng)戶確認(rèn)了 aiXcoder 的推薦結(jié)果后,aiXcoder 隨即給出接下來的推薦代碼
  • 函數(shù)參數(shù)自動(dòng)補(bǔ)全:即當(dāng)用戶在調(diào)用某個(gè)函數(shù)(方法)時(shí),提示可能輸入的參數(shù)

代碼智能搜索

  • 文檔搜索,輸入關(guān)鍵字可以搜索出相應(yīng)的文檔和示例;
  • 相似代碼搜索,選中一部分代碼,在 Github 中搜索出相似的代碼,點(diǎn)擊進(jìn)行替換;在自己倉庫中搜索出功能實(shí)現(xiàn)相似度高的代碼;
  • 推薦代碼搜索,輸入要實(shí)現(xiàn)的功能描述(中文),推薦出可供使用的代碼。


編程智能質(zhì)效

通過智能分析,得出項(xiàng)目的質(zhì)量和效率情況,幫助開發(fā)者持續(xù)進(jìn)行提高。

實(shí)驗(yàn)演示

由于 aiXcode 的個(gè)人版本僅支持 Java 語言,因此無法就我們的示例來進(jìn)行實(shí)驗(yàn)。

大公司

Facbook

Facebook 人工智能實(shí)驗(yàn)室在 2019 年四月發(fā)布了 Aroma。Aroma是一個(gè)代碼搜索和推薦工具,它使用機(jī)器學(xué)習(xí)技術(shù)使得從大型代碼庫中獲得有效的代碼進(jìn)行編程輔助變得更容易和有效。通過展示與開發(fā)者正試圖編寫的代碼類似的示例(并假設(shè)這些示例對(duì)應(yīng)于作為公司代碼庫一部分的高質(zhì)量代碼),這個(gè)建議可以幫助開發(fā)者更快地完成功能,也可以幫助開發(fā)者盡早發(fā)現(xiàn)可能的錯(cuò)誤或重構(gòu)機(jī)會(huì),如示例中缺少異常的處理:

Google

我沒有從公開的資料和新聞中找到 Google 關(guān)于人工智能自動(dòng)編程或輔助編程的工具。但發(fā)現(xiàn)了 Google 對(duì)于這方面有一些研究成果。例如,Google Brain 的一個(gè)團(tuán)隊(duì)層發(fā)表了一篇名為《用于建模源代碼編輯的神經(jīng)網(wǎng)絡(luò)》的論文,他們?cè)谠撜撐闹杏?xùn)練了一個(gè)網(wǎng)絡(luò),其中包含來自數(shù)千名 Python 開發(fā)人員的數(shù)百萬次細(xì)粒度編輯,用來預(yù)測(cè)未來的編輯。在這篇論文中,Google 并不關(guān)注靜態(tài)代碼,而是更關(guān)注代碼編輯作為一個(gè)隨時(shí)間演變的動(dòng)態(tài)對(duì)象。

其他

除了上面這些提供整體性智能化解決方案的工具,我還發(fā)現(xiàn)了一些專注于對(duì)某一單項(xiàng)的能力進(jìn)行智能化的工具,它們或不成規(guī)模,但探索的方向依然有趣:

  • DeepCode:幫助發(fā)現(xiàn)項(xiàng)目中的代碼缺陷、安全漏洞、性能和 API 使用問題的插件。下圖演示了 DeepCode 使用“問題”選項(xiàng)卡和語法突出顯示檢查所有問題時(shí)的表現(xiàn):
  • Intelli Refactor:該插件是對(duì) VS Code 內(nèi)置代碼重構(gòu)功能的增強(qiáng)。

能力和體驗(yàn)對(duì)比

最后,讓我們用表格的形式橫向?qū)Ρ冗@些工具的能力覆蓋和體驗(yàn),其中能力部分以工具官網(wǎng)介紹為依據(jù),體驗(yàn)部分以我的實(shí)驗(yàn)的個(gè)人感受為依據(jù)。

由于實(shí)驗(yàn)使用的是前端代碼,且受限于代碼的設(shè)計(jì)、我個(gè)人的機(jī)器情況和編程習(xí)慣,因此不能作為科學(xué)的依據(jù),僅供參考。

主要能力對(duì)比

  • 離線使用:不依賴于網(wǎng)絡(luò)即可使用。部分軟件使用深度學(xué)習(xí)技術(shù),因此需要較大的計(jì)算資源,因此使用云端資源,依賴網(wǎng)絡(luò)環(huán)境。
  • 領(lǐng)域定制:使用企業(yè)或團(tuán)隊(duì)的私有代碼訓(xùn)練「專用的智能化引擎」,提供更符合企業(yè)或團(tuán)隊(duì)編程習(xí)慣的建議。

智能提示對(duì)比

  • 補(bǔ)全類型:即能觸發(fā)補(bǔ)全提示的情況
  • 屬性表達(dá)式:object.${api}
  • 名稱表達(dá)式:
  • 多 Token 補(bǔ)全:如下圖所示,encode是單 Token 補(bǔ)全,encode('utf8') 即是多Token 補(bǔ)全
  • 整行補(bǔ)全:如下圖所示,post 是單 Token 補(bǔ)全,post(my_url, data=my_data)是整行補(bǔ)全
  • 多行補(bǔ)全:如下圖所示,一次性補(bǔ)全了多行的代碼

使用體驗(yàn)對(duì)比

  • 補(bǔ)全效率:即對(duì)于同一段代碼,需要多少次鍵入才能完成輸入,鍵入越少,補(bǔ)全效率越高;
  • 準(zhǔn)確率:即對(duì)于同一段代碼,補(bǔ)全提醒首選項(xiàng)的正確的次數(shù)與補(bǔ)全提示出現(xiàn)的總次數(shù)的比例,比例越高說明準(zhǔn)確率越高;
  • 相應(yīng)速度:即在用戶輸入后多久出現(xiàn)補(bǔ)全提示列表,可通過同一段代碼來測(cè)試補(bǔ)全提示的出現(xiàn)平均值;
  • 硬盤資源:離線使用需依賴機(jī)器學(xué)習(xí)模型,因此模型會(huì)占用硬盤資源;

只是噱頭嗎?

通過這個(gè)簡(jiǎn)單的實(shí)驗(yàn),可以說,到目前為止,人工智能「自動(dòng)編程」更多的是市場(chǎng)營(yíng)銷。我相信這些工具在未來幾年會(huì)有很大的進(jìn)步,并可能成為開發(fā)者真正的虛擬助手,但我們離這一步還有些距離。同時(shí)不可否認(rèn)的是,當(dāng)下使用這些工具讓開發(fā)者在編程效率上得到了一定的提升。

  • 對(duì)于初級(jí)開發(fā)者來說,智能編程工具對(duì)于編程效率和體驗(yàn)的提升是明顯的,它能提供有效的建議,幫助初級(jí)開發(fā)者更快地寫出更好的代碼;
  • 對(duì)于高級(jí)開發(fā)者來說,智能編程工具對(duì)于效率的提升則較小,但依然能帶給我們一些愉悅的編程體驗(yàn)。高級(jí)開發(fā)者熟練其領(lǐng)域的技能和知識(shí),編程的主觀性較強(qiáng),且有自己的代碼品味,代碼提示有時(shí)候會(huì)是一種干擾,所以智能編程工具應(yīng)該需要具備個(gè)性化設(shè)置的能力;
  • 與任何使用機(jī)器學(xué)習(xí)方法一樣,智能編程工具的效果取決于訓(xùn)練數(shù)據(jù)的質(zhì)量。如果不使用 GitHub 數(shù)據(jù)來訓(xùn)練系統(tǒng),而是使用內(nèi)部/私有存儲(chǔ)庫對(duì)其進(jìn)行訓(xùn)練,則會(huì)獲得更好的效果;

另外起初,我只關(guān)注到了自動(dòng)編程對(duì)于提高生產(chǎn)效率的效益,但在調(diào)研的過程中我發(fā)現(xiàn),人工智能自動(dòng)編程對(duì)于生產(chǎn)質(zhì)量和編程教育也會(huì)有廣闊的前景。

在將來,我想我們還會(huì)看到一些編程機(jī)器人,我們可以與他們進(jìn)行一些配對(duì)編程,并討論特定方法的目標(biāo)是什么,讓機(jī)器人為我們找到最好的解決方案。

參考資料

  • TabNine: Free forever and Professional plans available
  • Kite: Level up your VS Code experience
  • Kite Pro: Maximum Productivity for Professionals
  • Kite: Using the VS Code plugin for Python
  • aiXcoder 迎面 PK Kite!

作者是 Iceworks 核心開發(fā)者,Iceworks 是面向多端應(yīng)用開發(fā)的研發(fā)套件,幫助開發(fā)者和研發(fā)團(tuán)隊(duì)更快更好地構(gòu)建多端應(yīng)用,歡迎使用。



關(guān)注「Alibaba F2E」
把握阿里巴巴前端新動(dòng)向

原文鏈接:https://developer.aliyun.com/article/770676?

版權(quán)聲明:本文內(nèi)容由阿里云實(shí)名注冊(cè)用戶自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,阿里云開發(fā)者社區(qū)不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。具體規(guī)則請(qǐng)查看《阿里云開發(fā)者社區(qū)用戶服務(wù)協(xié)議》和《阿里云開發(fā)者社區(qū)知識(shí)產(chǎn)權(quán)保護(hù)指引》。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,填寫侵權(quán)投訴表單進(jìn)行舉報(bào),一經(jīng)查實(shí),本社區(qū)將立刻刪除涉嫌侵權(quán)內(nèi)容。

總結(jié)

以上是生活随笔為你收集整理的什么是人工智能自动编程?它只是一个噱头吗?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。