未來五年內將不會有人類程序員。
這是最近AI圈新晉嘴炮哥,Stability AI首席執行官伊瑪德·莫斯塔克又一驚人言論。
此話一出,立刻引得一眾科技圈大佬吐槽,直指大錯特錯。
ChatGPT的出現催生出一批代碼生成工具,AI取代人類話題已久,但對「程序員飯碗不保」這種觀點,反對之聲並不少見。
最近,IEEE Spectrum發布了一篇GPT時代程序員生存指南。
文章從四個方面,表述在大模型為核心的編碼時代,程序員如何不被替代,並認為現在還無法做到代碼100%靠AI生成,具備編程素養的人類程序員依然很重要。
接下來,就來具體看看這篇文章的主要觀點。
基礎是一切
儘管現在已經有很多基於AI的編碼助手,可以幫助完成生成代碼。
但編程的基本原則和前提仍然是理解。
Python軟體基金會研究員、軟體公司Explosion聯合創始人兼CEO伊內斯·蒙塔尼(Ines Montani)說:AI本質上是大模型的統計輸出,程序員的工作不僅僅是編寫多少行的代碼這麼簡單。
比如,通過對代碼進行分析和調試的能力,以及對問題解決和演算法設計的理解,才能將所編寫的代碼融入到更大的系統中。
此外,事實證明,良好的軟體工程實踐比以前更有價值,包括規劃系統設計和軟體架構。
「人類編碼員仍然必須弄清楚一段代碼的結構、組織代碼的正確抽象以及不同界面的要求」,MIT計算機科學和人工智慧實驗室副總監兼首席運營官Armando Solar-Lezama說道。
找到適合的工具
現在已經有大量工具被應用到編程領域,包括GitHub Copilot、ChatGPT、Bard等,但每個工具交互方式都有差異。
例如,GitHub Copilot和其他AI編碼助手可以增強編程過程,提供代碼建議。
而ChatGPT、Bard這類則更像是一個對話式AI程序員,可以用來回答關於API的問題或生成代碼片段。
此前GitHub曾採訪了500名開發人員,其中92%的人表示在工作和私人時間都使用AI編碼工具。
同時,要考慮適當的使用場景。生成式AI可以為學習新的編程語言或框架提供快捷途徑,也可以更快地啟動小型項目並創建原型。
而想要讓對話式AI程序員發揮作用,就需要清楚了解「如何與AI溝通」。
提到溝通,這就涉及提示工程。
學會與AI溝通
對話式AI程序員,就像一個具備豐富知識但經驗不多的實習生,需要引導。
OpenAI創始人Sam Altman就直接表示:能夠出色編寫Prompt跟AI對話,是一項高級技能。
這就需要將一個問題分解為多個步驟,並逐個解決每個步驟以解決整個問題的分而治之策略。
進一步拆解需求,讓AI為每個任務編寫特定的函數。
因此,了解AI和機器學習的基本概念,學習LLM工作原理及其優勢和局限性也是很有必要的。
現在已經有很多關於「提示工程」的教程,之前DeepLearning.ai創始人吳恩達與OpenAI開發者Iza Fulford聯手推出ChatGPT提示工程。
手冊講述了大量GPT相關的使用案例,能幫助快速上手並掌握GPT模型的開發與應用。
關於模型和機器學習基礎知識的內容,可以看看Jay Alammar的Illustrated Transformer。
獨立思考和批判思維
相關數據顯示,目前GitHub平台上的所有代碼,有41%都是在使用CoPilot輔助下生成的。
用大模型生成代碼,效率很高,但也有一些問題。
首先,大模型會產生不準確、錯誤的代碼。另外,也可能生成包含漏洞的代碼。
此前,加拿大魁北克大學的四位研究人員就發現,ChatGPT生成的代碼往往存在嚴重的安全問題,而且它不會主動提醒用戶這些問題,只有在用戶詢問時才會承認自己的錯誤。
雖然現在一些代碼工具公司,比如Tabnine承諾企業版會嚴格保密業主隱私,但這一問題仍然不能忽視。
因此,在使用由大模型生成的代碼時,我們需要保持批判性思維,仔細檢查和驗證結果,並對其進行評估。
比如,2010年雲計算的興起,人們擔心傳統IT可能不再重要,但實際情況卻完全不同。
事實上對雲技術相關職位的需求大幅增加,如雲計算專家、雲架構師和雲工程師等。
程序員需要將AI作為一種工具,將其納入他們的工作流程,並認識到這些工具的機遇和局限性,同時依靠自己的編碼能力來保持活力。
IEEE認為,現在就說程序員將被替代,還為時尚早。
?法國猶太老闆:神告訴我們,只有一位中國人能救人類
?華人必看:中華文化的颶風 幸福感無法描述
?解鎖ChatGPT|全平台高速翻牆:高清視頻秒開,超低延遲
?探尋中華復興之路,必看章天亮博士《中華文明史》
免費PC翻牆、安卓VPN翻牆APP
來源:量子位