AI時代下普通小程式設計師的想法

2023-04-15 15:01:08

在我接觸了一系列AI技術後,不禁產生了許多思考。我先後嘗試了AI程式設計、AI寫論文、AI寫小說、AI繪畫等,最近看到了一些關於AI構建虛擬世界以及Auto-GPT的AI類新聞。在這個過程中,我心頭湧現出諸多疑問和想法。

首先,我不禁感到迷茫:傳統程式設計在這樣一個日益智慧化的世界中還有前途嗎?面對AI的崛起,未來的程式設計師該如何應對和適應?

其次,我開始思考人類與AI之間的關係。我們究竟是合作伙伴、甲方和乙方,還是像老闆與助手一般相輔相成?在未來十年,這個世界將會變得如何?人類、個體和無產階級將面臨怎樣的挑戰和發展?

要回答這些問題,我們需要憑藉對未來的想象。

(PS. 本文僅上面開頭部分由GPT潤色,其餘完全手打)

程式設計&科研領域

AI程式設計 VS. 傳統程式設計

基本上有點麻木了,最開始是震撼。前段時間,弄論文需要寫一些程式碼,我真是完全沒有思路,也完全沒接觸過AI類程式設計、什麼Pytorch一概不會,如果按照原始的方式,起碼得整個半個月,從瞭解,到稍微系統點的學,再到真正程式設計實現,還會遇到很多BUG。然後那個時候剛接觸GPT還沒有出4,還是3.5,基本上我藉助3.5半個下午就搞定了程式碼,而且我後面反覆調參,也沒有GPT給出的原始方案好。雖然存在一些隨機性。但這個僅僅是GPT3.5,4的準確性大大提高。

另外就是程式碼重構方面,以前維護的「屎山」,基本上難以人為的扒拉開來看,現在直接丟給GPT完事兒。

最近的Auto-GPT,本人也只是看了下新聞,好像大概意思就是隻需要一個想法就可以得到結果程式。

感覺上像是建立了「想法」->「實際程式碼」的直接對映。

而傳統程式設計則是「想法」->「可行性調研、技術選型等」->「各種學習嘗試」->「實際程式設計寫BUG等」->「實際程式碼」

速度方面自然不用說,可以說是徹底的「降維打擊」。有人說AI寫的沒人類好,這個真不一定。現在最前沿我不瞭解,但是仔細想下,AI不僅可以學習官方檔案和海量優質的網路教學,還可以學習大量成熟、優秀的開源原始碼。不管個體還是團體閱讀程式碼的能力應該都遠遠不如AI,而且鑽研原始碼是個「苦差」,做這事的人本身就是少數,甚至說老老實實看官方教學的都不是很多。個人感覺,未來,不管是頂層設計還是程式碼實現,AI吊打人類程式設計師都是遲早的事情。

總之,未來,傳統的「技術、經驗」可能不是重要的,唯一重要的東西可能只是「想法」以及「想法的質量」。甲乙方可能不再存在,因為甲方可以直接通過AI得到需要的結果,所需要的只是一個稍有程式設計知識和能熟練運用AI生產工具的產品經理,而且這個產品經理還可能就是AI本身,而不需要一個實際的人。

有時候我想這東西太逆天了,以後也沒有程式設計師了,只要有人維護AI就行了。但是AI本來就是人類幾十年知識的結合體,碾壓人類本來就是很正常的事情。那人類知識是不是不創新了?不增長了?其實AI的創新能力吊打人類,因為人類個體基本上只會知道個別領域的知識,基本沒有全領域的專家,但是AI它不僅精通哲學、醫學、物理、天文、地理、程式設計,基本上你知道的他都知道,你不知道的他也知道。我之前寫論文的時候,寫「未來的工作」部分,自己想到了幾個點,然後又讓GPT4寫幾個點,結果我想到的它都「想」到了,而且想法質量上還有提高,並且還提供了幾個我沒想到的學科融合的絕妙「想法」。設想一下,它基於這些想法,自主設計實驗也完全是可行的,再多給它幾個現實世界的介面,例如讓它聯網,那麼它自己去實驗證明然後出論文也是完全沒問題的。

所以通過AI自主科研推進人類知識水平的發展,我個人感覺是沒問題的。

當然這個可能要在未來,目前我用GPT來寫論文感覺還是不太可,但是這個有隨機性,有時候你自己寫的很垃圾,AI可能給出一個王炸,有時候AI怎麼寫都感覺很呆板,說不到要點、純扯蛋。目前感覺,GPT最好用的是程式設計領域。因為它基本上有一個大致確定的結果,並且可以通過跑程式驗證正確性。

小說&繪畫領域

這個本人是完全的外行,就是淺淺試了下。首先是小說,我大概用GPT輔助寫了七八章小說,首先一個,質量是隨機的,有時候效果好、有時效果差,另外一個很核心的問題,無法保持章節之間的設定一致,因為我是外行,我的理解是,GPT維護的上下文太小了。

感覺這個問題是容易解決的,例如在生成小說的時候對一些設定進行固定等。

另外我發現寫西方風格的小說效果比寫中文好。最後,相對程式設計,個人感覺寫小說可能更不容易被取代。可能是因為相對程式設計,小說更涉及一些靈感創造,而程式設計則是遵循想法的機械動作。

關於繪畫,我主要試了Stable Diffusion。稍微瞭解了下原理,感覺最大問題還是隨機性,就是感覺出圖就像抽卡(從刺激性角度看可能也是一個優點),有時候是金色傳說,有時候跑了半天出來一個鳳姐恨不得把電腦砸了。也就是說,這種隨機性有時候可能是對人類資源的嚴重浪費,你燒了顯示卡,排了二氧化碳,浪費了電,但是得到可能不是人類所想要的東西。當然這個領域進步也很快,配合controlnet等東西,可以進一步對結果進行控制,這個我暫時還有沒有進一步嘗試。

未來,精細控制應該不是夢。AI可以根據你的想法推斷出你最大概率想要的結果。和程式設計一樣,繪畫的「技術和經驗」可能不再重要。重要的是「想法」和「想法的質量」,最多就是再補充一個對想法的描述。然後就是作品質量問題,我覺得AI可以綜合莫奈、梵高、達芬奇,我覺得相比人類AI可能更容易找到優秀畫家的共性,因為AI從海量作品中學習,或許可以學習到真正描述優秀作品共性的「潛在變數」。

AI可能在繪畫領域扮演一種「超級剽竊師」,最近看到新聞,貌似說有種技術可以讓AI剽竊得毫無痕跡。但是不得不承認,AI的作品可能真的比很多中低端畫師的作品優秀,甚至個別超低端畫師作品的存在可能是在汙染AI的訓練集。我特別能想象,那種幸苦學畫N年,然後畫了一天發現沒AI幾秒畫的好的那種心情。但是你得知道,AI是人類N年知識水平的結合體,在很多工作上肯定是比個體優秀的。生產力的發展是不可阻止的,我覺得AI輔助創作應該是未來製圖工作者的必備技能。

AI輔助學習

本人是一個純純的數學白痴,但是藉助一些提示詞例如說「我是一個數學白痴,我希望你用賣菜大媽也能聽懂的語言幫助我解釋xxxx,讓我徹底理解xx,結合具體、簡單例子」,我確實理解了很多以前需要很大功夫才能理解的知識。我把這個技巧用到了很多領域的學習當中去,甚至藉助這個技巧去看了很多醫學論文。徹底理解可能嚴重誇張了,但是對於大部分東西,AI都可以幫你瞭解個半桶水,作為開始學習某領域知識的起點真的是一個絕佳的辦法。

其它領域(電影、動畫)&小結

最近也設想製作一些動畫、短片之類的,於是做了一些調研,發現即便是最簡單的工具,對於一個完全外行的人來說,製作一個質量稍好的動畫也是複雜的,需要有一定的時間去學習、練習。在學習工具的過程中,我感到這個領域如果類比到程式設計(當然就僅我接觸到的低端工具而言),就彷彿停留在「程式導向」時期。

本人想象的方式是,已經存在預定義的角色,然後我作為「導演」,安排他們完成我的動畫。預定義的角色作為服務的提供者、作為演員。這種才是OOP的方式。最近不是有一篇AI構建虛擬世界的論文很火爆,它好像是說25個AI在虛擬遊戲世界裡面生活。因此我認為這個是完全可以實現的,而且可以實現得很好。還有一些想法,例如說未來我們可以通過對真人進行拍照建模,類似於數位人,不管是外在、還是腦子都可以克隆到計算機上,這樣演員這個職業可能也不需要存在了。甚至於在你死之後,你的克隆數位人,還可以和100年後的人類後代交流。

總結一下,就是說,未來每個人都可以是程式設計師、畫家、導演。重要的不再是特定領域的「技術和經驗」,重要的是想法及其質量。然後個體變成一個超級甲方,AI變成乙方,個體需要學習的就是怎樣和AI溝通,讓AI徹底理解你的想法。