自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

AI輔助開發(fā)比人工編寫代碼快180多倍,程序員是喜還是憂?

新聞 人工智能
如今,開發(fā)人員的準入門檻比以往任何時候都要高。重復性的任務占據(jù)了軟件開發(fā)的大部分時間,并且很容易出錯。

 [[285648]]

如今,開發(fā)人員的準入門檻比以往任何時候都要高。重復性的任務占據(jù)了軟件開發(fā)的大部分時間,并且很容易出錯。市場上軟件開發(fā)人才短缺,團隊超負荷工作,許多企業(yè)既無法完全掌握現(xiàn)有的日益復雜的代碼,又追不上新程序開發(fā)日新月異的發(fā)展步伐。

對于人工智能愛好者來說,推測人工智能如何改進 軟件開發(fā) 是件令人興奮的事兒。人工智能能否在幾天之內(nèi)創(chuàng)建好原型框架而不用耗時幾個月甚至幾年?它會教人類開發(fā)人員如何更好地編寫代碼嗎?人工智能的研究范圍很廣,計算機編程 的靈活性基本上也是無邊界的,所以很難想象當智能程序可以幫助人類與代碼交互時,軟件開發(fā)會是什么樣子。

[[285649]]

但許多開發(fā)人員和技術(shù)經(jīng)理沒有意識到的是,在過去短短幾年里,人工智能對開發(fā)團隊的重要性就已經(jīng)產(chǎn)生了質(zhì)的飛躍。其實,目前我們已經(jīng)走到了人工智能輔助軟件開發(fā)的初級階段。

AI 在自動化領(lǐng)域不可或缺

所有的軟件開發(fā)組織都追求高效、敏捷開發(fā),自動化技術(shù)已經(jīng)能實現(xiàn)大規(guī)模 敏捷開發(fā)。過去十年,在進行自動化測試時,一旦代碼發(fā)生變化,開發(fā)人員能夠立即做出反饋,同時進行相應的調(diào)整,因此軟件質(zhì)量有了很大提升。自動化軟件流水線 利用機器人助手來生成 Pull Request 請求,從而保證更新的持續(xù)交付。

但是許多已經(jīng)運用了這項技術(shù)的公司發(fā)現(xiàn),僅依靠自動化是不夠的。自動化過程仍然存在瓶頸,大多數(shù)問題出現(xiàn)在新代碼的創(chuàng)建上。例如,自動化可以快速完成成百上千個單元測試,如果開發(fā)團隊自己來編寫這些 測試,則需要幾個小時甚至幾周。但是如果這些提交沒有經(jīng)過測試驗證,那么自動化的流水線就會產(chǎn)生垃圾。盡管會打破原本自動化的過程,但在添加新代碼(和新測試)時,還是需要進行人工操作。

人工智能編碼技術(shù)

好消息是,通過自動編寫驗證自動化流水線其余部分的測試代碼,現(xiàn)有的人工智能代碼技術(shù)已經(jīng)可以一次性解決掉這兩個問題。這樣的任務過去需要耗費開發(fā)人員很多時間,妨礙了他們?nèi)プ鰟?chuàng)建新功能等這種更有價值的工作。在 單元測試 中使用人工智能讓自動化更加完善,盡管這個過程并不容易。

[[285650]]

正如曾經(jīng)預期的那樣,人工智能創(chuàng)建的測試與人類編寫的測試存在差異。但這些測試能在很短的時間內(nèi)生成,而且功能也算合格。如果不能做到比人類編寫的代碼更好,那就要保證出現(xiàn)問題時代碼能很容易地被修復。正如 Martin Fowler 在他 2006 年 《論持續(xù)集成》 一文中所總結(jié)的那樣:“頻繁地運行不完美的測試,比完全不寫的完美測試要強得多。”

利用人工智能幫助開發(fā)者編寫代碼,讓開發(fā)人員和 IT 經(jīng)理不再被時間、成本和工作質(zhì)量無法權(quán)衡的問題而困擾。不少開發(fā)人員在最初進行軟件開發(fā)時都頗具創(chuàng)造力,但是大量的重復性的工作消磨掉了他們原本的創(chuàng)造力。人工智能輔助開發(fā)不僅能讓開發(fā)人員在不犧牲質(zhì)量的情況下更快、更經(jīng)濟地創(chuàng)建新產(chǎn)品,也能幫助他們快速地完成重復性任務,把注意力回歸到創(chuàng)造性任務中,讓他們在工作中更有獲得感。

落地是關(guān)鍵

像金融業(yè)這些高度重視代碼質(zhì)量的行業(yè),也已經(jīng)開始使用人工智能輔助軟件開發(fā)。例如,為提高軟件開發(fā)效率,高盛(Goldman Sachs)最近已經(jīng)開始使用人工智能編寫代碼。他們利用 AI 工具為一個遺留的應用程序編寫了 3000 多個單元測試和 1.5 萬多行代碼,在幾個小時內(nèi)就創(chuàng)建了一個完整的測試套件。與人工編寫測試每個平均耗時 30 分鐘相比,AI 工具能以超過 180 倍的速度編寫測試??偟膩碚f,銀行利用這項技術(shù)節(jié)省了一年多的開發(fā)時間。

微軟也曾開源 Sketch2Code,利用人工智能輔助技術(shù)幫助設計師和工程師將手繪的用戶界面草圖轉(zhuǎn)換為可用的 HTML 代碼。設計師和工程師們在設計上達成一致意見后,會將草圖拍攝下來,然后手動將草圖翻譯成 HTML 代碼,這個翻譯過程耗時耗力,還會拖慢整個設計過程。因此,開發(fā)人員設想如果將白紙上手繪的這些設計草圖立即反映在瀏覽器中會怎樣呢?結(jié)果是設計師們在頭腦風暴結(jié)束后,立即可以擁有一個已經(jīng)由設計師、開發(fā)人員甚至客戶驗證過的現(xiàn)成原型,這樣可以為網(wǎng)站和應用程序開發(fā)省去不少時間,因此也就有了 Sketch2Code 的誕生。

Facebook 在這方面也不甘落后,早在去年公司就開發(fā)了一款名為 Getafix 的工具,可以自動查找出 bug 的修復方案,并提供給工程師審批,這極大提高了工程師的工作效率和整體代碼質(zhì)量 Getafix 不僅能夠為工程師提供直觀的修復方案,還能利用更強大的聚類算法,分析問題代碼的上下文找到更合適的修復方案。這款 AI 輔助 bug 修復 軟件——Getafix 已經(jīng)被部署到擁有數(shù)十億用戶的 Facebook 的生產(chǎn)環(huán)境中,大大提升了應用程序的穩(wěn)定性。

人工智能輔助開發(fā)未來可期

值得一提的是,目前人工智能輔助開發(fā)還停留在非常初級的階段,只能輔助開發(fā)人員編碼和進行自動測試,無法實現(xiàn)大規(guī)模工業(yè)化應用,復雜和高難度的編程還要依靠人類開發(fā)人員。但我們依然需要這樣的 AI 輔助技術(shù)幫助開發(fā)人員抗下那些基礎性的“粗活累活”,讓他們有更多時間和精力完成更加復雜的開發(fā)。

隨著人工智能技術(shù)的不斷進步以及成功應用在更多案例中,各個行業(yè)未來都將加大人工智能在軟件開發(fā)方面的投入。全球 科技巨頭 們躍躍欲試開源各種 AI 輔助開發(fā)工具,可見,他們想要在這項技術(shù)領(lǐng)域中分一杯羹的野心昭然若揭。為了在競爭中保持優(yōu)勢并擴大規(guī)模,市場主體還需要將提高效率的新工具集成到開發(fā)過程中。與此同時,人工智能輔助軟件開發(fā)技術(shù)正在完成首次迭代更新,也讓我們初步了解了未來編碼技術(shù)將如何發(fā)展。

 

責任編輯:張燕妮 來源: AI前線
相關(guān)推薦

2021-07-17 22:49:52

人工智能科學技術(shù)

2010-07-01 12:58:18

SNMP協(xié)議

2015-04-10 19:37:34

程序員

2022-10-08 10:01:12

AI編程

2020-10-27 11:43:29

低代碼開發(fā)工具開發(fā)

2019-04-29 10:38:13

程序員AI輔助編程

2009-12-03 16:50:58

Visual Basi

2015-08-25 15:54:17

程序員代碼生成器

2019-04-22 13:00:08

人工智能AI程序員

2011-08-29 13:16:53

程序員

2010-04-20 16:26:03

面試

2014-12-04 10:02:55

2024-04-11 13:30:06

AI開發(fā)框架

2019-03-29 08:13:20

程序員編程互聯(lián)網(wǎng)

2014-10-27 15:21:40

程序員代碼

2011-05-10 09:29:30

代碼重寫

2009-11-17 09:41:49

程序員的學歷

2013-12-24 09:59:48

程序員管理

2020-07-27 08:34:17

程序員技術(shù)設計

2018-01-22 10:37:23

點贊
收藏

51CTO技術(shù)棧公眾號