Embrace AI

Embrace AI

Date
Nov 4, 2021
Tags
Artificial Intelligence
AI
我本科是訊息工程,副修數學。一直也在金融科技行業打滾了很多年。雖然在職場待久了,不少同學都已經不再編程。都當上了業務分析,產品管理等等。編程可以說是很有趣,很有創意的工作。因為你會感覺自己在建造一些東西出來。就像玩 LEGO,有一種從無到有的成就感。但有時重覆敲同一段代碼也可以感覺很枯燥。因為例如做一個簡單的數列排序,你就要編四五行代碼。編的時候總會忘記語法,或會有 bug。這時要查不同網站參考,或可能要自己試跑程序多次才能找出問題在哪裡。這些都會打斷你的思路,令你沒有行雲流水的快感。是挺令人煩惱的。
最近我留意到 Github 推出了 Github Copilot ,號稱可以預估程序員想編的函數內容,然後會自動用人工智能給出建議。內裡採用到 GPT-3 引擎。這個引擎在推出時已經驚艷了不少人,甚至強大到令人產生恐懼感。當然作為一個程序員,我知道編程有一定的技術含量,我也不相信人工智能可以強大到能猜到程序員的心思。所以也參與了他們的 technical preview 下載了來一試。結果實在嘆為觀止。
notion image
我試了一下,最開始是我打 Sys ,它就馬上猜到我是想打 System.out.println ,即是把字符串打印出來的 Java 語法。這個其實很基本,一般的 IDE 也有這種 code complete 功能。再多試了一下,發現當我有一個數列,還未編下一步想怎樣做,它也會建議我用什麼代碼把這個數列排序,然後打印出來。感覺開始來勁了。再更厲害的是我隻是編了函數的名字,例如 public String multiply(String x , String y) ,隻是寫到這裡,系統已經把完整的十數行代碼幫我編了出來,做到兩個數相乘的函數。你可能在這裡會問,兩個數相乘很簡單,這 github copilot 也不算是很強大。內行的人看清楚我這個 method signature 就知道了,兩個字串相乘,而且字串有可能超長,是不能簡單轉化做數字 Integer 相乘的。太長的數字會有 overflow,所以這個函數要十數行,是每個位拿出來相乘,最後把結果組合出來。是要把小學時學的兩個大數相乘的筆算方法編出來。我覺得厲害之處是 Github copilot 簡單隻是看到這個 method signature 就能猜到程序員的心思,真不簡單。
這裡我提供一下 GitHub copilot 幫忙完成的代碼,全部由系統自動編寫的。我只是輸入了函數的名字,實在強大。
notion image
人工智能強大之處在於當數據量越大,它的效果越好。可想像越來越多程序員都把代碼放在 Github,那 Github copilot 也分析到越來越多代碼的寫法,它的猜測越來越準確。編程的水平會越來越高。離程序編寫程序,自我除錯,自我升級可能不遠了。
我退後幾步想了一下,其實這個模式套用到寫文章也可以。現時不少輸入法已經有 auto-suggest 功能。你可能打一個字,系統就能從上文下理及不同詞語的使用頻率推算出你想打的下一個字,讓你選擇。例如當你打出”選”字,系統會猜你想說選舉,選擇,選民,選手等。當然現在猜得不太準確,因為也沒有用上人工智能,估計隻是用上詞頻來推斷。如果日後發展下去,其實可以做到和 Github Copilot 一樣,做一個 Cowriter。當你打出段落的第一個字,系統就會幫你創作一整句,甚至一整段的文字內容。而且系統每次也可以有十個創作提示,如果這個不喜歡,可以選下一個。
再幻想一下,再發展下去,可能連數據輸入這一步都可以被人工智能取代。想像這樣的一個場景,人工智能透過路邊的監控鏡頭,辨識到一宗搶劫案。透過人臉識別,找到疑犯及受害人的一些背景資料。有了這些新聞原材料,就不需要記者了。最後再利用這些新聞原材料,編寫一段新聞稿。文章裡除了會描述這個搶勢案的基本資料外,還會自動建議讀者如何保護好自己的財物,及一些受劫後如何求助的方法。
有很多人覺得這實在強大得恐怖。這就是破壞性創新 (Disruptive Innovation)。過程中因為科技的進步,效率提升了很多。但同一時間也會引發一些社會問題。低技術工人會更難以競爭。我記得以前低技術工人可能指的是用體力勞動工作的人。在生產機器開始普及下,體力勞動已經不能與機器競爭。那時說經濟轉型是指轉向智識型經濟。現在人工智能技術越來越進步,一些簡單的文書工作經已可以被人工智能取代。現在更看到人工智能已涉及到如編程,寫文章,藝術創作等領域。我覺得在人工智能新時代下,社會會更加重視更高層次的工作。人類的工作要提升到做一些更複雜的決策,道德判斷,提供情感價值等。工作會越來越輕鬆,因為煩複的工作會有人工智能取代。但工作會升維,人們要做一些機器,人工智能不能做的事。
我也觀察到人與人思維上的差距可以越來越大。當社會上還有大批人從事低技術性性工作時,社會已經做了數次的轉型,不斷提升到下一個更高的維度。小時候讀書已經聽到一個詞彙,叫數碼鴻溝。就是貧富鴻溝以外,因為科技越來越發遠,掌握科技與沒有掌握科技的人的差距會越來越大。這也會影響他們的收入。在新時代,我們要升級自己的思維,擁抱人工智能。不能抱着與人工智能競爭的心態。就像你不會與一台車比速度。如果你的工作性質是會與人工智能直接競爭的,證明這已經是低技術性工作。以文章一開始的編程工作為例,編一個排序的最佳算法已經不是高技術性工作了。這是基本,人工智能已經可以輕鬆做到。程序員要做的是升級自己的工作到高一個維度,如何可以創造有價值的軟體。真實世界還未解決的問題,核安全,飢荒,癌症等,這才是下一步人類要集體聚焦解決的問題。