https://www.toutiao.com/article/7255945932737577487/?log_from=7ad5de389eb2b_1689731182121 尚恩 發(fā)自 凹非寺量子位 | 公眾號 QbitAI 未來五年內(nèi)將不會有人類程序員。 這是最近AI圈新晉嘴炮哥,Stability AI首席執(zhí)行官伊瑪?shù)隆つ顾?/span>又一驚人言論。 此話一出,立刻引得一眾科技圈大佬吐槽,直指大錯特錯。 ChatGPT的出現(xiàn)催生出一批代碼生成工具,AI取代人類話題已久,但對“程序員飯碗不?!边@種觀點,反對之聲并不少見。 最近,IEEE Spectrum發(fā)布了一篇GPT時代程序員生存指南。 文章從四個方面,表述在大模型為核心的編碼時代,程序員如何不被替代,并認(rèn)為現(xiàn)在還無法做到代碼100%靠AI生成,具備編程素養(yǎng)的人類程序員依然很重要。 接下來,就來具體看看這篇文章的主要觀點。 基礎(chǔ)是一切盡管現(xiàn)在已經(jīng)有很多基于AI的編碼助手,可以幫助完成生成代碼。 但編程的基本原則和前提仍然是理解。 Python軟件基金會研究員、軟件公司Explosion聯(lián)合創(chuàng)始人兼CEO伊內(nèi)斯·蒙塔尼(Ines Montani)說:
當(dāng)前,程序員仍然需要具備最基礎(chǔ)的“閱讀、理解”自己和他人代碼的能力。 比如,通過對代碼進(jìn)行分析和調(diào)試的能力,以及對問題解決和算法設(shè)計的理解,才能將所編寫的代碼融入到更大的系統(tǒng)中。 此外,事實證明,良好的軟件工程實踐比以前更有價值,包括規(guī)劃系統(tǒng)設(shè)計和軟件架構(gòu)。 “人類編碼員仍然必須弄清楚一段代碼的結(jié)構(gòu)、組織代碼的正確抽象以及不同界面的要求”,MIT計算機科學(xué)和人工智能實驗室副總監(jiān)兼首席運營官Armando Solar-Lezama說道。 通過理解問題、拆解問題、設(shè)計算法以及實施和測試解決方案,人類編程人員能夠提供獨特的洞察力和創(chuàng)造性解決方案,而這些是AI無法完全取代的。 找到適合的工具現(xiàn)在已經(jīng)有大量工具被應(yīng)用到編程領(lǐng)域,包括GitHub Copilot、ChatGPT、Bard等,但每個工具交互方式都有差異。 例如,GitHub Copilot和其他AI編碼助手可以增強編程過程,提供代碼建議。 而ChatGPT、Bard這類則更像是一個對話式AI程序員,可以用來回答關(guān)于API的問題或生成代碼片段。 此前GitHub曾采訪了500名開發(fā)人員,其中92%的人表示在工作和私人時間都使用AI編碼工具。 AI是一個發(fā)展迅速的領(lǐng)域,保持開放的態(tài)度,持續(xù)嘗試使用不同的AI工具。 同時,要考慮適當(dāng)?shù)氖褂脠鼍?。生成式AI可以為學(xué)習(xí)新的編程語言或框架提供快捷途徑,也可以更快地啟動小型項目并創(chuàng)建原型。 而想要讓對話式AI程序員發(fā)揮作用,就需要清楚了解“如何與AI溝通”。 提到溝通,這就涉及提示工程。 學(xué)會與AI溝通對話式AI程序員,就像一個具備豐富知識但經(jīng)驗不多的實習(xí)生,需要引導(dǎo)。 OpenAI創(chuàng)始人Sam Altman就直接表示:
讓AI從頭開始編寫整個程序,不僅無法最大程度發(fā)揮AI的能力,還可能獲得一些不相關(guān)的回復(fù)。 這就需要將一個問題分解為多個步驟,并逐個解決每個步驟以解決整個問題的分而治之策略。 進(jìn)一步拆解需求,讓AI為每個任務(wù)編寫特定的函數(shù)。 因此,了解AI和機器學(xué)習(xí)的基本概念,學(xué)習(xí)LLM工作原理及其優(yōu)勢和局限性也是很有必要的。 現(xiàn)在已經(jīng)有很多關(guān)于“提示工程”的教程,之前DeepLearning.ai創(chuàng)始人吳恩達(dá)與OpenAI開發(fā)者Iza Fulford聯(lián)手推出ChatGPT提示工程。 另外,“ChatGPT提示工程”課程的講師之一“Iza Fulford”,此前還編撰了OpenAI Cookbook(官方手冊)。 手冊講述了大量GPT相關(guān)的使用案例,能幫助快速上手并掌握GPT模型的開發(fā)與應(yīng)用。 關(guān)于模型和機器學(xué)習(xí)基礎(chǔ)知識的內(nèi)容,可以看看Jay Alammar的Illustrated Transformer。 獨立思考和批判思維相關(guān)數(shù)據(jù)顯示,目前GitHub平臺上的所有代碼,有41%都是在使用CoPilot輔助下生成的。 用大模型生成代碼,效率很高,但也有一些問題。 首先,大模型會產(chǎn)生不準(zhǔn)確、錯誤的代碼。另外,也可能生成包含漏洞的代碼。 此前,加拿大魁北克大學(xué)的四位研究人員就發(fā)現(xiàn),ChatGPT生成的代碼往往存在嚴(yán)重的安全問題,而且它不會主動提醒用戶這些問題,只有在用戶詢問時才會承認(rèn)自己的錯誤。 其次,就是隱私問題。程序員在開發(fā)過程中輸入的代碼,平臺是否會非法獲取。 雖然現(xiàn)在一些代碼工具公司,比如Tabnine承諾企業(yè)版會嚴(yán)格保密業(yè)主隱私,但這一問題仍然不能忽視。 因此,在使用由大模型生成的代碼時,我們需要保持批判性思維,仔細(xì)檢查和驗證結(jié)果,并對其進(jìn)行評估。 每一個新的技術(shù)突破和重大的范式轉(zhuǎn)變都帶來了一系列新的可能性,人工智能也不例外。 比如,2010年云計算的興起,人們擔(dān)心傳統(tǒng)IT可能不再重要,但實際情況卻完全不同。 事實上對云技術(shù)相關(guān)職位的需求大幅增加,如云計算專家、云架構(gòu)師和云工程師等。 程序員需要將AI作為一種工具,將其納入他們的工作流程,并認(rèn)識到這些工具的機遇和局限性,同時依靠自己的編碼能力來保持活力。 IEEE認(rèn)為,現(xiàn)在就說程序員將被替代,還為時尚早。 參考鏈接: — 完 — 量子位 QbitAI · 頭條號簽約 關(guān)注我們,第一時間獲知前沿科技動態(tài) |
|