前哈佛計算機教授、谷歌工程總監:AI將在3-5年內取代程式設計師

人類對未知的恐懼,似乎是天生的。這也是每當新技術出現,都會有人對其感到不安的原因。比如最近的生成型AI,就導致很多的美術師擔心被奪走飯碗,甚至出現過大量美術師集體對抗AI作品的現象。

實際上,生成型AI除了畫圖之外,還可以寫代碼,甚至比人類程序員(程式設計師)速度更快、效率更高,而且成本更低。


此前的線上演講中,Fixie聯合創始人兼CEO、前谷歌Chrome移動團隊工程總監Matt Welsh表示,程序員這個工作或許在三五年內不復存在,甚至編程這個學科都會被終結。他在題為“大型語言模型(Large Language Models)和編程的終結”的演講中提到,儘管人們一直在努力讓編程變得更容易,但實際上,過去50年來的編程探索一點作用都沒有。

“人們如今研發的程序還是一樣複雜、一樣難於維護,還是那樣難以理解,依舊是像以往那樣滿是bug。我沒有看到這個問題能在短期內解決,我們已經忍受這個問題很長時間。從1957年到2010年,編程語言難懂的困境並沒有多大的改觀,它依舊非常複雜,需要理解很多的語法。”

生成型AI技術的出現,讓這個問題大有改觀,他認為,隨著AI技術的發展,編程工作將不再需要,人類程序員更多的是需要培訓AI模型,“隨著時間的變化,編程將會轉變為教學,也就是教這些AI模型新技能”。

以下是Gamelook聽譯的完整內容:



Matt Welsh:

某種意義上說,今天的分享可能是有關我看到的,計算機科學領域面臨挑戰方面的誇誇其談或長篇大論,畢竟,你現在已經可以用AI寫一個程序,我覺得這是一件很奇妙的事,也是很有挑戰性、很有趣的事情。


簡短介紹一下我自己,我是西雅圖初創公司fixie.ai的CEO兼聯合創始人,你在網絡上可能找不到我們太多的信息,但今天我會介紹一點點我們正在做的事情。劇透一下,它和大型語言模型有關。我想團隊裡的工程師們可能對此有意見,這當然不是編程的終結,我們仍然還在做大量的編程。

在fixie之前,我去過很多地方,曾經在大量的AI初創公司工作,我最近的一份工作是在OctoML擔任工程高級副總裁。在這之前,我在蘋果公司呆了一段時間,主要是因為我工作的初創公司Xnor.ai被蘋果收購。更早之前,我在谷歌Chrome團隊工作了八年半。

回到從前的話,我曾是哈佛大學計算機科學(computer science,以下簡稱CS)專業的教授,我的博士學位在伯克利(加州大學伯克利分校)拿到的。

可以說我從事編程有相當一段時間,參與AI也有些時日,我發現新一代的AI模型真的在改變格局,我認為對所有人都重要的是思考它的應用、我們所在的領域將如何隨著這個技術升級。

我這裡想要說的是,計算機科學(以下簡稱CS)是注定要失敗的。我說這話的意思是,我認為這個領域將會發生巨大的變化。如果我們來看計算機科學作為一門學科,它始終最主要的一件事,就是將想法翻譯成程序,包括整個領域,系統、數據庫、理論,所有都是和這個概念有關。具體來說,就是研究如何解決問題並將其映射為可以被“馮·諾依曼機器”(即電腦,Von Neumann是計算機之父)執行的指令。

所以,這就是我對計算機科學的簡單定義。非常需要注意的是,CS始終有這樣一個假設,那就是我們這裡所說的程序一直是由人類部署、維護和理解的。然而,可能讓所有人震驚的是,人類在這些事情上面做的很糟糕,打造軟件、維護軟件,確保它處於可維護狀態需要大量的努力,這並不容易,我覺從根本上說是很難的,因為計算機程序本身是非常複雜的。


很長時間以來,這個問題的答案,一直都是讓編程變得更容易,這應該是個可以被直接解決的問題。我們會開發新的編程語言和解決這個問題的編程概念,我想要在這裡做一個大膽的聲明,如果過於直接,還請諒解,但我要說的是,過去這50年的編程語言研究對解決這個問題一點用都沒有。

我們所做的一切,輸入系統、debugging、靜態分析等等,沒有任何一樣能解決這個問題。人們如今研發的程序還是一樣複雜、一樣難於維護,還是那樣難以理解,依舊是像以往那樣滿是bug。我沒有看到這個問題能在短期內解決,我們已經忍受這個問題很長時間。

如果這是個剛出現10年的行業,有人可能說即將有一個答案,我們總會解決這個問題,但我並不認為這會發生。


過去幾十年的編程歷史

接下來我舉一些例子,展示一下過去幾十年的編程進展:


最開始是1957年的FORTRAN,我記得好像這里大部分的案例都是《康威生命遊戲(Conway's Game of Life)》這樣的代碼,有些可能並不是,甚至這張圖片裡的代碼也和1957年的FORTRAN有些差別,但是有人認識嗎?我做了很久的編程,很難一眼看出來它是否能運行。


BASIC(1964)的目的是讓編程變得容易,並將它帶向大眾用戶,這是我學編程的第一個語言,我並不認為這個語言很容易處理,它相對友好一些,但依然非常複雜。


那麼APL(1966)怎麼樣呢?這是用APL寫的《康威生命遊戲》代碼,我是從一個網站摘抄的這段代碼。如果有人拿槍指著我的腦袋解釋這個程序,顯然我是做不到的。我不確定這段代碼發生的事情,也不知道設計者語言的人,以及他們為何覺得這是一個編程方面的進步,但很明顯,總有人喜歡做這種事情。


接下來,我們說一個有點搞笑的語言Malbolge(1998),我對它的理解是,Malbolge讓代碼在運行的時候自我修正,它用了很模糊的方式呈現數據,實際上我覺得這個語言的研發和第一個真正用它編程的程序之間相差了很多年。我想這是用Malbolge寫出來的《康威生命遊戲》,當然它就是個笑話。


或許最簡明的是Whitespace(2003),這是另一種的編程語言內行笑料,這個語言當中,所有東西都用空格、標籤和回車代替。圖片中實際上就是用Whitespace寫出的《康威生命遊戲》,你是看不到的。


好吧,不開玩笑了。我們所有人都知道和喜歡的Rust(2010)這樣的現代編程語言做的如何呢?很多人都對Rust感到興奮,這曾是當時的熱點,是為21世紀設計的並發安全編程語言。

我想要說的是,從1957年到2010年,編程語言難懂的困境並沒有多大的改觀,它依舊非常複雜,需要理解很多的語法。以Rust為例,你需要了解輸入系統、歸屬權和所有事情,對於人類來說,它並不容易處理。

好吧,我覺得如果求助我們的好朋友ChatGPT可能是最容易的方式,讓它來替我們寫程序,告訴它我們做這些的目標,將我們的想法變成能在計算機上運行的代碼。我們都見過CoPilot和GPT3都完全能勝任編寫很複雜的電腦程序,所以我們讓ChatGPT寫出《康威生命遊戲》的代碼,比如x86彙編代碼。


然而,ChatGPT更聰明,它並沒有被愚弄,而是說,“很抱歉,用x86彙編代碼寫《康威生命遊戲》是個複雜的任務,而且需要大量的彙編程序知識”。所以,如果覺得寫代碼很容易,連ChatGPT都不信。

無論如何,AI給出的這個有些俏皮的答案,很好地說明了我們行業正在發生的事情,甚至連AI都不想寫令人沮喪的代碼。


回到讓AI幫我們寫代碼的事情,如今,我認識的大多數軟件開發者都在使用GitHub的CoPilot,它是一個存在於編輯器裡的程序,可以在你敲代碼的時候自動幫你完成。如果沒有使用CoPilot,我覺得你做編程就像是圖片裡的山頂洞人在擊石取火,CoPilot極大改變了我們寫代碼的方式,據我個人的經歷,這是加速研發的一種非凡而深刻的方式。


所以與山頂洞人對比,我覺得用CoPilot寫編程就像是個黑客在做這些事。CoPilot有很多不可思議的能力,如果沒有嘗試過,我非常推薦你使用。當我開始使用CoPilot的時候,我有一個想法,覺得它只能做一些大學生作業那樣的解決方案,認為它只能理解一些基礎的事情, 比如鍊接列表,或者返回一些瑣碎的反應。


但情況完全不是那樣。作為一個每天都需要寫編程的人,它讓我感到驚訝,CoPilot經常能補全我的想法,甚至覺得它會讀心術。比如我最近為我們的項目寫測試案例的時候,我寫完前兩個單位測試之後,它直接給我寫出了接下來的三個測試案例,在了解了前兩個之後,它覺得這些是接下來需要發生的一些事,所以它在這方面真的令人驚奇。


大型模型語言將取代程序員

我感覺CoPilot是非常出色的效率提升工具,因為當我不確定如何做某些事的時候,它讓我不用切換情景。例如我在寫一些代碼,而且知道這個庫(library)能夠完成在一個字符串列表裡搜索或者其他的事情,但我想不起來我需要輸入的東西。

我可能在幾個月前用這個API的時候做過這件事,過去,解決這個問題的事情是查找IDE或求助於搜索引擎,然後可能會看到大量的博客,希望能有一個告訴我該怎麼做,所以簡單的事情往往會變得這麼複雜。對於更複雜的事情,我之前可能需要讀很多東西,然後用一些時間組織出一個答案。

有了CoPilot,你不用離開IDE,只需要輸入你想做的事,比如生成一個RSA key,它就會立即為你做出來。有時候得到的答案可能有些細微錯誤,你需要調整,但這節約了多少的時間?!

另一方面,如果我離開了IDE,然後用谷歌搜索stack overflow,有一半的可能是在45分鐘之後,我在Reddit或者維基百科做一些完全隨機的事情且浪費時間,因為我離開了編程地帶。所以,如果有更多的CoPilot這樣的工具,就會大幅提高效率,我可以避免經常遇到的減緩寫代碼速度的事情。

很多人批評CoPilot有一些花里胡哨,它不能解決一些真正困難的問題,只是鸚鵡學舌地返回一些從GitHub或互聯網摘抄的東西。它並沒有真正的智能,只是每次給我們一些少量的代碼,並不能為我們寫整個模塊。


所有這些抱怨在如今都是真實可信的,我希望我們能夠意識到的是,真正阻止CoPilot變得更好的只有一件事,那就是更多數據和更強大的計算能力。

你猜怎麼著?這兩個方面都是非常充裕的。所以,隨著我們有了更多數據、更多代碼、更多算力,我不覺得一年或者三年之後CoPilot可以做到,你只需要在源文件上輸入幾行代碼,它就能把其他的寫出來,對我來說,如果這樣的事情發生,我並不覺得瘋狂。

很多人不相信這件事會發生,他們覺得不可能。但是,我覺得如果歷史告訴了我們什麼東西,那就是人類對於從近代歷史中的幾個數據點推斷事情很不擅長。這是我們所在的指數曲線,你回顧過去的一些數據點,並不能發現指數,但隨後處於指數上升期的時候,變化發生的非常快,你可能意識不到。

所以,設想CoPilot不只是軟件開發者的一個必備工具,而是一個完全有可能在未來取代人類程序員的機制。就像我說的那樣,現在還沒有到時候,但我不認為這一切發生需要很長時間。

我們來看數字,用AI替代一個程序員需要的代價是多少?我們看一個人類程序員的正常工作效率,我曾經在谷歌這樣的公司工作,我認為平均而言,程序員每天能夠檢查和最終提交的代碼大約是100行,注意,這還不是寫代碼。

我之所以這麼說,是因為如果真的敲代碼,你可能寫幾千行,但是你需要復查代碼、測試、部署和大量的流程,所以每天100行代碼對我來說是可以的,或許這裡少說了10行甚至100行,但沒有關係。


如果找一個大部分編程語言的源文件代碼,把它分解成GPT3 tokenizer使用的token,把它放到CoPilot裡,會發現平均每行代碼有10個token,哪怕有稍微的不准確,但我的觀點依然成立。如果計算價格,那麼GPT3處理1000個token的價格是2美分。

但我們假設,為了給GPT3提供生成所有這些代碼需要的上下文環境,通常這需要是輸入的五倍多,所以你依然需要為之付費。所以,加上這一切之後,我們發現一個人類軟件工程師使用AI的工作成本是0.12美元。

這個價格只會越來越低,因為這個技術才剛剛開始。我們再來看人類程序員一天需要多少成本。這裡我做的是一個粗略計算,包括薪水、福利、咖啡間、按摩椅、保齡球場等等,假設人類工程師每天的成本是1200美元,那就是一萬倍的差距。


如果你是個工程師,而且覺得自己做的很好,你需要努力注意這些數字,因為我認為,不招聘人類做這些工作,將會極大改變整個行業。這個語言可能還需要10年,哪怕如此,考慮到有些人剛開始上大學,那麼就需要考慮一旦被AI取代,他們如何規劃職業生涯。

我們對AI和機器人已經有了很多的了解,機器人不需要休息。我說的是每天生成100行代碼,機器人並不一定局限於此,它可以生成數千倍多的代碼。比較有趣的是,不論你讓它做粗略的創意原型,還是做一個最注重測試產品質量,需要生成代碼的時間都是一樣的。


如果交給人類工程師,一兩天的時間可以做出創意原型,但想要進入製作階段最起碼還需要三週以上的時間,因為我們需要重寫、重構、測試、審核,知道所有人確認一切正常。因此從粗略代碼到能夠製作的代碼,這個過程需要大量時間。

另一件事是,人們說AI的生成質量並不是那麼好,所以一定會出錯。這絕對是真的,但我們現在的一個優勢是,AI現在可以如此快速的犯錯,我們可以快速在這些代碼變體之上進行迭代。過去這是個瓶頸,因為它需要人類坐下來寫代碼,還需要思考。

如果換成了機器,你可以生成2萬份同樣的代碼,然後測試並挑選最好的那一個,你沒理由不這麼做。

那麼,如果我們在這個環節將人類踢出去會怎樣?我在想,未來產品經理可能是一個職業生涯的選擇,因為仍然需要產品經理來決定計算機應該做什麼,產品看起來是怎樣、它如何運行、我們如何與它互動?

這是來自微軟的一個視頻,主題是產品經理是做什麼的?這是一個持續了幾十年的話題,我們經常不知道產品經理在做什麼。

我覺得未來的軟件團隊可能是這樣的:


試想一個仍然能用英語寫產品描述或產品需求文檔的產品經理,告訴這個軟件應該做什麼。實際上產品經理已經在這麼做了,他們已經在做決策,決定產品應該是什麼樣。他們將產品需求文檔交給工程團隊,問能否進行部署,工程團隊說,這可能需要六週的時間。

在我設想的AI未來,你只需要將文檔交給AI,它就會在幾秒內生成代碼。那麼,我們如何知道這些代碼能不能用、夠不夠好?這當然需要不斷的測試,人類仍然是需要參與的,但如果更多的工作是閱讀、審核代碼而不是寫代碼,我覺得這個速度可能會比寫代碼快100倍,至少我個人經驗是這樣。

所以,我們依然需要人類寫產品文檔,然後交給AI寫代碼,最後QA環節仍然需要人類,這可能是未來的產品團隊構成模式。


人們對AI的擔心源於不了解

過去幾個月來,我觀察到的現像是,人們對ChatGPT感到極度不安,不管是正面還是負面方式,我發現我們感到不安的原因在於,它就像是一個外星技術那樣,在幾個月前降落到了我們的後院,此前從來沒有這樣一個能在瀏覽器裡直接使用的AI。


用一個類比,這就像是計算機圖形技術,直接從1972年的《Pong》直接轉到了2018年超級寫實的《荒野大鏢客2》。這就像是我們某一天醒來,計算機圖形技術發生瞭如此之大的升級,如果是首次看到這樣的量變,人們的確會覺得不安。

今天的AI就是如此,人們從來沒有見過AI、更沒有和它們互動過,我們之前可能聽說過AI,閱讀過相關的文章或者進行過討論,但在ChatGPT之前,人們從來沒有通過這種方式上手使用過。


我們也看到了人們討論AI方式的變化,可以看到,1972年Hubert Dreyfus討論的是“電腦不能做什麼?”他的這個觀點在當時是有爭論的,比如“AI永遠不能取代認知”,因為認知是基於很多東西、它很複雜,而且很神秘,以至於計算機系統永遠不可能將它做出來。

很快到了2014年,Nick Bostrom的書籍“SuperIntelligence”講了一個完全不同的故事,它擔心的不是AI不能做什麼,而是在一個AI變得超級智能的世界會發生什麼?那時候AI比人類更智能,以至於從根本上在我們社會中的很多部分取代了人類。這樣的討論有很多,我們還可以說《黑客帝國》、《終結者》等等,但這個話題值得討論。

這裡展示一些之前的東西,是我在尋找早期自駕汽車的時候發現的,1986年CMU NavLab的這個項目可能很多人都已經忘了,接下來我們展示這個簡短的視頻:

我覺得這個視頻很神奇的是,這個大卡車裡有很多的計算機,向我們解釋了電腦是如何理解路況的,當然它的速度一小時也不到一英里,但這是1986年。


編程學科的進化


所以我們來說編程是如何成為一個學科或領域的。這是編程時代的黎明,那時候還需要人類向計算機輸入指令,比如卡片穿孔或者旋轉開關。


沒過多久,大概10到20年後,我們已經開始寫高級語言並開始用高級語言寫程序,這是C++之父本賈尼·斯特勞斯特盧普(Bjarne Stroustrup)穿著球鞋坐在自己桌子前的照片。這是很長時間依賴的編程方式:你用高級語言寫程序,計算機將它編程低級機器指令。


接下來是現代,也就是我們今天在做的,人類用高級語言寫程序,但AI幫助他們,比如我剛開始舉例的CoPilot,這是我早期寫的代碼,我想要一個生成RSA key pair的函數,我知道這個函數的簽名(signature)應該是什麼,但我不需要查找需要做的具體代碼,CoPilot就給我呈現了,我可以點擊tab,然後繼續。


然後是未來,我覺得這時候事情會變得很有趣。我認為未來的AI模型會變得非常好,以至於他們可以直接解決問題,我們將不需要其他軟件,只要有AI模型即可。你找到AI,用英語告訴它你想要什麼,AI就會執行你想做的事情,不只是生成代碼,而是隨後可以編譯、運行測試。我們在教AI如何解決問題,而不是電腦程序,AI就是代碼。

我們還沒有見到ChatGPT這樣的大型語言模型的思維鏈推理,我非常鼓勵人們這麼做,因為這對於沒見過的人來說,可能會令人震驚。


我們來看GPT-3這樣的大型語言模型,它們已經展示出了推理能力,你可以將一個複雜的問題聲明交給模型,模型會將它分成很多步驟,然後每次執行一步,控制一個世界模型作為其執行流程。

所以,隨著時間的推移,這些大型語言模型會越來越像通用問題解決器。它們不只是鸚鵡學舌,不再只是自動完成,不再是只能寫故事或營銷話題,而是真正在解決問題。

這裡我展示一個案例,當然有很多方式可以這麼做。我使用了ChatGPT,給出了一個問題:這裡有一個謎題,桌子上有三堆卡,分為紅色、藍色和綠色,它們混在了一起,我希望ChatGPT告訴我,如何為這些卡排序,以便做到一堆卡全部是紅色、一堆全部是綠色,另一堆全部是藍色,然後告訴我每一步怎麼做。

為了解決這個問題,你的腦海中需要有一個模型,然後思考如何對這些卡分組。如果你問ChatGPT,它會給出一個非常詳細的步驟列表:


第一步,將第一堆的藍卡拿出來,放到單門的一個藍色卡堆;第二步,從第二堆抽出紅色卡放到第一堆….

這可以讓所有人震驚,因為我們需要知道,無論是GPT-3還是ChatGPT,它們都不是為了解決這些問題而訓練的,這個問題是隨機的,似乎這些模型已經有了一些簡單的邏輯能力,所以能得到這樣詳細的指令,是令人驚訝的。


所以,我的觀點是,隨著時間的變化,編程將會轉變為教學,也就是教這些AI模型新技能,比如如何接一個API、如何從數據庫抽數據、如何轉換數據、如何為人類使用軟件方法?如今這些領域已經有了很多公司,基本上都還在打造做這些事情的基礎設施或者工具。


Fixie的願景是將AI寫代碼變成現實


我想要藉這個機會說一點和fixie.ai有關的東西,這是我們尚未宣布的東西,未來幾週我們會討論它。我們相信,2023年的AI模型,已經足夠好到可以取代大量的手寫軟件工作,我們試圖在今天用這個想法打造未來的明天。

我們的想法是,你給出想做事情的描述,fixie.ai拿到描述,用很多大型語言模型加上能連接外部系統的代理,它可以為你產出一個結果,比如回答一個問題、調用API,或者援引一個工具、對數據庫做出改變,這些都是模型可以做到的事情。

重要的是,我們並不是寫代碼實現這些事情,而是教這些AI模型如何完成這些事。

再舉個例子,“找到一個GitHub問題列表,並且給每個分配到任務的人發送郵件提醒在今天下午4點之前更新它們”。


Fixie接到這個指令,它意識到這是個多步驟任務,它要做的第一件事是找到一個能夠與GitHub聯繫的代理,發送給它一個描述,比如“找到所有GitHub問題”,這個代理有一個大型語言模型。然後問題會被交給JSON代理,這時候JSON需要找到這些問題的解決者,第三個代理會找到所有人的郵件地址,最後一個代理會通過API給所有人發送郵件。

問題是,我可以寫一個程序做這件事,可能需要大量的代碼,很多公司也都有大量這樣的工具。然而在AI情況下,我只需要說想做的事情,AI模型就可以和代理一起完成。我們認為這是打造軟件的一種很有吸引力的方法,因為需要處理的代碼少了太多,AI做了這些累活。

在這個系統裡打造代理也很容易,因為我們在利用少樣本示例學習,培養這些語言模型的能力,在Fixie獲得一個代理告訴GitHub需要十分鐘,因為我所要做的是給出使用GitHub API的七個案例。


用英語提問,以及答案應該是什麼樣的,我寫了七個案例,但這些模型可以從這些案例中找到共同點,這是很強大的,剛開始的簡單問題,現在成為了從未見過的請求,這是打造軟件非常強大的方式。

Fixie另一個強大的地方在於,可以生成和控製圖片。比如我八歲的兒子非常喜歡紅色熊貓,輸入指令“生成一個紅色熊貓圖片,然後把它放到夜空圖片之上”,在Fixie當中,我們的方式是用代理分別生成夜空和熊貓,第二個代理將熊貓圖片遮蓋背景,第三個代理將兩個圖片結合起來。

同樣,我不需要寫任何代碼,只要說出我想做的事情,Fixie就會幫我協調這些代理得出我想要的結果。


AI在三五年內將取代程序員

所以,在這個新技術的影響下,我們需要重新思考計算機科學的升級,我覺得這不會太長,而是三五年內就可能出現的變化。


如果你的年紀足夠大,可能要學習如何使用尺子,每個人都有一把尺子,它是計算的基礎,也是交易的主要方式。我沒有用過,也不知道怎麼用,但我在網上買過一個。我覺得這和現代計算機科學很像,我擔心按照AI的進化,我們思考計算機科學的方式可能是錯誤的。

我們可以想像2030年,或者離現在不太遠的時間之後,坐在電腦前使用IDE寫代碼,就像是之前用尺子計算那樣少見。

或許,CS未來會更像EE(電子工程),它會逐漸消失,就像現在並不是所有高中都有EE課程,他們進入大學也不都會學EE。我相信在未來,大多數人們打造今天的“軟件”,不再是通過編程,而是通過與AI互動而完成。


雖然對我們的行業聽起來有些可怕,但這個未來有一個非常好的地方在於,AI可以讓所有人接觸計算。現在,如果你會編程語言,就像是擁有了很多人不具備的超能力,有了AI的幫助,我們可以讓全球所有人都通過和AI的互動打造他們想要的程序,我覺得這是個巨大的機會,會在很多方面改變這個世界。

當然,我們還面臨大量的挑戰,這裡不會全部列舉。但我不希望這聽起來就像是探囊取物那般簡單。


這裡有一個小秘密,那就是沒有人理解大型AI模型是如何工作的,哪怕是設計它的那些人。我們今天都在被迫通過經驗主義來學習它們是如何工作的,很多事情都是通過經驗發現的,人們不知道GPT可以做這些事,只是有人發現了這些事。

所以,如果我們持續地打造越來越大的模型,一個全新的領域就會開放,我們如何了解他們的行為、管理它們的行為,如何更好的教學和指引它們?如何保證安全、如何評估它?所有這些都會是非常重要的問題。

我不認為人類可以簡單的說“我拒絕使用AI”就能避開它,這是不太可能的結果。

最後想要分享的是,很多人擔心AI可能會砸掉程序員的飯碗,但是,嚴肅點說,我們沒有人喜歡寫代碼,不如讓機器人去寫,讓我們好好享受人生。讓機器人做寫程序那樣的事情,我們所有人都可以做更偉大的事情。(GameLook)


原本是人類給指令,現在要取代人類了嗎?!
現代科技發達, 也還是有原始人存在.
1