AI程序員來了,“碼農(nóng)”會消失嗎?
文 | 劉偉 北京郵電大學(xué)人機交互與認(rèn)知工程實驗室主任
美國初創(chuàng)公司Cognition日前發(fā)布了首個AI軟件工程師Devin,目前雖尚未公測,但Cognition表示只需一句指令,Devin就可端到端處理整個開發(fā)項目,這再度引發(fā)“碼農(nóng)是否將被淘汰”的大討論。一些IT行業(yè)資深人士在公開場合提起“編程無用論”,而很多人對此并不認(rèn)同,認(rèn)為“AI 時代對計算機專家和程序員的需求將更大”。
從長遠(yuǎn)來看,雙方的觀點似乎都有道理。一方面, AI技術(shù)的迅速發(fā)展和普及勢必給程序員的工作帶來沖擊:傳統(tǒng)的編碼方式將顯著改變,水平一般的程序員被取代的趨勢或不可避免。另一方面,盡管AI可以輔助程序員快速生成代碼、提高開發(fā)效率,但并不能完全取代程序員的角色,尤其是技術(shù)理解深厚、能力強大的高水平程序員。對于未來的程序員而言,掌握AI技術(shù)并應(yīng)用于自己的工作流程中,與AI協(xié)同工作從而提高自己的工作效率和編碼質(zhì)量,是與時俱進、適應(yīng)市場的必然需求。所以,AI程序員的出現(xiàn)并不意味著取代傳統(tǒng)程序員,而是用市場競爭的方式刺激他們“進化”。
蘇格蘭哲學(xué)家大衛(wèi)·休謨認(rèn)為:“一切科學(xué)技術(shù)都與人性有關(guān),對人性的研究應(yīng)是一切科學(xué)技術(shù)的基礎(chǔ)。”編程工作實際上也是一門與人類思考、決策和行為密切相關(guān)的科學(xué)技術(shù)。編程語言、算法等都是通過理解人類的思維和行為模式,實現(xiàn)計算機與人類的交互。那些充滿人性化、個性化的軟件和交互方式正是基于編程中對用戶需求、行為模式和情感的理解,結(jié)合開發(fā)者的自身特色創(chuàng)造出來的。人性不僅存在于“開發(fā)者——用戶”兩個角色之間,也存在于編程團隊中。對不同客戶需求的理解、溝通中碰撞出的靈感火花、提升協(xié)作效率的經(jīng)驗,都是編程團隊的寶貴財富。
程序開發(fā)的過程其實也是一個人、機、環(huán)境系統(tǒng)相融合的工程。在一個程序中,人負(fù)責(zé)設(shè)計、開發(fā)和維護,機器則忠實地執(zhí)行代碼和數(shù)據(jù)處理。程序員通過編寫代碼來指揮機器完成特定的任務(wù),人機協(xié)同為一。機器的智能體現(xiàn)在它能夠根據(jù)預(yù)設(shè)的規(guī)則和算法自主決策和行動,程序員的任務(wù)就是運用恰當(dāng)?shù)乃惴ê图夹g(shù)引導(dǎo)機器的智能行為,并不斷對其進行優(yōu)化。同時,機器也在與環(huán)境進行交互,它需要自外部環(huán)境接收數(shù)據(jù),并將處理結(jié)果輸出到環(huán)境中。這種交互是機器不斷適應(yīng)各種情境和需求,給出相應(yīng)答復(fù)的基礎(chǔ)框架。
由此,未來一名好的程序員不應(yīng)僅僅是一名技術(shù)人員,還需要具備廣泛的知識和技能。他們是整個人、機、環(huán)境系統(tǒng)框架中的創(chuàng)造者,要持續(xù)創(chuàng)新、創(chuàng)造價值。具體而言,為了編寫高質(zhì)量代碼,他們可能要精通多種編程語言;為了能按需選用合適的技術(shù)方案,他們要能迅速適應(yīng)新的技術(shù)和工具;為了面對復(fù)雜問題時能抓住原因并及時分析解決,他們必須保持與團隊及客戶的高效溝通協(xié)作,并不斷積累知識、經(jīng)驗,同步跟進行業(yè)技術(shù)前沿,針對具體問題設(shè)計出創(chuàng)新的解決方案,保障程序的穩(wěn)定性和可靠性。
知識本身并不是力量,能有效將知識應(yīng)用于實踐才是真正的力量。同樣,大量的編程知識可能是有價值的,但若不會運用、不知變通,無法解決實際問題,它就很難產(chǎn)生任何實質(zhì)性影響。能夠有效使用程序,意味著智能體正具備將知識與學(xué)習(xí)應(yīng)用轉(zhuǎn)化的能力。這就需要程序員具備一些編程規(guī)則之外的能力,如分析、判斷、解決問題的能力等。程序員之所以能夠不被取代,底氣正在于其能將所學(xué)與實際情況相結(jié)合,并作出正確決策,而不是像AI程序員那樣的編程工具,為了編程而編程。
總之,世界終究是一個多因、多果、多元、多維的復(fù)雜系統(tǒng)。在這個系統(tǒng)中,人類程序員常常負(fù)責(zé)處理無法編程、“雜”亂無章的方向性問題,機器(如AI程序員)則善于處理可編程的重“復(fù)”性過程問題。今天的各種應(yīng)用落地場景提供了聯(lián)結(jié)機器與人共同作用的“復(fù)”+“雜”平臺,未來,AI負(fù)責(zé)基礎(chǔ)重復(fù)性勞動、人類程序員負(fù)責(zé)頂層設(shè)計的模式已經(jīng)初露端倪,而認(rèn)為人類程序員將被AI取代、淪為提要求的“邊緣人”,為時尚早。