如果要在最近的科技圈裡找出一個 " 頂流 ",那一定非 ChatGPT 莫屬。
與過去那些人工智能産品不同的是,此次的 ChatGPT 除了以一己之力讓全行業一夜回春、并挑起了各大科技公司之間的激烈 Battle 之外,也首次給每一個普通人都來了一次 " 正面暴擊 "。當越來越多的人親自體驗了 ChatGPT 之後,打工人們的 " 飯碗焦慮 " 也變得越來越大。
一時間,關于 " 我會被人工智能淘汰嗎?"" 哪些職業将被 ChatGPT 取代 " 等話題的讨論聲四起。這其中,程序員成為了被重點關注的對象。
實際上,在 ChatGPT 去年 12 月剛推出時,最先出圈就是它讓人震驚的寫代碼的能力,當時一大批開發者在試用之後驚歎不已。不久前,關于 ChatGPT 成功通過谷歌内部初級程序員(L3 級别)面試、能拿到 18 萬美元年薪的消息更是炸開了鍋,也由此引發了一場關于 AI 是否很快淘汰程序員的大讨論:一些人感慨會寫代碼的 ChatGPT 要很快終結程序員的黃金時代了,一些人卻也認為 ChatGPT 還遠不到能取代自己的時候。
圖源:截自于 pcmag
那麼,矽谷的軟件工程師們究竟是怎麼看待 ChatGPT 的,在他們眼中 ChatGPT 的寫代碼能力究竟如何,它會給哪些類型的工程師帶來直接威脅?帶着這些問題,我們此次也找到了一些在矽谷不同科技公司、不同崗位、不同工作年限的工程師們,聽了聽他們的看法。
Emily
公司:谷歌
職位:後端工程師 工作年限:6 年
" 它考試很厲害,但沒法創新 "
我覺得在讨論 "ChatGPT 是否會取代程序員 " 這個問題之前,要首先理解 ChatGPT 背後的原理是什麼。其實在 OpenAI 的官博上對 ChatGPT 介紹的很清楚,ChatGPT 是一個大型語言模型,用監督學習和強化學習進行訓練,訓練數據是使用來自互聯網的文本數據庫。
這裡面就有兩個很關鍵的部分。一是在機器學習領域,語言模型的數學基礎其實是概率論。簡單來說就是用已知的文本作為條件,來預測在類似條件下出現不同詞語的概率。也就是說,ChatGPT 給你的答案是根據數據集來 " 摘取 " 和 " 猜 " 出來的,雖然它可能出現很高的正确率,但絕對不可能保證 100% 的準确。
但很多的工作對于準确性的要求很高,就以我們的工作為例,你可能因為寫出一個 bug 就給公司帶來巨額損失,所以在這個過程中一定是需要懂技術的人來進行監督和驗證,因此從這個角度來說,程序員這個職業是不可能消失的。
圖源:OpenAI 官方博客
我了解到谷歌之所以在推出語言模型上很謹慎的原因,其實也是出于對這種不确定性的擔憂。一方面你不能保證它的答案準确性可能會給用戶帶來誤導,另外就是一旦大規模開放使用,語言模型究竟會預測出什麼内容目前是很難人為加以精準控制的,這裡面就會會給公司帶來巨大的聲譽和經濟損失的風險。前幾天Bard 演示出問題那件事就是一個挺典型的例子。
另一個關鍵部分是,因為 ChatGPT 模型的訓練是基于截至 2021 年的互聯網文本數據庫,那麼也就是說,這個文本數據庫裡沒有的東西它是無法給出答案的,它隻能幫你去整合、歸納、推測,并不具備創新創造的能力。但我們日常的工作并不是機械性的去複制粘貼代碼,而是需要做大量的思考、設計工作,這些思考和設計可能是為全新的産品或功能服務,并沒有可以參考的案例。我覺得目前 ChatGPT 或許可以發揮作用的是在代碼測試環節,能夠幫忙大幅提高測試的效率。
對于 ChatGPT 能通過谷歌 L3 面試這個事其實也并不奇怪。因為谷歌 L3 級别的面試基本上都是相對基礎和模式化的算法題,是沒有需要強思考的系統設計題目的。實際上别說是 L3 的面試題了,我有同事用他去參加 ACM 編程比賽那些類似于編程領域的 " 奧賽題 " 去考 ChatGPT,它也都能答得很好。簡單來說,ChatGPT 就是題海戰術訓練出來的,它是個很厲害的應試考生,但缺乏自由創造和開拓性。
就目前來看,我和我身邊同事都還沒有感受到會被 ChatGPT 取代的威脅。但我覺得未來幾年程序員招聘門檻變高是很有可能的,零基礎轉碼上岸的這種概率會大幅降低。
Leo
公司:矽谷某 C 輪創業公司
職位:後端工程師 工作年限:7 年
" 它可以作為輔助工具提高開發效率 "
我是去年年底 ChatGPT 剛推出時我就去試用了,說實話當時确實有震撼到我。最大的不同就是我在跟它對話的過程中,無論是語言交流的流暢度、語氣語調、反應時間、談話内容的深度和廣度,我第一次有一種在跟人對話的感覺。就感覺如果給它加上聲音,可能就會比較貼近鋼鐵俠裡的賈維斯了。
當然我後來也不斷嘗試用它來生成和解釋代碼,發現它在以下幾個方面的能力很突出:一是代碼的理解能力。我曾經在 Stackoverflow 上随便截取了别人貼的一段代碼,然後要求 ChatGPT 用自然語言去解釋這段代碼,在沒有上下文的情況下,它能夠快速并準确給出描述。二是改進、重構或簡化現有代碼的能力。基于它的代碼理解能力,它能夠根據你現有的代碼來幫你很快找出一個更高效、簡潔的替代方案,或者根據你的指令進一步完善,這一點是讓我印象很深刻。三是解決問題的思維能力。對于那種比較基礎的問題,ChatGPT 短時間就能生成完善的方案,給出它思考的邏輯和步驟,甚至還能給出幾種不同思路的解法供你選擇。
因為 ChatGPT 所體現的這些能力,剛開始的時候我感覺非常驚豔,但後來随着問題的深入和複雜化,ChatGPT 的錯誤也開始逐漸顯現出來。
圖源:谷歌公共圖庫
其實從目前我自己的日常工作來看,我和我身邊同事幾乎都不會在工作中用到 ChatGPT,更不會直接來用它生成代碼。主要原因有幾大方面,首先 ChatGPT 是基于互聯網數據訓練的,但我們在工作中很多需要用到的資料或者工具都隻局限于公司内部,這些資料ChatGPT根本沒學過,所以也無法産出直接拿來可用的東西。還有就是大家都知道當它遇到複雜問題的時候它都在一本正經的胡說八道,與其去花時間去查驗和修正它給出的解決方案,不如自己去寫。而且如果隻是為了提高寫代碼的效率,很多公司内部其實早就在用自動填充、自動聯想的代碼輔助工具,這些工具是公司基于内部的資料和代碼庫開發的,所以針對性和準确性都更強,所以也不需要去使用 ChatGPT。
就目前來看,ChatGPT更多扮演的還是一個Dictionary的角色。就是一些過去我會去 Google 搜索或者去 Stackoverflow 上找的問題,現在我都會先選擇去問一下 ChatGPT,它能夠幫我節省大量的檢索和驗證時間。
最後,關于 ChatGPT 之類的 AI 工具會不會取代程序員這個問題,我覺得在至少在未來幾年裡不會大範圍的取代,它可能會更多的作為一個輔助的工具來幫助提高工程師的開發效率。但影響一定也會循序漸進的發生,那些重複性工作比較多的崗位很有可能會被 AI 徹底淘汰,比如簡單的前端網頁開發、CRUD 類的工作或者部分數據分析類的工作。
對于 Senior 級别的程序員來說,雖然可替代性不是那麼強,但崗位精簡或許也在所難免,比如過去需要 2、3 個人做的事情,由于有了 AI 的幫助現在一個人也可以完成。而且如果行業一直保持當前這種火熱度的話,在資金的支持下,技術的進步速度可能會比我們想象的還要更快,很有可能 10 年之後,已經不存在所謂的 Junior 程序員了,你的水平至少要達到如今的 Senior 以上才能進入這個行業。
Shawn
公司:亞馬遜
職位:後端工程師 工作年限:4 年
" 它對程序員提出了更高的要求 "
首先我認為 ChatGPT 在對自然語言理解方面的進步是讓人印象非常深刻的,很多情況下你隻需要輸入一個比較模糊的指令,它就能給你返回準确的答案。而這種卓越的自然語言理解能力更重要的意義是給很多非技術人員打開了一個能直接去感受最前沿人工智能能力的通道。但也正是因為有很多從未接觸過人工智能技術的人參與進來,這種能力帶給他們的沖擊是巨大的、極具颠覆性的,所以也讓大家目前有些過度 " 神化 "ChatGPT,進而造成了大家的廣泛焦慮。
雖然 ChatGPT 取得了很大的突破,但真正要廣泛應用于科技行業之中還有很長的一段路。因為每個公司的開發系統都相對封閉,如何無風險的集成、生成代碼的質量是否合格、使用成本究竟多高還都是未知。我的觀點是ChatGTP 或其他人工智能工具不會直接取代程序員,但未來那些能夠熟練使人工智能工具的程序員可能會取代其他程序員。
我之前看到一張圖覺得很形象,就是說 ChatGPT 就像是出現了一個挖掘機來代替鏟子一樣,仍然需要人來執行挖土這個過程,但對挖土的人提出了更高的要求,他需要去學習如何操作挖掘機,而那些隻能做體力勞動的人就會被淘汰。
圖源:源于網絡
ChatGPT 也是一樣的,它的出現不是要淘汰程序員,而是對程序員提出了新的要求。雖然現在看起來好像通過描述就能讓一個技術小白生成專業的代碼了,但對于這些代碼你不可能照單全收,至少需要具備判别 ChatGPT 返回答案正确性的能力,也就是說當你不具備一定的技術能力,你也絕不可能做出超出你能力範圍以外的創新。
但在同一技能水平上,能夠善用 AI 的技術人員肯定會比其他人更有效率、更有優勢。我自己在用 ChatGPT 之後,覺得目前至少自己應該提升是學會如何提問題的能力,把你想要解決的問題描述的越清楚,AI 能返回給你的答案就越準确。另外就是在系統設計、與人交流溝通這些人工智能比較難替代的部分培養核心競争力。
Matt
正在找工作
職位方向:前端工程師
" 用了 ChatGPT 後我更沒信心了 "
ChatGPT 的出現其實對我産生了挺大打擊的。我之前是在教育行業工作,前不久剛上完轉碼的課程最近正在找工作,本來最近行業就業形勢就不好,在用了 ChatGPT 之後就更沒有信心了。
我之前寫一個靜态網頁可能要用一兩天,但後來我發現用通過描述讓 ChatGPT 幾個小時就可以生成一個差不多的靜态網頁,而且它還會把 Html、CSS 的代碼都寫好,我對比了一下有些地方寫得比我精簡多了。Javascript 部分本來我學起來和用起來就比較吃力,比如調用 API、使用一些函數都要花不少時間去查詢和寫,但我發現那些問題 ChatGPT 都能輕松解決。
我不太清楚有經驗的程序員他們的感受如何,就我自己目前的能力來說我覺得 AI 确實能取代我。但因為目前 ChatGPT 這種工具還沒有大規模的應用于行業之中,目前我自己的想法還是繼續投投簡曆,把 ChatGPT 作為一種學習工具。ChatGPT 現在就像是我的一個老師一樣,我可以從它給出的答案中去開啟思路,同時也能減少大量過去我在網上去提問和搜索答案的時間。
那麼,你們認為程序員會被 ChatGPT 取代嗎?除了程序員之外,ChatGPT 會對其他行業帶來什麼沖擊,什麼樣的職位最有風險?歡迎大家留言讨論!
注:封面圖來自于谷歌公共圖庫,版權屬于原作者。如果不同意使用,請盡快聯系我們,我們會立即删除。