人工智能編碼輔助的力量
來自 Alamy Stock
直到最近,編碼還涉及重復性任務,并且需要了解許多微小的細節(jié)。編碼的這些方面減損了開發(fā)人員真正喜歡的創(chuàng)造性工作,并且減慢了開發(fā)人員的速度。
現(xiàn)在,人工智能技術(shù)有望消除大部分重復性工作,開發(fā)人員不再因不得不在網(wǎng)絡(luò)上搜索那些微小的細節(jié)而被拋在腦后。
該技術(shù)的工作原理類似于文字處理中的自動完成,但編寫代碼而不是普通語言并一次完成整個功能。
AI 有助于算法、樣板代碼
人工智能驅(qū)動的最新產(chǎn)品之一是 Github 的 Copilot,這是一種人工智能驅(qū)動的結(jié)對編程工具,可供所有開發(fā)人員使用,每月 10 美元或每年 100 美元。
該公司聲稱 Copilot 可以建議完整的方法、樣板代碼、整個單元測試,甚至是復雜的算法。
GitHub Next 副總裁 Oege De Moor 解釋說:“借助 Copilot 等 AI 驅(qū)動的編碼技術(shù),開發(fā)人員可以像以前一樣工作,但速度和滿意度更高,因此很容易引入。”“在你對人工智能的指示中明確說明確實有幫助。”
他解釋說,在 Copilot 技術(shù)預覽期間,GitHub 從用戶那里聽說,他們在代碼注釋中編寫了更好、更準確的解釋,因為 AI 為他們提供了更好的建議。
“用戶還編寫了更多測試,因為 Copilot 鼓勵開發(fā)人員專注于制作好的測試的創(chuàng)造性部分,”De Moor 解釋說。“所以,這些用戶覺得他們編寫了更好的代碼,與 Copilot 攜手并進。”
他補充說,讓用戶意識到技術(shù)的局限性當然很重要。
“像所有代碼一樣,來自 Copilot 等 AI 助手的建議需要經(jīng)過仔細測試、審查和審查,”他說。“我們還不斷努力提高人工智能提出的建議的質(zhì)量。”
GitHub Copilot 是使用 Codex(GPT-3 的后代)構(gòu)建的,它接受了公開可用的源代碼和自然語言的培訓。
“因為它接受了源代碼和自然語言的訓練,你可以用英語寫評論,然后 Codex 會建議后面的代碼,”De Moor 解釋說。“事實上,它甚至可以編寫一個完整的函數(shù)或類,只需用英文描述即可。”
未來的人工智能能力可以協(xié)助調(diào)試
Tabnine 首席執(zhí)行官 Dror Weiss 表示,未來人工智能助手將能夠為開發(fā)人員審查代碼、自動創(chuàng)建測試、協(xié)助調(diào)試以及對系統(tǒng)進行智能的自動化維護操作。
“最終,每一項可以自動化的活動都將實現(xiàn)自動化,”他說。
從他的角度來看,組織的一個關(guān)鍵特性是能夠為項目和組織集成特定的最佳實踐和代碼模式。
“使用這種定制的人工智能,組織不僅可以從加速中受益,還可以從更好的代碼一致性和質(zhì)量中受益,”他解釋道。“另一個好處是減少了開發(fā)人員在加入新項目時提高生產(chǎn)力所需的時間。”
人工智能輔助編碼工具的一個主要優(yōu)勢是上下文感知代碼完成。
例如,微軟的 Visual Studio IntelliCode 是一組 AI 輔助功能,使開發(fā)人員能夠通過參數(shù)完成、代碼格式化和樣式規(guī)則參考等功能有效地完成代碼。
IntelliCode 對 GitHub 上數(shù)千個評價很高的開源項目的代碼進行了培訓,并使用當前代碼中的上下文來提出相關(guān)建議。
自推出 IntelliCode 以來,Microsoft 已經(jīng)進行了整行代碼完成和重構(gòu)等更新,并提出了增強重復編輯體驗的建議,從而為開發(fā)人員節(jié)省了時間。
AI Coding Assist 的路線圖是關(guān)鍵
Weiss 表示,對于計劃實施涉及 AI 編碼助手的戰(zhàn)略的組織來說,制定路線圖是關(guān)鍵。
“組織需要進行戰(zhàn)略性思考,并了解他們希望如何利用人工智能,即使市場上的任何產(chǎn)品都還沒有一些基本功能,”他說。
他解釋說,實現(xiàn)人工智能輔助的合乎邏輯的第一步是確定一組特定的開發(fā)人員,并讓他們基于從公開可用代碼中學習代碼模式的預訓練模型使用人工智能。
成功實施后,組織可以開始向其他組推廣。同時,他們可以通過根據(jù)自己的代碼創(chuàng)建自定義 AI 模型來根據(jù)自己的需求定制 AI 輔助。
De Moor 還指出,開發(fā)人員將大部分時間花在其他任務上,很快,這些其他任務也將受益于人工智能的幫助。
其他適合 AI 輔助的任務包括代碼審查、測試和重構(gòu)。
“這會改變開發(fā)人員的工作嗎?當然,但為了更好,”德摩爾說。“我不預見未來 Copilot 會在沒有人工輸入的情況下產(chǎn)生任何有用的東西,但我確實看到了不受約束的人類創(chuàng)造力,不再被無關(guān)的細節(jié)所束縛。
他說編程現(xiàn)在是關(guān)于設(shè)計(將一個大問題分解為較小的問題),然后指定較小的塊應該做什么——人工智能將填充細節(jié)。
Weiss 補充說,隨著每家公司都在成為“軟件公司”,軟件開發(fā)是每個組織最具戰(zhàn)略性和資源受限的活動。
“公司開始滿足他們可以獲得多少開發(fā)人員的限制,讓更小的團隊更有效率是至關(guān)重要的——在經(jīng)濟低迷時期更是如此,因為團隊可能人手不足,”他說。“我們相信,人工智能是提高開發(fā)人員和團隊生產(chǎn)力的最有效方式,對于每個采用基本 DevOps 和 CI 平臺的組織來說,人工智能將是自然而然的下一步。”
- 上一篇
低代碼在數(shù)字化轉(zhuǎn)型中可以發(fā)揮什么作用?
面對構(gòu)建出色的業(yè)務應用程序和流程時,CIO 遇到的一個重大障礙是程序員(而不是最終用戶)開發(fā)這些項目。不幸的是,這一事實通常會在現(xiàn)實中最有效的方法與 IT 認為在開發(fā)過程中最有
- 下一篇
利用大數(shù)據(jù)制定最佳營銷計劃的創(chuàng)造性方法
對于現(xiàn)代企業(yè)主來說,大數(shù)據(jù)技術(shù)變得比以往任何時候都更加重要。麥肯錫研究所的一項研究表明,數(shù)據(jù)驅(qū)動的組織盈利的可能性要高出 19 倍。使用大數(shù)據(jù)開展業(yè)務有很多好處。最重要