前言
隨著 ChatGPT 的橫空出世,給全球帶來了巨大沖擊,各種大語言模型如雨后春筍不斷出現。國外如谷歌 Bard、Anthropic 的 Claude,國內如百度文心一言、阿里通義千問、訊飛星火認知大模型、昆侖萬維天工大模型等。
現在的大語言模型比以前的模型的代碼生成、代碼解釋能力有了質的飛躍,很多程序員已經開始使用大語言模型編寫代碼,因此很多人認為 “程序員將會被 AI 所取代”。
程序員將被淘汰?
“程序員將被取代” 這個話題并非在最近 AI 火爆之后才被提出。之前低代碼的出現,很多人就已經開始討論程序員是否被淘汰了。然而,低代碼雖然可以提高編程效率但并不能滿足復雜場景、不夠靈活甚至不夠安全,并無法真正取代大多數程序員。
我認為,目前說 “程序員將會全面被 AI 所取代” 也為時尚早,但僅會 CRUD 的程序員或將面臨被淘汰。如果你是打字員,如果 AI 不斷發展, AI 的語音轉文字的識別正確率比一些初級的打字員還高,那么初級打字員就面臨淘汰。現在 AI 代碼生成能力已經很強,簡單的 CURD 或將被 AI 完全取代,因此如果你僅會 CRUD 其他能力都很弱,很容易被淘汰。
但從目前看來也會存在多種因素導致很多高級程序員還不會輕易被取代。
首先,目前大模型代碼生成能力仍然有限。現在大模型雖然具備生成代碼、解釋代碼甚至優化代碼的能力。但是目前主要停留在“函數”維度,尚不能很好地生成類維度、模塊維度、項目維度的代碼。而且生成的代碼也會存在各種問題,比如存在錯誤無法運行,使用了過時的類庫,存在一些潛在的 BUG 等。生成的代碼依然需要人去優化、去部署驗證等。復雜的任務,還需要人去拆分成大語言模型能夠輕松勝任的粒度。
其次,數據安全的限制。很多公司,尤其是大廠特別重視數據安全,不允許將公司的業務機密泄露給外部大模型,不允許用戶將公司代碼暴露到外部環境中,因此大模型在大廠的應用受限。通常只用來生成一些簡單的類似工具類的代碼或者其他沒有業務屬性的代碼。
再次,自研模型能力限制。雖然現在很多大廠已經開始自研大模型,但是目前不管是數據、還是 GPU 資源還是模型能力和國外大模型相對還有很大差距,目前即使開放給員工使用,雖然可以提效,還很難形成足夠的生產力。
最后,編碼只是整個軟件生命周期的一環。軟件開發還包括需求分析、技術方案設計、編碼、測試、運維等環節。很多時候決定軟件成敗的是編碼前,需求的提出和分析,技術方案設計。尤其是需求階段,涉及大量的人際溝通,需要人去排優先級,需要人去爭取資源,需要人去和產品經理反復對焦需求,編寫好的代碼需要人去驗證,寫好的程序需要測試去驗收,需要運維去部署等。
路在何方?
3.1 趨勢不可逆,盡早掌握工具提高效率
現在 AI 時代已經來臨,就像工業革命出現了蒸汽機、發動機一樣,必將對諸多行業產生深遠影響,已經呈不可逆轉之勢。
很多人會說現在大模型存在很多缺點,比如存在幻覺問題、推理能力還比較弱等問題,但就像駕駛汽車也可能發生事故一樣,我們并沒有因此放棄開車,因為我們能夠意識到他給你帶來的便利。而且恰恰是因為大語言模型的不完美,我們才沒那么容易被淘汰。如果有一天產品經理設計好需求文檔,AI 就可以自動寫代碼,自動修復問題,自動部署,或許程序員真的就要失業了。如果有一天 AI 可以產出比產品經理更好的需求文檔,或許產品經理也將被取代。
現在身邊已經有很多人開始使用大語言模型來學習技術,編寫代碼,尋找思路、輔助解決問題,也有很多業務團隊開始用大模型解決業務問題。AI 極大縮短了掌握知識的路徑,一些需要讀很多書、看很多專欄才能搞懂的知識點,讓 AI 工具給你舉例子,給你用通俗易懂的語言來解釋,可以快速、系統地掌握。一些看似并不復雜的代碼,如果你自己去寫可能要寫半小時, AI 則可能一兩分鐘就搞定,而且 BUG 還更少。很多之前苦思冥想,找不到解決辦法的問題, AI 可以快速提供很多候選方案,幫助做出更完善的方案。以前排查十幾分鐘,幾個小時甚至幾天都解決不了的難題,有了 AI 的加持,很可能幾分鐘就解決。
有了 AI 的加持,有極少編程經驗的人,通過提示詞就可以“寫出”比很多初級工程師更優秀的代碼。有了 AI 的加持,一些非英語語言的國家的人,也可以寫出地道的英文文章。AI 在這個時代,給很多行業帶來無限可能。
因此,在我看來,“不是 AI 取代人類,而是使用 AI 的人淘汰不會使用 AI的人,善用 AI 的人取代不能善用 AI 的人。” 如果把我們比作馬車夫,那么大模型可以看做是汽車,我們不應該抵制汽車,而應該學好駕駛技術,成為一名“老司機”,用它來為生活和工作提效,用它來賺錢。
3.2 警惕“物極必反”
先思考再問大模型
很多人都有這種體會,自從學校畢業之后很少直接動手寫字,生活和工作中更多地是通過鍵盤打字甚至語音交流,經常會“提筆忘字”。這就是所謂的“用進廢退”。
同時,很多人也已經觀察到,現在越來越多的人開始沉迷于抖音、快手無法自拔,主要是因為這些平臺具有強大的推薦算法,通過分析你的喜好,推送更多你喜歡的內容,讓你只沉迷其中,同時也在強化你的“偏見”,值得警惕。
如果我們很多事情,不能夠先思考而是過度依賴大語言模型,那么我們的思考能力會下降。然而,人相對于 AI 更具優勢的能力就是創造力、提出問題的能力等等。如果思考能力下降,我們很容易被 AI 所左右。
因此,當你遇到問題時,建議首先自己去思考如何處理,如果自己短時間內解決不了,再嘗試問 AI ,再解決不了再去請教其他人。當你需要做一些設計時,一定是先自己去思考方案,然后再去讓 AI 給你一些建議,不斷豐富你的方案,這樣才能形成良性循環。
提高信息辨識能力
以前“遇事不決,問谷歌”,現在是“遇事不決,問 AI”。自從用了一些先進的 AI 工具后,我已經很少再使用搜索引擎了。之前的搜索引擎更多的是充當檢索工具,給你一堆相關的資料讓你去提取、分析,效率較低。而現在的 AI 更多的是真正回答你的問題。
但是現在大語言模型也存在“毒性” 和 “幻覺”問題。如果大模型生成的一百句中摻了一句假話,如果大模型生成看起來非常正確的內容,假如我們缺乏專業知識,缺乏辨別意識和能力,很容易給我們造成負面影響。
很多人會說:“AI 時代來了,不需要深入學習計算機理論了”,我認為恰恰相反,只有學好計算機相關的理論和技術,才能夠提高對 AI 生成信息的辨識能力,才能享受 AI 帶來效能提升的同時,降低其負面影響。
3.3 抓住風口,思考如何和業務更好地結合
正如第一部分拿汽車舉例一樣。AI 時代雖然已經來臨,現在大家都知道 AI 是一個風口,都領略了 AI 的巨大效率提升,但是人們的設計理念還停留在上個世代,都在將 AI 生搬硬套在原有的產品體系中,就像直接把發動機安裝在手推車上或者直接安裝在自行車上一樣。
當我們思考如何將大模型和業務結合時,不能無腦地直接將 AI 套到業務上,需要去思考哪些任務適合使用大語言模型,哪些任務工程化的方式會比大模型成本更低而且效果更好。就像飛機、高鐵更快,但是自行車、汽車、地鐵依然應用很廣泛一樣,不同的技術用各自擅長的領域,對于復雜任務通常需要多種方式相結合。
另外把大模型和業務相結合時,需要去思考一種更創新的模型和業務的融合方式。如果把模型比作發動機,我們在做融合時,不應該思考 “怎么為自行車直接安裝上發動機”,而應該重塑框架,去“發明汽車”,給汽車配上“導航”,加上“空調”,從手動擋升級到自動擋,甚至加上“輔助駕駛”、“自動駕駛”等功能。
在落地大模型和業務相結合時,需要盡早制定大模型可開始工程化的標準,不斷優化模型并驗證效果,當達接近這個標準時再去開發工程化鏈路,可以少走很多彎路。
此外,我發現現在搞大模型算法的同學相對緊缺,而且隨著大模型開放 API,模型的訓練平臺上手復雜度也越來越低,已經有很多后端甚至前端開發同學打破職能邊界,開始學習甚至已經動手對大模型進行訓練和調優,來提高模型迭代的速度,更好地服務自己的業務。對開發同學來說是一個很好的機會,但這個過程中,建議一定要有專業算法同學來指導,很多算法問題和工程問題存在很大差異,需要專門學習。舉一個簡單的例子,在一些模型訓練過程中需要一些人工標注樣本,然而專業的算法同學眼中常識性的知識:樣本量要足夠大、樣本質量要高、樣本最好更多樣性、不同類型的樣本應該盡可能均衡。對于剛開始接觸模型訓練的開發同學來說可能并不了解,造成花費大量時間造了大量人工標注樣本,但是很多質量不高或者缺乏多樣性,事倍功半。
3.4 增強不容易被 AI 取代的能力,至關重要
在 AI 時代,很多簡單明確的任務將會被 AI 所取代。
那么,我們將何去何從?
在我看來,在這個 AI 時代,很多相對簡單的任務都將被 AI 所取代。新的時代需要學習新的能力,想要取得競爭優勢,需要我們堅持學習,甚至終身學習。就像我們的父輩,需要“跟上時代”而去學習使用移動支付學習使用微信一樣,在 AI 時代,我們都要學好提示詞才能更好地利用大模型解決問題。未來或許不需要寫復雜提示詞,但也將會有很多新的技術出現,也需要我們持續學習。
當一些曾經需要較大成本學習才能掌握的能力,通過 AI 可以更高效實現時,低端的 “CURD 程序員”很快將面臨淘汰。因此,我們需要特別加強那些不容易被 AI 所取代的能力,才能更不容易被淘汰,才能獲得更大的競爭優勢。包括但不限于:提示詞技巧、產品思維、創造力、泛化推理能力、提出問題的能力、溝通表達能力、復雜問題的分解能力等。
可能很多同學要問,該如何掌握這些能力?
有些能力需要我們在日常的工作中去培養,需要我們去主動思考慢慢積累,比如產品思維、提出問題的能力等。
有些能力可以通過 AI 快速學習然后通過不斷練習來掌握,比如溝通能力、復雜問題的分解能力等。AI 時代,我們要學會利用 AI 來學習。我們可以將資料上傳給 AI 然后直接通過對話的方式來學習。不懂的知識,也可以直接讓 AI 給我們解釋,讓它給我們舉例子。比如你想提高工作中的溝通能力,可以讓 AI 介紹一些常見的溝通技巧,可以讓 AI 給你解釋什么是“非暴力溝通”;比如你想提高自己的表達能力,可以讓 AI 給你介紹一些表達技巧,讓 AI 給你解釋什么是 ”結構化思維”,以及“如何實踐結構化思維”,并在工作中“刻意練習”。
如下面就是針對 “如何讓自己的表達更加結構化?” 這個問題,AI 給出的建議,非常具有參考價值:
要讓自己的表達更加結構化,可以遵循以下幾個方法和技巧:
1.明確主題:在表達前,先明確你要傳達的主題或中心思想。這有助于確保你的內容始終圍繞主題展開,避免跑題或拖泥帶水。
2.制定大綱:在開始寫作或演講之前,先制定一個簡單的大綱。列出要點和主要思路,然后按照這個大綱來組織你的表達。
3.段落分明:確保你的表達以段落為單位,每個段落都應該有明確的主題句,并圍繞該主題句展開。
4.使用連接詞:連接詞能夠有效地把你的表達銜接在一起,使內容更加連貫。例如,“首先”、“其次”、“最后”等詞語可以很好地引導讀者或聽眾理解你的思路。
5.給予例證:無論你是在寫作還是演講,通過提供具體的例子和案例來支持你的觀點。這樣可以使你的表達更加有說服力和可信度。
6.避免啰嗦:簡潔明了地表達是結構化表達的關鍵。避免使用冗長的句子或重復的詞匯,保持內容精煉。
7.段落過渡:確保段落之間有明確的過渡句,幫助讀者或聽眾理解不同段落之間的聯系。
8.注意語法和標點:良好的語法和標點符號使用是表達結構化的基礎。請確保使用正確的標點和語法規則,以避免歧義和混淆。
9.反復修改:寫作是一個逐步完善的過程。寫完初稿后,反復修改和潤色你的表達,以確保邏輯清晰,信息有序。
10.練習:結構化的表達需要時間和實踐。多進行寫作和演講練習,逐漸培養對結構化表達的習慣。
通過采用這些方法和技巧,你可以逐漸提高自己的表達能力,使其更加結構化、清晰和有條理。
建議大家想培養某個能力時,直接問 AI 知道它是什么,為什么,知道該怎么做,并且在工作中靈活運用即可。
總結
現在的 AI 大致是汽車的自動擋或者輔助駕駛階段,更多的作為一個提效助手。
不要抱怨 AI 的不完美,正是 AI 的不完美,我們不那么容易被淘汰。
在大家都用大模型的情況下,多去發現更多應用場景,多去掌握提示詞技巧,發揮大模型的價值,在 AI 逐漸普及的今天,多去培養和加強人相對于 AI 更有價值的能力,持續學習,才能在這個時代獲取更多的優勢。
你認為 AI 時代,我們如何抓住這個風口?我們還需要增強哪些能力?
審核編輯:劉清
-
gpu
+關注
關注
28文章
4777瀏覽量
129360 -
AI芯片
+關注
關注
17文章
1906瀏覽量
35217 -
ChatGPT
+關注
關注
29文章
1570瀏覽量
8067
原文標題:AI 時代,程序員的出路在何方?
文章出處:【微信號:AI科技大本營,微信公眾號:AI科技大本營】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論