我對 AI 潮流的一些看法

近年人工智慧話題那是相當火熱,各種生成式 AI 衍生產品是後浪推前浪般的推陳出新。 除了生成口語聊天般的話語,天馬行空的圖片和影片之外,其中也包括了程式碼; 就是透過一些相較簡單得多的提示要求,讓 AI 來幫我們寫出程式碼。 那麼程式設計師的外來將何去何從呢?

程式設計,這在傳統印象中得要經過漫長學習過程才能掌握的一門技術, 現在卻好似能讓一個沒有相關學習和經驗的普通人,就像個老闆似的用自然語言提出一些簡單的要求, 就能讓 AI 自動生成那些在傳統上需要相當專業能力才能夠完成的程式碼。 這些現象很快便使許多人產生了一些疑問: 程式設計師的專業是否已正在走向沒落? 曾經高大上的專業能力是否在未來將不再具有高價值? 程式設計師的工作是否將會被 AI 所取代? 而現在的新生代再投入經歷去學習程式設計這門專業還有意義嗎?

雖然說對於沒有發生的未來是誰也說不準,我也不是占卜大師能給出個斬釘截鐵的斷言, 但作為以程式設計為吃飯專業打混多年的程式設計師來說,我對這個話題有些自己的看法。 也許在若干年後可能有機會再回來看看當下的我分析的有多麼準確或不準確, 但撇開預測占卜屬性的部份, 我認為論述的內容和思考的方向應該還是能夠在這個時間點上給予讀者相當的啟發。

投資市場

雖然我本人的感想看法,及本篇所設定的焦點話題都集中在程式開發的部份, 但在開始之前還是想先來聊聊我對人工智能這東西在投資市場上掀起的這些波瀾。

一句話破題,我認為人工智慧的話題大多是投資炒作的成份,且目前已經是大大的泡沫跡象。

但我可不是反對人工智慧喔! 近年人工智慧的發展確實突飛猛進,人工智慧也確實存在卓越的價值和應用的潛力, 然而這並不反對我說人工智慧在當前更大的成份在於市場的炒作泡沫。 如果不知道我此番話是什麼意思,那就請回顧約 2000 左右那時候的網路泡沫事件。 那個時候網際網路也曾掀起一陣狂潮,市場話題與投資等炒作熱度不亞當今, 然後泡沫崩盤,股價一落千丈……。 這些有關的歷史目前都還有很多資料可以查詢,維基百科等等也都有相關記載輕易就可以查詢。 那麼你說網際網路難道是沒有用的東西嗎? 我們以現今的事後諸葛來看,可不只太有用了,甚至難以想像如果沒有網際網路的生活! 但是那個時候有關網路的知識、話題、與應用等大都還留在非常淺層的表面, 許多相關的實用應用還未出現,商業獲利模式也還未被摸索出有效穩定的方案, 甚至於大部份的人對於網際網路的內含一知半解或不明不白,就跟著瞎起舞投資, 甚至那時許多公司僅僅只是註冊了一個公司的網站名稱就可以吸引一群人的吹捧投資,讓股價一飛沖天。 在了解當時這樣的情況以後,應該對於網路的盛況為什麼後來會破滅並跌落谷底的發展就不再有疑惑了吧! 網際網路確實有價值,且有大價值,因此在網路泡沫破滅之後的數十年仍然穩定發展茁壯,直到今日的景象; 然而這並不衝突它在當時的過度泡沫現象,以及後來的大崩跌事件。 而當前的人工智慧,其實也是一樣的!

程式設計師將被 AI 取代嗎?

現在好多人都認為(或者可能沒有絕對的認為,但也許是不安且疑惑) 程式設計師這門專業與這個職業已經被 AI 給侵蝕,並將在未來被取代!

對於這點,作為一個長年混跡在軟體開發領域吃飯的程式設計師, 也許我對 AI 的理解掌握可能不像正在這個領域的研究員那般透撤, 但就以我對程式設計本身的理解認識,我可以簡短的給出我對這樣的疑問的回答: 「程式設計師這門專業、與這項職業,永遠都會有需求, AI 可能在一直到真的能夠像真人那樣思考之前,取代不了活生生的程式設計師; 但是如果程式設計師排斥、或不接受學習 AI 的話, 那麼將來就算不被淘汰,工作可能也會很吃力!」

要了解上述這番話的邏輯與思路,就不得不更加深入點來了解人工智慧, 並看看當下人工智慧應用在軟體開發領域的情況。

當前最大放異彩的人工智慧,也就是以類神經網路為骨幹原理的一眾 AI 演算法與產品, 極度仰賴「訓練」這件事。 不熟悉電腦科學沒關係,讓我用更加生活化的說明來幫助理解。 訓練這件事是無論如何都需要的,對於我們人類也是,人也是從幼兒一路學習、訓練、發展為成人。 然而關於學習與訓練這件事,如果說人類是舉一反三的話,那麼人工智慧大約是舉百反三了! 為了讓 AI 可以識別並正確處理 3 種狀況,我們可能需要餵給 100 種不同的情境練習題給他學習(或稱訓練), 然後他才能夠識別並處理這 3 種情況; 假若遇到沒在他練習的題庫裡面出現的狀況,那麼他能不能夠妥善做出正確的行為,就需要依賴點天命了! 比方那些自動駕駛車輛容易撞上那些特種車輛的屁股, 就是因為那些少數的特殊車輛可能並不存在於自動駕駛產品的訓練題庫內,導致不能正確識別的情況。 那麼要如何解決像這樣的問題呢? 解決的方法也是極其簡單,把這些原本沒遇到的案例也通通蒐集一些,然後也加進題庫裡面一起學習訓練就好了! 那麼這些題目不是會愈加愈多嗎?是的。 於是你就知道為什麼神經網路人工智慧這麼仰仗計算資源和電力了吧?!

回到 AI 程式設計這件事情上。 網上早有許多人嘗試過使用 AI 工具來產生程式碼,也就是幫人類寫程式的例子。 只用一些看起來像是說人話的白話文提示詞,然後 AI 一通分析運作之後就產生出有模有樣的程式碼, 並且能夠被編譯執行,功能也大多看起來能夠很順利的運作。 就這樣,在傳統需要學習許多知識並經過數年學習訓練才能擁有的一項專業能力, 現在被一個可能連數位概論都沒學過的普通人,靠著幾句白話文,耗費幾秒鐘到幾分鐘的時間完成了! 那麼誰還會再需要花錢聘僱專業的程式設計師呢? 甚至於有過十年以上資歷的程式設計師還沒有 AI 寫程式寫得快呢! 于是乎,程式設計這門專業將要蕭條,程式設計師將要集體失業的這些想法,就在人們的腦子裡慢慢渲染開了。 然而我在這裡做個斷言, 如果誰看著這樣看似美好的願景而異想天開真的這樣付諸實行,用 AI 編程取代所有程式設計師的工作, 那麼誰就等著吃憋摔坑到死吧! 當然我下面就會解釋這麼說的原因,而這些原因是根本性的。 除非人工智慧能夠發展成真正像人腦那樣思考或甚至更好的程度,否則不可能取代人類去做程式開發。 也許這些事情在遙遠的未來能夠成真吧?但我們這個世代應該是看不到了! 並且如果 AI 真的能夠發展成那種程度,也許像程式設計師會不會被取代的這種小問題已經不值一提了, 也許更應該思考的是我們人類存在的意義為何的問題了!

AI 為什麼不可能寫好程式?

若是以玩玩的心態做嘗試,拿 AI 來產生一些程式碼,通常的經驗可能還算不錯,效果也能讓人感到新奇。 然而若是嘗試將 AI 用在真實的需求上,用來產生那些真實環境能運作的程式碼, 則將會發現它會顯現出很多各樣的問題,並且在規模愈大的程式專案裡面這些問題會愈加嚴重! 或者是整體效果不盡人意,或者是許多小地方小細節不夠嚴謹完整,或者甚至明顯的 bug 滿天飛。 為了解決這些問題,你得回頭增加更多的提示詞和限制條件,然後不斷反覆產生程式並檢查結果。 然後隨著提示詞的數量增加,產生程式所花費的時間愈來愈久, 並且有時候這邊好了那邊壞了,你得不斷的測試那些你早已經設定好並且早先可能並沒有問題的功能。 這些問題在足夠規模的程式專案裡就足以給你帶來充足的困擾, 而這樣的程式規模也不需要真的多麼龐大,只要一個稍有些複雜度且具有真正實際用途的程式設計就足夠踩坑了。 弄到最後,也許你會發現自己跳下去修改那些細節可能更加直接且快速。 在此做法之下,AI 編程實際上成為了一種程式雛型產生器,然後再靠手工修正和編輯細節; 然而作為一個雛型產生器,也就是架構、框架產生器,AI 編程真的足夠好嗎? 如果 AI 只能夠產生雛型結構,而還需要人類去做大量的調整調試,那麼程式設計師真的會被取代掉嗎? 甚至於,AI 產生的大框架其實也不見得比真正的架構設計師更加理想!

如果我們突破萬難,終於產生了一個還算不錯能用的程式碼之後,一切就萬事大吉了嗎?肯定不是的! 你的程式造好了之後就不需要維護了嗎? 你的客戶不會再有新的功能需求?就這一版程式能夠用到天荒地老? 不會在使用中發現什麼錯誤,或者產生什麼使用者意見反饋,而需要進行一些修改、修正、補強? 那麼這個時候,你也是讓 AI去修嗎?你確定它修的好?請別光嘴巴說行,請去實際實驗看看。 如果這時你選擇讓設計師人工去查詢和修改這些「小問題」的話,AI 寫的程式你看得懂嗎? 你的程式設計師們看得明白嗎?真的能知道如何修改正確嗎? 會不會到時候人工重寫過一遍比維護這個 AI 的程式碼反而還要節省時間啊? 這些都是實實在在且實際的問題, 也是我為什麼說任何人若只看著美好的願景就想要真的用 AI 替代人類設計師,那必然要踩大坑! (當然若你的程式實在規模很小很簡單,或產品是一次性的情況除外!)

此外類神經網路的 AI (雖然現在神經網路是當紅炸子雞,但 AI 並不只神經網路這一種)還有一個大問題: AI 的決策邏輯是個完全的黑箱,並且其行為具有一定程度的不確定性! 這問題在有些時候不太重要而有些時候相當重要,偏偏在程式設計上這問題是偏向影響比較大的。 有的時候我們需要非常明確且嚴謹的邏輯工作,舉些極端的例子: 核能發電廠的控制程式、飛機的飛行控制運算、或者心臟開刀手術的切割電鋸的控制程式。 在這許多的用途上,我們需要明確的什麼情況會發生什麼事情的邏輯,容不得半點含糊; 而在其它更大量的許多應用上或許要求沒有這麼嚴格,但不確定性的存在仍然是令人厭惡的; 然而黑箱與不確定性卻是類神經網路的本質宿命,無解!

面對我的這些評論,有些人嗤之以鼻並提出反駁! 他們承認我上面敘述的內容都是真實的,只不過那「只是現在的 AI 發展還不夠好罷了!」 這些「小問題」隨著演算法等科技的不斷更新疊代,終究會被解決改善。 然而我對此持悲觀的看法。 因為我所提出的內容,都是基於類神經網路本質特性而來, 除非從本質上得到突破的進展,否則本質特性不會有所改變。 那麼那些這幾年推陳出新的演算法都在幹什麼呢? 那些算法其實最大的價值在於「針對特定用途」改善訓練與推導的「效率」。 理論上而言,如果記憶體容量與計算力無上限的話,最樸素的類神經網路演算法足以處理所有的 AI 題目, 然而現實上這些東西都是有限而且相當有限的; 而這些推陳出新的演算法核心價值就在於,如何使用更高效的方式以數量較少的神經元達到數量較多的神經元的配置, 以及如何使用更高效的計算時間、和計算成本來完成這些運算。 這些演算法可以視為是優化算法的一種手段,並且這些方法絕大多數都是針對應用場景而進行的專項優化設計。 卷積式神經網路是如此,當代流行的各種大語言模型也是如此, 事實上計算機科學演變至今的許多耳熟能詳的算法都是如此,例如 FFT、紅黑樹等等。 如果沒有天才們發明的這些演算法,很多事情還能不能做得到? 能!只不過會需要花費可觀的資源與時間耗費,使得應用用途不見得接受得了。 舉個例子,二戰當年英國人使用原始的電腦破譯德國人的加密電報。 你說若沒有電腦,使用人手計算行不行? 行,只不過可能需要一年的時間破解一個每天都會更新密碼的加密通訊! 於是當某個演算法被發明出來,使從前某個因成本過大而無法實現的功能現在能夠被實現出來, 於是人們就會產生一種印象:「因為某算法的發明,所以實現了某從前沒有的功能」, 卻忽視了大部份的這些演算法其實都只是在計算時間與資源耗用的成本上面得到了改善,或者跳躍式的改善, 然卻從未顛覆掉根本性的原理!

那麼什麼時候人工智慧的改變會是顛覆性的,而使得我本篇的論述不再有效而需要重新評估呢? 那得要是從根本就不一樣的東西才行了! 未來會有什麼東西我說不準,那就看看過去的東西吧。 以最佳化演算法為例,梯度下降法、牛頓法、和黃金分割法都不是根本性不同的算法,但是基因演算法是。 如果未來發明了與類神經網路完全不同的新人工智慧,那麼情況可能會有所不同; 或者仍然是基於類神經網路的人工智慧,但是神經元數量能與人腦相匹配 (人腦神經元數量估計 500 至 1000 億個,每個神經元約能產生 1 萬個突觸連結,是目前的人工智慧遠不能達到的水準), 且能夠自主學習認知 (但若能做到這點基本已經屬顛覆性了,因為目前的人工智慧學習還是被動式的,你得塞題庫與解答來訓練), 那麼這樣的突破性發展才有可能完全推翻掉本篇的內容。

說了那麼多,那以類神經網路人工智慧進行的程式設計(或叫作程式碼產生)是什麼樣子呢? 首先神經網路 AI 需要訓練,需要大量的題庫與解答餵給它去做學習,然後它才能夠依樣畫葫蘆, 就像在本節開頭所說的那樣。 影像辨識是如此,自動駕駛車是如此,大語言模型是如此,能夠依據提示詞產生出程式碼的 AI 工具也是如此。 這就表示,如果 AI 要能把程式寫得好,必需要依賴擁有龐大的現成可供它參考學習的題庫, 然後它才能夠在很有限度的範圍內給你造出個像模像樣的東西出來。 所以如果你使用過 AI 工具產生程式碼就會發現, 用來產生一些小玩意往往很容易,但用來產生實用的大程式就往往千瘡百孔; 用來產生類似練習與驗證性質的經典算法很容易,但用來產生創新需求的程式往往就慘不忍睹! 於是這產生了一個悖論, AI 工具往往只能妥善處理那些已經擁有龐大題庫範本存在的需求,而對於罕見或未曾出現過的內容並不理想; 問題是需要我們進行開發不就是因為沒有現成可用的東西而需要創新嗎? 如果我需要的東西早就已經滿大街都是了,那麼除了練習的目的以外,我還開發它做什麼呢?

AI 程式設計

也許至此為止的敘述可能會讓人覺得我反 AI,貶低一切人工智慧嗎?並不是的! 人工智慧是非常強大且有未來可能的東西,只不過是因為當前還在摸索成長時期, 許多人以錯誤的方式使用它,或者以錯誤的想像來期待它,才導致那些奇怪的現象以及處處掉坑的陷阱。 但就像我在本篇開頭所說,AI 作為一個非常強大的工具,是未來世界不可或缺的一項重要組成, 如果我們拒絕它、排斥它,而非學習它、擁抱它, 那麼即便程式設計師的職業仍會存在且仍有需求,即便我們不至於被取代掉,但也是會很辛苦的! 因此這裡要來談談,我所認為的正確使用 AI 進行或輔助程式設計的方向為何。

前面已經解試過基於類神經網路的 AI 的特性, 這種 AI 的「聰明」需要仰賴既有題庫與解答,即所謂「訓練資料」,而且是非常龐大的資料才能夠成就。 這項特點直接導致 AI 並不適合去執行原創想法功能的實踐,反而相當適合執行已經成熟且有大量案例的分析判斷。 在這項推論結果上,妄想自己不用學習程式設計就拿個 AI 去產出程式碼, 妄想不用卷養程式設計師而就拿著 AI 來製造公司產品的領導們,自然是不切實際的。 那麼 AI 應該怎麼用呢?答案是拿來分析判斷工程師們寫出來的程式碼! 比如檢查程式碼是否符合某種要求的規範,分析是否存在可能的弱點缺失等等。 事實上已經有許多有規模的軟體工作室和公司組織這麼使用了, 使用 AI 取代以往要由人工進行的檢查審查與分析判斷,節省了大量的時間,避免人性的偷懶心態影響, 也解放了程式設計師的大量心力,讓他們可以把精神花費到更重要的地方去。

其實像這樣的程式碼分析需求早已存在且有相關的工具,例如編譯器輸出的各種警告訊息就是! 請別受到近年火紅的神經網路人工智慧刺激,就覺得只有神經網路才是人工智慧, 事實上人工智慧有好多不同種類的原理方法,比如專家系統等。 編譯器在分析和編譯你的程式碼的時候所輸出的那些警告訊息,其實就是人工智慧的一部份, 它在試圖使用程式的方式去分析尋找那些你可能疏忽掉了的風險。 並且這樣的功能一直在不斷疊代更新,從早年只有那些很明顯的問題才會給出警告,或甚至可能經常誤判亂給警告, 到現代不只誤判率降低,常常還能指出比較不明顯的引發警告的源點,並有時還能給出修改建議; 而類似像這樣的程式碼分析判斷檢查分類和提示等的功能需求,正好就是神經網路 AI 最擅長的工作。

除此之外,AI 也同樣非常適合用來產生程式碼,也就是寫程式的工作! 看到這裡你會不會突然想跳起來說: 「等會!剛剛不是才把 AI 自動生成程式碼給劈的亂七八糟的嗎?怎麼現在又適合了?!」 其實 AI 本來就是非常強大且具有潛力的工具,只不過目前常見的問題常是用法錯誤或期待錯誤而已; 而如果以更加符合 AI 特性的方式來順著它的毛使用的話,使用 AI 來產生程式碼不只可行,還如虎添翼!

目前使用 AI 產生程式碼的最大問題,在於我們人常想把 AI 也當成人一樣, 給它一些需求提示字,然後讓他把整個東西做出來。 這件事情也許說不定在遙遠的未來真的可行吧, 不過至少至少也要 AI 的神經元數量能夠與人腦相比擬的程度才有可能能夠期待! 那麼我們該怎麼正確的使用它呢? 最關鍵的地方就在於我們得拆分問題,將我們的需求從一個一整體拆分為多個獨立的小東西,然後分別完成它們。 是的,就是這樣簡單樸素而又基本的,而且已經早在數十年前就已經奉行在程式設計領域的「模組化設計原則」。 我們要把一整個大程式拆分成數個獨立的大模組,由它們共同協作並組成一個大整體的運作; 然後這些大模組本身又同樣被拆分成數個中模組,中模組又被拆分成數個小模組,小模組再被拆程更小的模組……。 當每個模組都足夠小巧且功能單一的時候,無論你是想用 AI 生成或是想自己動手寫,困男性都大大降低; 甚至你會發現有許多小東西早已存在現成的方案,連寫都不用寫,直接拿來用就好了。

其實拆分問題並限縮問題區間的這樣手法是非常好用的,也是解決許多複雜問題的決定性手段, 並且其實早已實行在許多應用領域上。 例如卷積式神經網路就是針對影像辨識的需求,將數層神經網路拆分,然後編組起來專心解算某一小部份的特徵參數, 然後它們所計算分析出來的結果又會被更高邏輯階層的其它神經層分組去做分析解算, 建立在前一組的分析結果之上進行邏輯層級更高的特徵分析。 又比如最近這一年出現的幾個令人耳目一新的大語言模型, 其實也是透過拆分分組並個別處理某個子問題後再整合起來的手段, 而節省了大量的計算資源與算力,並因此做出了其他對手做不到的功能表現。 又比如類神經網路的靈感之源:人與動物的大腦,其實也同樣是靠著拆分任務的方式來節省運算量或提高反應速度。 例如小腦專職運動協調而不負責思考,又例如大腦的許多模糊的功能分區分別活躍於不同的任務需求等等; 或又例如某些小節肢動物甚至將許多運動反應集中在身上幾個神經結快速完成,甚至這些指令都不需要發送到頭部等等。 總結而言,將問題與任務拆分並分組完成,是所有解決複雜大問題的必要策略, 並很可能也是在考量現實資源的情況下能夠達成的唯一策略!

回到程式生成這部份, 當整個問題被拆分的足夠小規模時,因為複雜度大大降低,功能也足夠單純。 這時不只提示詞的編寫不再需要使用者抓破頭腦,AI 生成的成功率還大大提高,結果的可靠性也同樣大大提高。 (或者換句話說,更不容易產生出讓你驚嚇的結果!) 把整個程式拆分成更加細碎的模組,不只對 AI 來說負擔更低,也更加容易遇到可以套用既有經典算法或框架的機率, 整體而言就是更加能夠在合理且可預期的程度內去處理並產生出可用的模組。 然而這又帶來了另外一個要求,這方法要求使用它的人能夠: 一、將自己的需求合理且有邏輯的進行拆分; 二、將產生出來的模組進行驗證與組裝整合。 發現事情沒有?這種高可行性的方案依然要求它的使用者需要對程式乃至軟體系統擁有相當程度的知識儲備與經驗! 綜然現實上確實也有人嘗試使用 AI 來自己對自己進行拆分、分別建造、再自己對自己整合, 然而整體而言它還是要求了使用者需要對整個大綱、規格俱備檢查審核和調整的能力; 換句話說,要把 AI 生成用的好、用的實際,你還是得要懂電腦如何工作、程式如何思考, 也就是說你還是得要會寫程式!

然後你又會發現,這樣一弄下來,AI 其實又是一個程式產生工具。 它不能代替你做思考佈局和決策,但可以嘗試把你提出的要求填充細節並落實為可用的成果; 當需求足夠簡單清晰的時候,它才能夠比較可靠的做出你所預期的結果。 也就是說,AI 的程式碼生成工具其實也就等同於嶄新概念的編譯器(Compiler)! 與現有以及歷史上的編譯器相同,它透過接受你的提示詞來試圖了解你的意圖,並將之轉換為電腦能看得懂的機器碼, 只不過以往的編譯器相較比較一板一眼層次低, 而 AI 編譯器基於自然語言,可以領會的程次更高些,處理排佈的層級更高階。 於是它仍然像曾經的其它編譯器一樣,需要使用它的人擁有足夠程度的能力才能良好駕馭, 也就是說一個真正什麼都不懂的小白妄想把 AI 當成個人來幫他寫程式,通常的結果那恐怕只會相當悽慘! 而最終,AI 並沒有取代程式設計師,而是成為了一門(或數門)新的程式語言! AI 程式語言是基於自然語言的程式語言,使用與以往全然不同的概念來編寫程式, 也就是透過要求提示的方式來讓工具理解並產生結果,然其依然承擔著與傳統編譯器一樣的工作: 分析判斷寫作者的意圖並產生出機器碼。

其實回顧歷史,類似這樣子在電腦領域產生顛覆性的、讓人驚艷的發明已經不是第一次了。 從第一臺通用型電腦問世,人類驚艷此後竟然可以使用同一臺硬體設備解決所有的計算需求, 而不是針對一個需求用途需要打造一臺專門使用的硬體設備。 然後是第一門高階語言的發明(Fortran),將程式編寫的困難性大大降低, 從此不是只有科學家可以掌握並使用電腦,而是連工程師也可以入手,並且能站在更高的層級去思考規劃程式結構。 再到後來的新生代程式語言如 Java、Python 等等等等如雨後春筍般輩出,再大大降低程式開發的難度, 讓人們驚訝曾經專業小眾的高端程式設計工作竟已成為連小學生都能入門嘗試的東西。 而現在 AI 程式設計興起,讓小學生都能接觸涉足自己也看不懂也不理解的專業功能並產出至少看似可用的成果。 雖然當前 AI 程式設計的領域還在摸索過程而還未足夠穩定, 但我們這代人將有幸站在一個新時代的開端,要看著它將如何成長成熟的過程。

結尾

總結而言,我認為使用人工智慧取代程式設計師進行程式設計的想法太過夢幻天真, 而其更加實際可用的用途在兩個方面: 一是使用它來作為程式碼的檢查分析工具,提早發現可能隱藏不易察覺的風險元素; 二是將需求拆分為更小的區塊以後再使用它來做程式碼生成的工作以確保其穩定可控與實用, 等於是把 AI 當成更強大的編譯器來使用,而 AI 程式生成也將形同於新時代的新型程式語言。 以上的分析判斷就是我作為一個程式設計從業人員視角下所得出的觀察與評論。 因為我也不是鐵口直斷預言家,且不能說絕對正確,只能說您自己參考看看! 讓我們再過十年後再來回顧看看我的分析對或不對。

也有些人會指出其他的新聞來試圖反駁我的論點,比如 AI 相關股票高漲,前景看好等等, 或比如矽谷許多科技公司都已經開始裁員程式設計師崗位等等。 關於股市的部份在我最開頭已經解試過了,而關於裁員的部份是確實存在的現象, 然而並不能夠直接的將其與「未來不再需要程式設計師」的推論畫上等號。 如同我在本篇論述的內容,程式設計的專業需求永遠(至少我們這代人有生之年的時間)存在, 而當前的裁員現象更多的因素其實是為了釋出在疫情時代超額僱用的需求, 以及為了 AI 的潮流而重新調整預算分配的企業經營行為。 至於在程式設計這項專業的需求上,或許存在一些比較勞動密集的「碼字員」被取代的現象, 然而專業的程式設計師仍然會在未來的好長好長一段時間之內被需要, 只是可能會逐漸轉型為「使用 AI 程式語言工具編寫程式」的程式員。 當然也不乏可能有些企業確實就是想要用 AI 來取代掉專業程式設計師的勞動,如同大家所想像的那樣; 那麼對於這樣的行為,我只能說未來肯定有大坑在等著他們!

最後再順便說一嘴一個可能被很多人說過的話。 有些人說未來 AI 愈來愈厲害,程式設計專業將失去它的價值, 因此學習程式設計已經成為一種無用的投資,也不建議現在的學子再去花費時間力氣學習程式設計……。 關於此番言論,詳細的分析都在本篇解釋過了,但若還是有人堅持這樣的想法,那……。 我只能說這樣的結果也是不錯,至少能讓我們在未來少點競爭者是吧!?

上一篇:「執行緒同步 17:本地存儲」