人工智能時(shí)代,程序員就要被淘汰了?
如果讓你來考慮一下,這個(gè)問題似乎有點(diǎn)諷刺。新的創(chuàng)造者-(人工智能)是否會在將來替換或替代其創(chuàng)作者(程序員)?聽起來像是科幻電影的情節(jié),不是嗎?不過,更重要的問題是:這是真的嗎?
近期的就業(yè)研究報(bào)告預(yù)測,到2030年,美國將有近50%的工作崗位實(shí)現(xiàn)自動(dòng)化。如果我們將這一發(fā)現(xiàn)作為事實(shí),那么不久的將來的確有些黯淡。但是,在考慮“厄運(yùn)與失敗”場景之前(機(jī)器人負(fù)責(zé)我們的所有工作),讓我們首先了解一下AI如何使程序員受益。
AI如何幫助程序員
甚至在傳統(tǒng)的軟件開發(fā)周期開始之前,程序員就已經(jīng)需要確定他們要?jiǎng)?chuàng)建的產(chǎn)品的技術(shù)規(guī)格或功能特性。只有這樣,他們才能開始實(shí)際的設(shè)計(jì)和開發(fā),然后進(jìn)行測試,部署和維護(hù)。
當(dāng)然,從一個(gè)步驟過渡到另一個(gè)步驟,會發(fā)現(xiàn)需要修復(fù)的錯(cuò)誤和需要解決的漏洞。任何軟件在發(fā)布之前都需要經(jīng)過幾輪測試和增強(qiáng)。軟件開發(fā)過程可能很繁瑣,昂貴且耗時(shí)。對于人類來說,這可能令人沮喪。程序員需要幫助,請輸入AI。
1.程序編寫協(xié)助
AI技術(shù)允許程序員在編寫代碼時(shí)確定其錯(cuò)誤。法國軟件開發(fā)商Ubisoft是該領(lǐng)域的先驅(qū)。它創(chuàng)建了AI工具Commit Assistant,以使用以前項(xiàng)目中遇到的常見編碼錯(cuò)誤的軟件庫來檢查錯(cuò)誤代碼。因此,Commit Assistant可以防止程序員犯下曾經(jīng)犯過的同樣的錯(cuò)誤,從而節(jié)省了他們在稍后的過程中糾正錯(cuò)誤所花費(fèi)的時(shí)間和精力。
簡化程序員生活的AI工具的其他示例包括智能編程助手,該助手可在程序員編寫代碼時(shí)為他們提供自動(dòng)完成的建議。程序員為什么不使用它們呢?面對現(xiàn)實(shí)吧,閱讀數(shù)百頁的文檔可能很累。
2.錯(cuò)誤修復(fù)
軟件中的許多弱點(diǎn)只有在已經(jīng)被使用時(shí)才會出現(xiàn)。這很正常,因?yàn)橹圃焐掏ǔP枰s緊進(jìn)入市場以擊敗競爭對手。因此,幾乎沒有任何程序沒有可利用的漏洞。
AI和機(jī)器學(xué)習(xí)(ML)算法可以解決這個(gè)問題。他們可以配置計(jì)算機(jī)以分析程序中的錯(cuò)誤,并在上市之前進(jìn)行相應(yīng)的修復(fù)。
3.準(zhǔn)確的項(xiàng)目交付估算
軟件開發(fā)項(xiàng)目甚至在開始之前就幾乎沒有達(dá)到為其設(shè)置的時(shí)間表和預(yù)算。
但是,在AI的幫助下,使用以前項(xiàng)目的歷史數(shù)據(jù)可以使程序員(或更準(zhǔn)確地說,其項(xiàng)目經(jīng)理)在考慮所有可能的情況和潛在挑戰(zhàn)的同時(shí),為管理人員提供更準(zhǔn)確的進(jìn)度表和資金需求。
AI系統(tǒng)能否取代程序員的位置?
軟件開發(fā)人員現(xiàn)在可以輕松呼吸,因?yàn)閷Ω匾獑栴}的答案是(我們最初問的問題):不一定。盡管已經(jīng)存在可以編寫簡單代碼的AI工具,但是它們無法確定要優(yōu)先考慮的功能或開發(fā)中的軟件要解決的問題。
目前只有精明的程序員才能基于對精確規(guī)范和要求的理解來編寫代碼。程序員仍然需要幫助AI系統(tǒng)理解他們需要集成到開發(fā)中的軟件中的復(fù)雜應(yīng)用程序編程接口(API)。
實(shí)際上,研究人員認(rèn)為,隨著AI系統(tǒng)的進(jìn)一步改進(jìn),程序員的角色可能只會發(fā)生變化。他們將不負(fù)責(zé)編寫實(shí)際代碼,而是負(fù)責(zé)分析和整理數(shù)據(jù),以用作AI算法的輸入,然后AI軟件將創(chuàng)建軟件。
程序員應(yīng)該畫出AI提供的好處,而不是描繪出令人沮喪的場景。各個(gè)行業(yè)已經(jīng)在采用該技術(shù)來提高生產(chǎn)率和降低成本。這種趨勢是不可避免的,因此與其害怕它,不如更好地增強(qiáng)他們的技能以適應(yīng)不斷變化的形勢。