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

2019年12月05日18:00:18 科技 1264

程序員坐穩了,AI 開始搶你們的「飯碗」了。

如今,開發人員的准入門檻比以往任何時候都要高。重複性的任務佔據了軟體開發的大部分時間,並且很容易出錯。市場上軟體開發人才短缺,團隊超負荷工作,許多企業既無法完全掌握現有的日益複雜的代碼,又追不上新程序開發日新月異的發展步伐。

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

AI 輔助開發比人工編寫代碼快 180 多倍,程序員是喜還是憂? - 天天要聞

但許多開發人員和技術經理沒有意識到的是,在過去短短几年裡,人工智慧對開發團隊的重要性就已經產生了質的飛躍。其實,目前我們已經走到了人工智慧輔助軟體開發的初級階段。

AI 在自動化領域不可或缺

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

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

人工智慧編碼技術

好消息是,通過自動編寫驗證自動化流水線其餘部分的測試代碼,現有的人工智慧代碼技術已經可以一次性解決掉這兩個問題。這樣的任務過去需要耗費開發人員很多時間,妨礙了他們去做創建新功能等這種更有價值的工作。在單元測試中使用人工智慧讓自動化更加完善,儘管這個過程並不容易。

AI 輔助開發比人工編寫代碼快 180 多倍,程序員是喜還是憂? - 天天要聞

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

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

落地是關鍵

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

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

AI 輔助開發比人工編寫代碼快 180 多倍,程序員是喜還是憂? - 天天要聞

利用 Sketch2Code 將手繪草圖轉換成代碼的操作過程


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

AI 輔助開發比人工編寫代碼快 180 多倍,程序員是喜還是憂? - 天天要聞

人工智慧輔助開發未來可期

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

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

科技分類資訊推薦

3nm晶元問世,非台積電製造!業界驚訝? - 天天要聞

3nm晶元問世,非台積電製造!業界驚訝?

3nm晶元問世,非台積電製造!業界驚訝?關註:花魚呀世界首枚3nm晶元問世,誰是背後的幕後英雄?這一消息讓整個業界充滿了疑問和好奇,讓我們一起揭開這個引人入勝的謎題。技術巨頭台積電的輝煌歷史與成就讓我們首先回顧一下台積電的輝煌歷史。
地圖標註入口,如何定位店鋪怎麼免費申請店鋪位置定位 - 天天要聞

地圖標註入口,如何定位店鋪怎麼免費申請店鋪位置定位

在現代社會,越來越多的人選擇創業,開設自己的店鋪。支點創業服務覺得店鋪的位置對於生意的發展至關重要。如何在地圖上標註店鋪位置,成為了許多創業者關注的問題。本文將介紹如何使用地圖標註定位店鋪,並免費申請店鋪位置定位。一、使用地圖標註定位店鋪1.
地圖標註入口,如何定位門店位置如何位置定位出自己的店? - 天天要聞

地圖標註入口,如何定位門店位置如何位置定位出自己的店?

隨著互聯網的發展,越來越多的商家開始將業務拓展到線上,而支點創業服務認為線上業務的成功與否往往與線下門店的位置有著密切的關係。因此,如何準確地定位門店位置成為了商家們必須要面對的問題。本文將介紹如何通過地圖標註來定位門店位置,以及如何使用這些工具來定位出自己的店。
屏下前攝+驍龍888 Plus小米MIX 4售價經曝光:5999元起 - 天天要聞

屏下前攝+驍龍888 Plus小米MIX 4售價經曝光:5999元起

本文素材來自於網路,若與實際情況不相符或存在侵權行為,請聯繫刪除。小米MIX 4的發布備受矚目,因其引入了小米屏下攝像頭技術,實現真正全面屏的效果。同時,它將搭載高通最新的驍龍888 Plus晶元,這使得手機愛好者十分期待。
不止麒麟晶元華為又給美國帶了兩個壞消息:大反攻開始了 - 天天要聞

不止麒麟晶元華為又給美國帶了兩個壞消息:大反攻開始了

本文素材來自於網路,若與實際情況不相符或存在侵權行為,請聯繫刪除。美國所剩不多的時間已經在流逝,其對華為的晶元制裁,像一個年久失修的木桶,初現破綻,漏洞百出。拜登政府不斷修復,然而,華為仍在不斷前進。華為的5G晶元已經開始全面生產,長春光機的EUV光源工程也在醞釀之中。
警惕美麗國在對華晶元戰中新打法 - 天天要聞

警惕美麗國在對華晶元戰中新打法

#時事熱點頭條說#警惕美麗國在對華晶元戰中新打法。自美麗國在對中國晶元手機和存儲器晶元業祭出各種殺手鐧後,華為向死而生,利用1566天的漫長歲月,殺出美麗國設置的道道重圍,敞開一門,製造出麒麟9000s手機處理器晶元,成功翻盤,打了漂亮國一個措手不及。
到底是什麼?華為讓我們的國人如此熱血,任正非其實早已說過… - 天天要聞

到底是什麼?華為讓我們的國人如此熱血,任正非其實早已說過…

華為到底可怕在哪裡?華為,這家中國科技巨頭,一直以來都以其強大的創新能力和市場競爭地位而備受關注。這個9月份,蘋果的感受似乎有些失落,尤其在中國市場:每當這個時期,蘋果都會如期發布新產品,很多競爭對手也心照不宣地避開風頭,靜靜地觀望著蘋果的表演。