AI會替代程式師嗎
今天來解答一個比較高頻的問題,“大語言模型都會程式設計了,今後程式師就消失了嗎?”,這個問題也是2023年ChatGTP大火以來,我在各種講座、直播中被問到最多的問題,既然AI都能程式設計了,程式員都失業了,還學什麼程式設計?
要回答這個問題其實不難,我換個問題問大家“現在還有公司在招聘打字員嗎?”,答案當然是否定的,但是倒退二三十年前,電腦還是稀罕物,我上學的時候,學校有一個小小的機房,二三十台機器,上千名學生輪流用。後來參加工作,一個單位上千人,只有二台電腦,一台在財務科,給大家計算工資用,另一台在資訊科,絕大部分部門都還是有紙化辦公,如果有些數據必須錄入電腦,必須到資訊科,由專業的打字員同志使用熟練的五筆輸入法進行錄入。
當時剛畢業的我對這個崗位很是羡慕,如此高大上,天天能接觸電腦,一分鐘居然能打100多個漢字!過了些年,電腦逐漸普及,單位中基本每個科室都配備了一台,而年輕人自然利用先天優勢“學習快”,逐步掌握了電腦的使用權。一天我發現隔壁科室的老王居然也在使用電腦,他可是連拼音也認不全的人,原來他有一個法寶,後來我才知道這叫手寫板。
原本需要敲鍵盤才能錄入的漢字,居然可以直接手寫錄入!太神奇了,當時我就在想“打字員以後豈不是要失業了?”。又過了些年,手機也普及了,尤其是智慧手機現在是人手一台,如果大家要錄入資訊,直接語音辨識就可以錄入。
我又一次想到那個問題“打字員豈不是要失業了?”,所以現在哪個招聘網站上還有公司在招聘打字員呢?當然沒有。但是!如果你去應聘一份坐辦公室的職位,不論什麼崗位,你在簡歷中描述“我不會打字”,你覺得還有多大希望被錄取呢?
重新梳理一下,二十年前的打字員的確消失了,但打字這個技能並未消失,而是變成了現代職場人必備的生存技能!所以現在正式回答大家的問題“隨著人工智慧的發展,程式師會消失嗎?”,我的回答是“程式員也許會消失,但程式設計這項技能會變為職場中人人都必備的技能!”。
我知道肯定有人反對這個觀點,容我慢慢解釋。首先我們來看為什麼未來人人都必須會程式設計,就像打字一樣,在信息社會,各種數據都被資訊化了,打字作為資訊化的基本途徑自然在各種場合都會存在需求,所以在當今社會你不會打字行嗎?肯定不行,因為這意味著你被社會拋棄了。同樣,現在我們逐步進入了人工智慧的時代,隨著大語言模型的發展,未來各種AI應用會遍佈生活的方方面面,人們除了共性的需求,也會追求個性需求,所以AI應用未來也會逐步個人化,社會對AI應用的需求會呈指數上升,而AI應用從哪裡來?當然是程式編寫出來的,AI不是能寫程式嗎?就讓AI來產生這些應用好了,呵呵,這隻是理想化的結果,如果你用過大語言模型生成程式就會知道,AI程式設計的結果完全符合你的要求的概率並不高,更多情況是你需要針對它給出的結果,一遍遍測試,發現問題交給它,讓它繼續改,或者乾脆你自己改,這樣更靠譜。但要做到這樣,前提是你自己必須懂程式,如果你完全是個小白,就算AI給你一段程式,你連怎麼運行都不懂,更不要說看懂各種報錯資訊,然後和AI交流了,所以程式設計未來人人都必須會。
接下來就引出第二個問題,程式設計那麼專業,那麼難,怎麼可能人人都會?不少計算機專業的畢業生都無法獨立寫出一個小專案。同樣,我們回看下二十年前,社會上專門有培訓機構培訓打字,因為那時的打字專業度還是很高的,但是後來拼音輸入法大大降低了打字的門檻,只要你懂拼音,哪怕慢點也能打字,再後來手寫輸入、語音輸入都出來了,打字基本已經沒有門檻了。所以如果我們放長時間線來看,只要這個技能有市場就有需求,有需求就有商機,有商機就有公司會想辦法降低門檻,讓更多的人能夠進來。程式設計也是一樣,未來的社會到處都是AI,程式設計是與AI打交道的最有效的手段,注意我說的是最有效,而不是最常用、最簡單的手段。所以既然有市場就有需求,有需求就有商機,有商機就有人會想到降低程式設計門檻,所以近些年我們會發現有公司推出了“低代碼程式設計平臺”。
所謂低代碼就是讓你盡可能少寫甚至不寫代碼,也能完成一個專案,簡單來說就是通過可視化操作、參數化配置等方式實現程式設計過程。代碼程式設計不是難嗎,又要記住語法,又要記住那些關鍵字,太麻煩,所以給你一個半自動化工具,通過拖拽模組、配置參數就能完成專案。
其實少兒程式設計中最常見的Scratch,也可以說是一個低代碼程式設計平臺,通過拼接不同的積木模組,就可以實現一定的功能。
未來低代碼平台會越來越多,門檻也會越來越低,功能越來越強大,所以普通人經過幾天學習掌握程式設計並不是不可想像的事。也許20年後的人也會問同樣的問題,“你連程式設計都不會,怎麼找的到工作啊?”
有的人可能會想“未來AI越來越智慧,就算我不會程式設計,但我可以指揮AI幫我程式設計,現在AI生成的程式可能不太好,以後就會越來越好,所以我不需要學習程式設計,只要等AI再成熟些,我指揮它就好了”。這個想法看起來沒毛病,同樣我舉個例子,現在你去找工作,雖然你不會打字,但你會用手寫板和語音輸入,所以只要不是要求打字速度的崗位應該可以勝任。於是你投出了簡歷,簡歷中如實描述你的情況“我不會打字,但能熟練使用手寫板、語音輸入”,等待你的結果會是什麼呢?大概率是沒有結果。雖然你可以藉助手寫板、語音助手進行打字,但鍵盤是最標準、最通用的打字工具,不論什麼公司、什麼崗位,只要有電腦,自然有鍵盤。但你不會用鍵盤,需要手寫板、語音助手,對不起,公司沒有手寫板、語音助手!也不會為你單獨配備一個。那我自己花錢買一個行不行,行,但某一天老闆叫你去開會並做會議紀要,開會時肯定不能用語音輸入了,手寫板呢?對不起,走得急沒有拿,會議室里也沒有,只有電腦,怎麼辦?你會發現不會打字,到哪都不方便,因為當前這個社會就是這樣,沒有考慮不會打字的人,你會發現被拋棄了!同樣的道理,一個人不會程式設計(包含低代碼程式設計),就相當於不會打字,雖然他會使用AI來程式設計,類似於手寫板、語音輸入,但工作中依然會處處受限,例如你會使用ChatGPT進行程式設計,但公司不用ChatGPT,只有文心一言,怎麼辦?相同的提示語在不同的大模型下,輸出結果是不同的,除非以後全世界所有公司都使用同一個大模型,就類似於鍵盤一樣,全世界通用,但這是不可能的。而如果你會程式設計就不同了,只要有鍵盤(這玩意是全世界通用的),只要有程式設計平臺(目前程式設計平台雖然很多,但主流都是開源免費的,誰都可以用,未來更有可能出現一些通用的低代碼程式設計平臺),你就能做事,不會受限於公司是否使用某個大模型。
總之,未來是人工智慧的時代,人們必須熟練掌握和AI交互的能力,而AI本身就是程式編寫出來的,如果你懂程式設計,自然要更具備優勢了。順便說下,即使AI發展的非常成熟了,我也不認為程式師會消失,更可能的結果是:低端程式師消失了,因為這部分工作由大家都會的基本技能就能搞定,而高端程式師永遠不會消失,畢竟AI還要進步,演算法還要優化,沒有程式師哪行。除非AI已經發展到了奇點,它可以自我優化,自我完善,恐怕到那時,我們擔心的不是找不找得到工作,而是人類會不會被AI毀滅或統治了。