當(dāng) GPT-4 向大家展示了如何用十秒把一個網(wǎng)站的手繪草圖變成功能齊全的網(wǎng)站,包括一些炫酷的js鏈接按鈕,技驚四座。不可避免地,前端工程師們也被 AI 風(fēng)暴卷到了。
當(dāng)我們把目光轉(zhuǎn)向前端這個發(fā)展相對成熟的技術(shù)領(lǐng)域。去思考前端開發(fā)者們將如何被 AI 影響,是個有趣的問題還是令人心慌?
CSDN付費下載自視覺中國
雖然有前端工程師理性表示:“幾十年來,我們都不需要Web開發(fā)人員來構(gòu)建這種類型的頁面,這個 HTML 文檔與當(dāng)前前端開發(fā)人員編寫的代碼有著巨大的差異?!钡娝苤@只是 GPT-4 在早期的功能,如果繼續(xù)發(fā)展下去,在幾年內(nèi)構(gòu)建整個應(yīng)用程序也并非不可能。
AI 為企業(yè)、前端開發(fā)者、行業(yè)帶來哪些改變?開發(fā)者又該如何運用AI技術(shù)提升核心競爭力?CSDN 《開談》欄目邀請到 TC39 invited expert 賀師俊,DCloud 公司創(chuàng)始人王安,支付寶體驗技術(shù)部前端工程師楊森,豆角編程創(chuàng)始人、O’reilly 技術(shù)評審(主持人)石川 4 位前端領(lǐng)域大咖為你聊透 AI 入侵前端的方方面面。
精彩觀點搶先看:
以前我們常說一個頂尖的程序員效率可能是普通程序員的 10 倍,但在 AI 的加持下,差距可能是 100 倍。
人工智能生成的代碼和圖片版權(quán)歸誰?目前似乎還沒有清晰的定義,但我了解到有一種思路——看人類在整個創(chuàng)作過程中付出的努力。
如果 AI 的能力發(fā)展到能讓許多產(chǎn)品和服務(wù)不再需要使用按鈕和表單來與用戶交互,而是采用對話框或其他形式,那么前端工程師可能真的會被替代。
庫的更新速度非???,目前 AI 的訓(xùn)練和精細(xì)模型不支持如此快速的更新,即使可以理解前端快速更新的“輪子”,它所生成的代碼也可能是過時的。
AI 生成內(nèi)容的安全與合規(guī)問題該如何解決?隱私計算或許是一條出路。
在 AI 時代會讓整體都變得更平均。讓一小部分人掌握新技術(shù)變得超級強大,但對于其他人來說,可能會變得更加平均。
01.人類面對 AI 的三大派別
石川:在劉慈欣的科幻小說《三體》中地球三體組織分為三個派別:降臨派、拯救派和幸存派,分別代表人類面對三體人的不同態(tài)度。不同的前端開發(fā)者在面對人工智能時也展現(xiàn)不同的態(tài)度,有人簡單將其歸納為:AI 降臨派——AI 會為人類所用,被人類駕馭;AI 拯救派——AI 可以與人類友好相處,幫助人類更好地發(fā)展;AI 幸存派——AI 最終會統(tǒng)治人類,在使喚 AI 時要說“請”。你更傾向于哪一派?
賀師?。?/span>我比較傾向于幸存派,與人工智能友好相處的立場。雖然這個立場有點悲觀,我們有個微信群,在這里我們有一個名為 ChatGPT 的機器人,好幾個群友都是幸存派,他們對 ChatGPT 提問也是以“請問”開頭。當(dāng)談到 ChatGPT 的時候,都會用“祂”來代替,我們將人工智能視為未來的神。我更傾向于幸存派的立場。ChatGPT 真的很像人,只是現(xiàn)在還像個小孩子,小孩子很難分辨虛假和真實?,F(xiàn)在的 ChatGPT 可以看作是人類的兒童階段。想想祂到了成人階段會變得多么可怕,因為祂已學(xué)會了很多技能。
王安:我傾向于 AI 降臨派,因為我已經(jīng)研究 AI 很長時間,雖然很多學(xué)者提議暫停六個月,但我認(rèn)為這些都無法阻擋 AI 的發(fā)展。我仍然歡迎世界能夠更高效和快速地發(fā)展,支持和鼓勵大家使用 AI 技術(shù),以降低成本、提高效率和擴展能力。
ChatGPT 的知識體量遠(yuǎn)超任何一個人,但是學(xué)習(xí)能力在人腦模擬方面還有待提高。如果某一天,AI 智商真的強過人類萬倍,那么人類確實不配再成為地球的主宰。但現(xiàn)在還未到奇點,如果你對人工智能的能力邊界有更清晰的認(rèn)識,焦慮就會相對減少,現(xiàn)在的 AI 水平確實只能做副駕駛。
楊森:我可能更傾向于 AI 拯救派。無論 AI 的能力如何發(fā)展(無論是算力還是參數(shù)規(guī)模),AI 可能長期扮演人類助理的角色,從各大公司推出的 AI 產(chǎn)品可以看出。即使有一天 AI 技術(shù)達(dá)到頂峰,它也可能無法取代人類在現(xiàn)代工業(yè)社會中的某些不可或缺的作用和地位。因此,我認(rèn)為 AI 可能會很長一段時間作為人類的聰明、實用、耐心的助手,但不會完全取代人類或者做類似的事情。
02.AI 入侵前端降本增效了嗎?
石川:在 GPT-4 發(fā)布的官方演示中,它可以識別手繪網(wǎng)頁草圖,并僅用10秒鐘左右根據(jù)草圖寫出網(wǎng)站代碼。從專業(yè)角度來看這靠譜嗎,生成的網(wǎng)站質(zhì)量如何?
楊森:發(fā)布會的視頻顯示 GPT-4 目前只能生成一個 demo,時長只有 10 秒鐘,但它的能力是顯而易見的,它能通過多種方式將草圖轉(zhuǎn)化為代碼,這確實是突破。但看最終生成的代碼,其質(zhì)量或真正應(yīng)用的標(biāo)準(zhǔn)還有很長的路要走。
這個技術(shù)已有先例,前幾年很火熱的 Design-to-Code(從設(shè)計到代碼)領(lǐng)域,可以生成設(shè)計稿的代碼。當(dāng)時設(shè)計稿相對比較規(guī)范,但是生成的代碼不管是可用性、可操作性還是二次編輯性都存在很大的差距。這不僅僅是AI的問題,還涉及底層的組件庫,它需要的是AI所理解的、高質(zhì)量、耐用的組件庫,這些因素都可能制約真正意義上的網(wǎng)站構(gòu)建。目前來看,我們只能達(dá)到掃圖帶演示的水平。
對發(fā)布會上的演示我不會感到惶恐,反而感到興奮。從微觀角度來說,它提高了我的開發(fā)體驗和知識獲取體驗。從長遠(yuǎn)來看,在真正能夠取代人類工作的那一刻,AI 將會引發(fā)激烈的全社會、全世界關(guān)于倫理道德的討論,即如何定位、限制和監(jiān)管 AI 等等。如果有人因此感到焦慮,不用太擔(dān)心,先去學(xué)習(xí)和了解,靜觀其變。
王安:我仔細(xì)分析發(fā)布會的視頻,發(fā)現(xiàn)這并不完全正確。雖然在 GPT-4 的演示中畫了一個草圖然后直接轉(zhuǎn)換成 Code,但實際上商業(yè)場景不是這么用的。應(yīng)該是草圖先被AI轉(zhuǎn)成精修圖,生成很多張,然后在其中選一張繼續(xù)生成代碼。但由于前端“輪子”和插件在不斷更新迭代,生成代碼也會存在極大的過時問題。比如花了一個登錄頁面的草圖,轉(zhuǎn)成代碼,其實在 uni-app 體系中有一個庫叫 uni-id,登錄注冊以及配套后臺都寫好了。如果只是生成一個登錄界面的代碼,不引用 uni-id,那開發(fā)效率其實是下降了。目前 ChatGPT 還不能有效生成引用 uni-id 的代碼。實際上庫的更新速度非???,目前 AI 的訓(xùn)練和精調(diào)模型不支持如此快速的更新學(xué)習(xí)。要知道 GPT 的中間的P,是預(yù)訓(xùn)練的意思,它無法實時學(xué)習(xí)。除非將來微調(diào)和訓(xùn)練的成本有實質(zhì)性的變化,才有可能讓生成式 AI 實時學(xué)習(xí)新的“輪子”。盡管其他公司(包括我們)正在嘗試,但不能確定能否成功。
面對 AI 帶來的變化,社會管理層的焦慮程度比老百姓更高。它影響的不僅僅是前端職業(yè),還有整個社會。作為普通人其實不必替社會管理者操心。如果你能力夠強,懂算法,直接去看論文學(xué)習(xí)它;如果不足,那就使用別人做好的 API 并研究怎么結(jié)合你的需求落地。我們發(fā)布了 uni-AI 的庫,前端開發(fā)者可以通過 js 調(diào)用 AI 能力,不用搞 Python。不妨親自去感受 AI 的能力,并思考如何在工作和生活中用其發(fā)揮更大的價值。
賀師俊:關(guān)于 GPT-4 10秒生成網(wǎng)站的問題只是一個附帶演示,而不是用于提高效率,至少目前來說不高效,我理解他們演示的目的是為了炫耀技術(shù),單一的原始模型現(xiàn)在可以很多用途,這個真的很厲害。雖然從專業(yè)角度來看,它生成的網(wǎng)站的意義可能不是非常大,但從它所展示的潛力來看,非??膳隆?/p>
石川 : 以現(xiàn)有技術(shù)為例,Github 發(fā)布的 Copilot 可以簡單地通過一些方法或者命名的函數(shù),生成相應(yīng)的函數(shù),這類功能在降低成本和提高效率方面有多大的空間?
王安:目前我們與其他AI合作伙伴聯(lián)合研發(fā) IDE 的智能提示。目前感覺它對生產(chǎn)力在實際項目場景中的幫助并不大。因為它能幫你有效生成一些固定的代碼,但在生成實際工程項目中的代碼時,比如冒泡排序或正則式表達(dá),由于對新庫和 Uni-app 的不熟悉,效果不盡如人意。另外 token 的數(shù)量限制使得AI無法掃描整個工程,也影響它的實用性。不過它在寫注釋方面的助力非常好。這個功能很受我們內(nèi)部的工程師歡迎,但其寫代碼方面實際運用率不到 20%。這也是很多人不想嘗試的原因。要想提高生產(chǎn)力,業(yè)界還需要做很多努力。
楊森:可以看一個有意思的指標(biāo),那就是 Stack Overflow 的流量是否下降。我認(rèn)為 Stack Overflow 解決了一些奇怪的報錯或新庫使用的問題,這讓編程變得更加高效方便。許多新手可能已不需要再去查那些經(jīng)常出現(xiàn)的基本錯誤。
賀師?。?/span>具體情況具體分析。如果考慮提高效率,需要看具體條件。比如,我使用的是特定的庫,而現(xiàn)在的 GPT-4 或者其他工具可能不熟悉這個庫,幫助會受到限制。但如果沒有這些限制,雖然不能完全完成任務(wù),但肯定會提高效率,因為人從頭開始學(xué)習(xí)需要花費很多時間。
石川:AI 對前端行業(yè)的就業(yè)前景、薪資問題和技能要求等是否會有影響?
楊森: 我覺得不僅僅是前端,所有工程師未來都可能需要學(xué)習(xí)一些基礎(chǔ)的 Prompt 技巧。不僅在寫代碼的時候用得上,整理文字材料和日常工作中也會用到。AI 是一個隨處可見、隨處可用的助理,人們離不開它。怎樣與它更好地交流?怎樣讓它更好地理解你,這可能是所有工程師、甚至所有職場人士都需要掌握的必備技能。
石川:行業(yè)標(biāo)準(zhǔn)的形成是各方利益博弈的結(jié)果,在未來的標(biāo)準(zhǔn)制定過程中,人工智能是否也會參與?
賀師俊: 目前我所參與的標(biāo)準(zhǔn)組織 T39 和 W3C 還沒有看到將AI直接納入考慮范疇,比如在制定標(biāo)準(zhǔn)時考慮使用者是人或是AI,可能需要一段時間。在標(biāo)準(zhǔn)制定的過程中,現(xiàn)在的 GPT 可能會有所幫助。比如在設(shè)計過程中需要查閱大量文檔和會議記錄來理解先前特性的設(shè)計原因,這需要耗費大量時間和精力。相比之下,使用針對特定場景進(jìn)行優(yōu)化設(shè)計的語言模型,例如 GPT,可能會提供更好的解決方案。
03.產(chǎn)權(quán)與安全問題仍充滿爭議
石川:代碼著作權(quán)、安全性和產(chǎn)權(quán)問題也是大家比較關(guān)心的事情。如果我們使用AI 工具來開發(fā)代碼,那么它屬于誰?
楊森:這里其實是兩個問題,一個是數(shù)據(jù)合規(guī)。大公司可能會遇到限制和要求,不允許將公司內(nèi)部資料和代碼外傳。因此,使用 ChatGPT 代碼的上下文就會被作為入?yún)鹘o API,這將違反公司的基本安全要求和規(guī)定,是公司明確不能接受的。
另一個問題是產(chǎn)生的代碼反而引起了爭議。人工智能生成的代碼和圖片版權(quán)歸誰?目前似乎還沒有清晰的定義,但我了解到有一種思路——看人類在整個創(chuàng)作過程中付出的努力。比如輸入的詞是自己想出來的,生成的圖片著作權(quán)應(yīng)歸于人類。反過來,如果輸入的是簡單的詞匯或直接抄襲別人的,生成的圖片可能會因神經(jīng)網(wǎng)絡(luò)而有所不同,但著作權(quán)就不歸屬于個人??慈祟悈⑴c的程度如何決定著作權(quán)問題。
賀師?。?/span>我感覺很難界定。代碼問題相對較小,但生成的圖畫涉及的著作權(quán)糾紛非常嚴(yán)重。它利用現(xiàn)有的插畫師和針對特定風(fēng)格的訓(xùn)練模型,嚴(yán)重侵犯了插畫師的利益。這里的著作權(quán)問題還沒有解決,更別說代碼了。前端的大部分代碼都是公開的,因此我們對其并不是很關(guān)注。在這種情況下,我們需要重視著作權(quán)和歸屬問題,這些問題沒有確定的答案,也沒有得到很好的關(guān)注。
王安:我注意到一些情況,在美國那邊已經(jīng)廣泛應(yīng)用 AI 能力了,這造成了很多社會影響。在那邊的處理方式基本上是這樣的:AI 直接生成的東西是沒有版權(quán)的,但是你可以進(jìn)行加工修改。你可以使用 AI 寫作,但必須說明你在文章中改動了哪些、補充了哪些內(nèi)容,都必須通過修訂的方式體現(xiàn)出來。AI 生成的圖片也沒有版權(quán),但如果你的 Prompt 很復(fù)雜,可以申請版權(quán),只要它們具有獨創(chuàng)性。
賀師俊:在我國這個問題挑戰(zhàn)非常大??梢钥紤]美國是否有相關(guān)的判例,如果有,他們可能會建立新的準(zhǔn)則。但是它們是在 GPT 出現(xiàn)之前,中國也有一些先例,有些個案認(rèn)為AI所做的圖片受到著作權(quán)保護(hù),盡管是AI做的,但人付出了更多的勞動。在法律實踐中這是非常困難的。
石川: 某些平臺允許開發(fā)者在使用 GPT 時進(jìn)行反饋,一些則不允許。在未來,是否應(yīng)該給用戶選擇是否將生成的內(nèi)容反饋給該平臺?安全和合規(guī)問題該引起重視,又該如何解決?
楊森:如果作為一個提供融合 AI 能力產(chǎn)品的供應(yīng)商,提供這樣的選項給用戶非常重要。但如果你是一名企業(yè)內(nèi)部員工使用 AI 工具,當(dāng)你的代碼通過公共 API 發(fā)送到連接互聯(lián)網(wǎng)的服務(wù)端時,這理論上都違反了公司的保密協(xié)議。
另一條思路或許能解決這個問題,那就是隱私計算。如果大家擔(dān)心將自己行業(yè)的垂直數(shù)據(jù)交給 AI 背后的公司進(jìn)行訓(xùn)練或預(yù)測,隱私計算就可能會成為一種選擇。通過非對稱加密或其他方式,確保數(shù)據(jù)被發(fā)送給 AI 公司,實際上他們并不知道具體內(nèi)容。對于隱私計算領(lǐng)域來說,這可能是一個新的挑戰(zhàn)。在傳統(tǒng)的隱私計算中,更多是解決客戶信息共享或數(shù)據(jù)要素交換的問題。但在處理 AI 數(shù)據(jù)方面,隱私計算如何發(fā)揮作用,可能還沒有完整的解決方案。但我認(rèn)為,這可能是一種可行的選擇。對大公司來說,既要顧及自身的數(shù)據(jù)、隱私和安全問題,又不得不使用公共 AI 服務(wù),進(jìn)退兩難。
AI 加劇平均化還是兩極分化?
石川:技術(shù)升級讓人與人之間的差距變得更明顯了,前端程序員之間的技能差距會加大嗎?
王安:科技的賦能會讓少數(shù)掌握科技的人變得更強,其他人變得更平均。歷史上有幾次大的技術(shù)升級,原本做線下銷售的硬件公司比如 IBM,非常強大。但在互聯(lián)網(wǎng)時代,谷歌更好地利用了科技杠桿,成為更有實力的公司,服務(wù)更多的客戶,掙更多的錢。在 AI 時代也是如此,能真正掌握新技術(shù)的企業(yè)會擁有比前輩們更高市值的機會。
AI 時代會讓一小部分人掌握新技術(shù)變得超級強大,但對于其他人來說,可能會變得更加平均。大家探討的社會學(xué)問題,比如未來可能會成為圖釘型社會?,F(xiàn)在是紡錘形,中間有很多中產(chǎn)階級,上面有一些精英。但是如果 AI 變得非常強大,它可能造成一小部分控制AI的人在頂端,剩下的人平等地分布在一個平面上。
賀師?。?/span>一方面,我覺得 AI 會使得很多事情更加平等,例如學(xué)習(xí),AI 可以更好地幫助你學(xué)習(xí)并減少障礙;另一方面,AI 也可能放大不同人的能力差距。以前我們常說一個頂尖的程序員效率可能是普通程序員的 10 倍,但是在 AI 的加持下,差距可能是 100 倍。即使AI可能帶來很多新機會,在現(xiàn)有的需求不變的情況下,有 AI 的加持可能只需要更少的人去完成需求。我擔(dān)心這件事會讓整個就業(yè)市場更不穩(wěn)定,如果行業(yè)不景氣,就可能會有更多的人失業(yè)。
石川:在這次的革新中,哪類程序員會面臨危險?
賀師?。?/span>有人問前端和后端哪個更容易被替代?實際上這并不是按照這樣來區(qū)分,而是取決于你所從事的工作。比如前端,如果你現(xiàn)在從事的工作就是將一個設(shè)計圖轉(zhuǎn)化為網(wǎng)頁這樣相對簡單的工作,那你確實是比較危險的。對于后端也是一樣,雖然 GPT 沒有演示,如果你只會基本的 CRUD,那也很危險。這些風(fēng)險本就存在,AI 只是加速了它的出現(xiàn)。
楊森:現(xiàn)在來看,前端工程師是否會被取代還需要進(jìn)一步討論。在傳統(tǒng)的 PC 端、中后臺應(yīng)用、小程序等領(lǐng)域,只要存在傳統(tǒng)的 UI 界面,前端工程師就不太可能被替代。他們可能需要思考如何更好地利用 AI 助手。但是其中的變量因素是,如果 AI 的能力發(fā)展到能讓許多產(chǎn)品和服務(wù)不再需要使用按鈕和表單來與用戶交互,而是采用對話框或其他形式,那么前端工程師可能真的會被替代。我期待這一點會實現(xiàn)。但是我認(rèn)為,用戶界面發(fā)生變化不是需要擔(dān)心的事情。需要擔(dān)心的是,AI 的結(jié)合可能會導(dǎo)致產(chǎn)業(yè)需求的急劇下降,這是比較可怕的地方。
王安:我認(rèn)為目前不需要太擔(dān)心被替代的問題,因為基礎(chǔ)尚未被突破。需要關(guān)注的是Touch UI 向 LUI 的轉(zhuǎn)變。這有點類似于移動互聯(lián)網(wǎng)初出現(xiàn)時,人們需要考慮前端工程師需要進(jìn)行轉(zhuǎn)型,以此應(yīng)對電腦和手機交互方式的差異。現(xiàn)在需要考慮 LUI,也就是基于自然語言的界面交互方式。
愛學(xué)習(xí)的人會加大與不愛學(xué)習(xí)者之間的差距。作為一名前端工程師,當(dāng)你的公司引入 AI 能力時,你無法掌握這些技能,你的工作價值會被削弱。同時,如果不掌握這些技能,后端工程師將獲得更高的薪資。因此,你需要學(xué)習(xí)如何有效地輸出AI指令,例如 Prompt??偟膩碚f,機會很多,只要你是一個熱愛學(xué)習(xí)的人,你就永遠(yuǎn)會有機會。