它搶不走程序員的飯碗,但是會(huì)讓一部分人瑟瑟發(fā)抖
每隔一段時(shí)間,IT領(lǐng)域都會(huì)出現(xiàn)一些能抓人眼球的東西,最近就有一個(gè),叫GPT-3。
這個(gè)AI產(chǎn)品刺激到了程序員,因?yàn)樗宫F(xiàn)出了不俗的編程能力:
你說自然語言“從2020年起,有多少用戶注冊(cè)”,它可以給你寫SQL:
這不算什么,你還可以說自然語言,告訴它界面布局和行為:
頭部區(qū)域的文字是“Mood Tracker”, 然后是按鈕“Happy”,“Sad',“Sleepy”,當(dāng)我按其中一個(gè)按鈕的時(shí)候,顯示文本 “right row i am feeling x”
它給你自動(dòng)生成界面和背后的代碼:
仔細(xì)看看這個(gè)GIF動(dòng)畫, 比較“嚇人”的地方在于, 我們并沒有告訴它任何邏輯,它居然能正確地用React實(shí)現(xiàn)那個(gè)變量x !
作為一個(gè)工作多年的老程序員,我看到這個(gè)東西不由得心頭一震:我去!人工智能這么快就要搶老子的飯碗了?
我甚至都想到了老板的反應(yīng):太好了,有了這么一個(gè)神器,以后我躺在老板椅子上,把需求一描述,系統(tǒng)就生成了,要啥程序員?全開掉!
這個(gè)GPT-3 是鋼鐵俠“馬斯克”旗下OpenAI斥巨資打造的自然語言處理模型,擁有1750億超大參數(shù)量,是NLP領(lǐng)域最強(qiáng)AI模型。GPT-3經(jīng)過了整個(gè)互聯(lián)網(wǎng)數(shù)千億個(gè)單詞的訓(xùn)練,它能夠使用CSS、JSX、Python等任何一種語言編程。
它真有這么厲害嗎?我們?cè)賮硐胂笠粋€(gè)場(chǎng)景,你要建立一個(gè)創(chuàng)意產(chǎn)品交易的網(wǎng)站,大概的需求是這樣:
我需要一個(gè)網(wǎng)站,這個(gè)網(wǎng)站需要支持三類用戶:需求方(公司或者個(gè)人),創(chuàng)作者,系統(tǒng)管理員。
需求方可以在網(wǎng)站上發(fā)布需求(如給公司設(shè)計(jì)海報(bào),Logo,制作PPT等),需求中有標(biāo)題,內(nèi)容,圖片,價(jià)格,截至?xí)r間等信息。
創(chuàng)作者可以登錄網(wǎng)站瀏覽發(fā)布的需求,提出自己的報(bào)價(jià)進(jìn)行競(jìng)標(biāo),在截至?xí)r間內(nèi)價(jià)格最低者中標(biāo)。
需求方也可以通過查看創(chuàng)作者的信用等級(jí),自己選中創(chuàng)作者中標(biāo)。
需求方需要預(yù)付30%的費(fèi)用給中標(biāo)者,網(wǎng)站抽取1%作為中介費(fèi)(將來會(huì)漲到5%),產(chǎn)品交付以后支付70%給中標(biāo)者
系統(tǒng)需要支持微信,支付寶等支付方式,需要有Web端,Android端,iOS端。
這么一個(gè)需求,你覺得GPT-3能搞定嗎?它能自動(dòng)生成界面,業(yè)務(wù)處理邏輯,數(shù)據(jù)庫表嗎?我覺得絕無可能。
這還是非常簡(jiǎn)單的概要需求,如果把細(xì)節(jié)都展開,要比上面的描述復(fù)雜10倍以上, GPT-3想理清系統(tǒng)中角色的責(zé)任,業(yè)務(wù)主要流程和次條流程,異常條件,角色和流程的關(guān)系,幾乎是不可能完成的任務(wù)。
更何況需求就是在客戶的腦子里,他只有看到實(shí)際的東西,才會(huì)說:奧,這個(gè)流程不對(duì),那個(gè)界面不對(duì)。
還有,它也不可能抽象業(yè)務(wù)系統(tǒng)中的概念,形成漂亮的類的組合,繼承,針對(duì)接口編程......
假設(shè)這個(gè)GPT-3真的非常非常厲害,它已經(jīng)學(xué)會(huì)了如何實(shí)現(xiàn)上面說的功能性需求, 我們?cè)俳o它增加一點(diǎn)兒非功能需求:
系統(tǒng)要支持xxxx用戶在線,QPS是xxxx , 平均響應(yīng)時(shí)間是xxxxx
每年的無故障運(yùn)行時(shí)間不能多于xxx分鐘
系統(tǒng)支持對(duì)某些產(chǎn)品進(jìn)行秒殺......
你說這個(gè)AI到底怎么才能實(shí)現(xiàn)呢?難道它會(huì)給你分庫分表,讀寫分離,熱備份, 負(fù)載均衡,使用NoSQL, CDN, 緩存,ELK,進(jìn)行SQL調(diào)優(yōu) ?
我覺得在我的有生之年它都搞不定,因?yàn)楝F(xiàn)在的AI還是弱人工智能,它可以從現(xiàn)有的系統(tǒng)中學(xué)習(xí),但不會(huì)聯(lián)想、類比、創(chuàng)造,它不是一個(gè)真正的超級(jí)程序員。
我絲毫不懷疑GPT-3這家伙能實(shí)現(xiàn)復(fù)雜頁面的布局,以及一些特定領(lǐng)域的場(chǎng)景,但是我不相信他能創(chuàng)造出:
設(shè)計(jì)模式、IoC、AOP、Netty、Spring、Redis......
因?yàn)椋?它不具備創(chuàng)造能力。
但是,GPT-3在編程領(lǐng)域內(nèi)依然有巨大的價(jià)值,基于GPT-3的應(yīng)用可以成為得力的助手。
比如前面展示的自動(dòng)生成界面,可以快速制作原型,和客戶交流,如果生成的代碼不錯(cuò),還可以基于它直接開發(fā)。在后端開發(fā)中,我可以告訴他系統(tǒng)有哪些模型,自動(dòng)生成程序的框架,完成一些典型業(yè)務(wù)場(chǎng)景的代碼,在運(yùn)維領(lǐng)域,自動(dòng)生成配置信息.....
那些重復(fù)性的工作,不費(fèi)腦子的編程工作,將會(huì)受到GPT-3等AI的威脅,這部分人可能要瑟瑟發(fā)抖了。
【本文為51CTO專欄作者“劉欣”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過作者微信公眾號(hào)coderising獲取授權(quán)】