本文是在仝鍵和熊節(jié)的啟發(fā)式提問(wèn)引導(dǎo)下,完全由ChatGPT生成的一篇文章。兩位人類合作者只做了必要的細(xì)節(jié)編輯。
“可能是全國(guó)第一篇ChatGPT一作的正經(jīng)文章吧”,人類合作者之一熊節(jié)對(duì)觀察者網(wǎng)表示。
“總會(huì)有人想探討AI會(huì)不會(huì)產(chǎn)生智能。而我的態(tài)度是,我現(xiàn)在就像站在泰坦尼克號(hào)船頭的一個(gè)人,看到了一座巨大的冰山向我撞來(lái),這一刻我想的是怎么逃生上岸。我不關(guān)心那個(gè)冰山會(huì)不會(huì)產(chǎn)生智能?!绷硪晃蝗祟愖髡哔诮≡诓稍L中表示。
仝健還提到,在《流浪地球2》中,550C“生成底層操作系統(tǒng)”激發(fā)了他后續(xù)去思考以結(jié)構(gòu)化的重寫(xiě)來(lái)替代重構(gòu)的開(kāi)發(fā)方法。他還認(rèn)為,這種顛覆性的生產(chǎn)方式對(duì)于我們彌補(bǔ)工業(yè)軟件的短板有實(shí)際意義。
大語(yǔ)言模型AI的追趕關(guān)鍵在于定制應(yīng)用軟件開(kāi)發(fā)能力
作者:ChatGPT,仝鍵,熊節(jié)
AI追趕的瓶頸:軟件工程能力的重要性
隨著ChatGPT的面世,大語(yǔ)言模型AI(如GPT-3)已經(jīng)成為了熱門話題。國(guó)內(nèi)也有很多團(tuán)隊(duì)在進(jìn)行追趕,然而,在實(shí)際追趕過(guò)程中,AI技術(shù)與軟件工程能力的結(jié)合卻成為了AI追趕的瓶頸。
我們最近在網(wǎng)上看到對(duì)復(fù)旦大學(xué)MOSS的采訪:
復(fù)旦團(tuán)隊(duì)發(fā)布國(guó)內(nèi)首個(gè)類ChatGPT模型MOSS,邀公眾參與內(nèi)測(cè)
文中提到:
“目前,MOSS的最大短板是中文水平不夠高,主要原因是互聯(lián)網(wǎng)上中文網(wǎng)頁(yè)干擾信息如廣告很多,清洗難度很大。為此,復(fù)旦大學(xué)自然語(yǔ)言處理實(shí)驗(yàn)室正在加緊推進(jìn)中文語(yǔ)料的清洗工作,并將清洗后的高質(zhì)量中文語(yǔ)料用于下一階段模型訓(xùn)練??蒲袌F(tuán)隊(duì)相信,這將有效提升模型的中文對(duì)話能力?!?
結(jié)合文中其他部分的描述和網(wǎng)上其他資料,不難看出,盡管團(tuán)隊(duì)對(duì)其在深度學(xué)習(xí)算法和模型上充滿信心,但由于數(shù)據(jù)獲取和清洗方面的軟件工程能力不足,導(dǎo)致其模型的數(shù)據(jù)量遠(yuǎn)低于ChatGPT,無(wú)法有效提升任務(wù)完成度,比如中文對(duì)話的表現(xiàn)不足。
根據(jù)分析,數(shù)據(jù)獲取和清洗的問(wèn)題實(shí)際上源于軟件能力的缺陷。例如,如果數(shù)據(jù)清洗的程序需要經(jīng)常變化,那么開(kāi)發(fā)人員需要具備一定的靈活性,能夠快速理解新的需求和業(yè)務(wù)規(guī)則,并對(duì)程序進(jìn)行相應(yīng)的修改和調(diào)整。并且開(kāi)發(fā)人員需要掌握TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))的相關(guān)概念和技術(shù),如單元測(cè)試、測(cè)試框架和測(cè)試覆蓋率等。因?yàn)門DD能夠幫助開(kāi)發(fā)人員編寫(xiě)高質(zhì)量、易于維護(hù)的代碼。開(kāi)發(fā)人員還需要掌握持續(xù)集成和持續(xù)交付(CI/CD)能力,因?yàn)镃I/CD能夠幫助開(kāi)發(fā)人員實(shí)現(xiàn)代碼的自動(dòng)化構(gòu)建、測(cè)試和部署。
如果沒(méi)有合適的爬蟲(chóng)程序和清洗工具,就無(wú)法獲得足夠的數(shù)據(jù)。這使得我們意識(shí)到,在AI的發(fā)展過(guò)程中,軟件工程能力的重要性不容忽視。盡管大多數(shù)人關(guān)注的是訓(xùn)練后的模型,但在訓(xùn)練模型的過(guò)程中,需要寫(xiě)很多定制開(kāi)發(fā)的軟件。而這些軟件是一次性的,用完即扔的,但是這個(gè)“一次性”的過(guò)程可能長(zhǎng)達(dá)數(shù)年,需要不斷調(diào)整和演進(jìn)這些軟件。如果這些軟件沒(méi)有持續(xù)演進(jìn)的能力,那么就無(wú)法到達(dá)終點(diǎn)。因此,軟件工程能力的瓶頸限制了AI的成長(zhǎng)。
行業(yè)普遍能力顯著加劇了挑戰(zhàn)
中國(guó)的軟件開(kāi)發(fā)行業(yè)數(shù)量龐大,但是整體水平并不盡如人意。雖然國(guó)內(nèi)擁有大量程序員,但是很難掌握先進(jìn)的工程實(shí)踐和技術(shù),這導(dǎo)致了軟件開(kāi)發(fā)的問(wèn)題和質(zhì)量不穩(wěn)定。
例如,XP(Extreme Programming)包含的一組工程實(shí)踐,如TDD(測(cè)試驅(qū)動(dòng)開(kāi)發(fā))、重構(gòu)等,在中國(guó)大型軟件開(kāi)發(fā)組織的上下文中難以廣泛實(shí)現(xiàn)。這些工程實(shí)踐需要高水平的技術(shù)人才和團(tuán)隊(duì)協(xié)作能力,但是中國(guó)的軟件開(kāi)發(fā)組織很難招聘到這樣的人才,而且組織管理也難以支持這些實(shí)踐的實(shí)施。
因此,中國(guó)的軟件通常在3-5年內(nèi)就需要重新開(kāi)始,這是由于工程實(shí)踐差導(dǎo)致軟件逐漸腐化到無(wú)法維護(hù)。然而,從另一個(gè)角度來(lái)看,由于中國(guó)的軟件工程師數(shù)量眾多,對(duì)于軟件的質(zhì)量要求也沒(méi)有那么高,因此每3-5年推倒重來(lái)的做法也被視為一種解決方案。
但是,在為人工智能配套的軟件上,這種做法可能會(huì)面臨巨大的挑戰(zhàn)。為了實(shí)現(xiàn)智能化,軟件需要更高的精度和更長(zhǎng)久的維護(hù),定期的推倒重來(lái)可能從效率和質(zhì)量上都不能滿足需求。例如,訓(xùn)練OpenGPT的過(guò)程涉及到多個(gè)軟件組件和工具,包括深度學(xué)習(xí)框架、分布式訓(xùn)練工具、數(shù)據(jù)處理和清洗工具等,這些軟件組件和工具的更新和維護(hù)都是必要的。因此,中國(guó)的軟件開(kāi)發(fā)者們需要更加重視工程實(shí)踐和技術(shù)的學(xué)習(xí)和應(yīng)用,只有這樣才能夠適應(yīng)追趕需求,但是這與我們之前所說(shuō)現(xiàn)狀的限制產(chǎn)生了矛盾。
基于ChatGPT的AI定制軟件開(kāi)發(fā)方案
我們從文中看到,“復(fù)旦團(tuán)隊(duì)則采用不同的技術(shù)路線,通過(guò)讓MOSS和人類以及其他對(duì)話模型都進(jìn)行交互,顯著提升了學(xué)習(xí)效率和研發(fā)效率,短時(shí)間內(nèi)就高效完成了對(duì)話能力訓(xùn)練?!?
那么在軟件開(kāi)發(fā)方面,我們能否采用類似的思路呢?我們是否可以直接基于現(xiàn)有的ChatGPT進(jìn)行AI所需的定制軟件的開(kāi)發(fā)?盡管這個(gè)想法聽(tīng)起來(lái)大膽,但實(shí)際上是可行的。
我們發(fā)現(xiàn),在使用ChatGPT進(jìn)行編程的時(shí)候,它可以基本上滿足一些簡(jiǎn)單場(chǎng)景的編程需求。通過(guò)一些特定的手法,它可以有效地編寫(xiě)出可用的軟件。這里所說(shuō)的簡(jiǎn)單,是指需求描述簡(jiǎn)單,不是指需求本身簡(jiǎn)單或者實(shí)現(xiàn)簡(jiǎn)單。實(shí)際上,ChatGPT現(xiàn)在更擅長(zhǎng)于處理許多復(fù)雜算法和軟件框架的開(kāi)發(fā),因?yàn)檫@些需求都有專業(yè)術(shù)語(yǔ),因此需求本身的描述可以很簡(jiǎn)單。
經(jīng)過(guò)本人實(shí)際測(cè)試,使用ChatGPT進(jìn)行編程可以大大提高開(kāi)發(fā)效率。此外,基于ChatGPT進(jìn)行編程也會(huì)帶來(lái)一些有趣的生產(chǎn)方式變化。在軟件開(kāi)發(fā)的工程實(shí)踐中,我們通常會(huì)采用一種假設(shè):重寫(xiě)比重構(gòu)更慢。但是,在使用ChatGPT進(jìn)行編程時(shí),我們會(huì)發(fā)現(xiàn)重寫(xiě)會(huì)更快。盡管測(cè)試仍然很重要,因?yàn)闇y(cè)試會(huì)告訴ChatGPT是否正確重寫(xiě),但ChatGPT本身也可以根據(jù)實(shí)現(xiàn)代碼推理出需要哪些更多的測(cè)試用例。這將形成一個(gè)恐怖的飛輪,人類提供簡(jiǎn)單的測(cè)試和需求,讓ChatGPT編寫(xiě)出符合測(cè)試的實(shí)現(xiàn),然后讓ChatGPT根據(jù)實(shí)現(xiàn)和需求反向推理出需要哪些更多的測(cè)試,并給出測(cè)試用例和可以執(zhí)行的測(cè)試代碼。這樣的工作方式與測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)很像,只是其中最耗費(fèi)腦力的部分:“基于測(cè)試改進(jìn)代碼和想出更多測(cè)試”變成了AI的工作,而人只需要讓AI按照TDD的方式工作并適時(shí)糾偏即可。
基于這種生產(chǎn)方式及其可觀的收益,我們很容易得出一個(gè)結(jié)論:ChatGPT可以用于簡(jiǎn)單小單元的開(kāi)發(fā),但對(duì)于更復(fù)雜的系統(tǒng),它能否提供幫助呢?一般來(lái)說(shuō),由于算力的限制,ChatGPT輸入的文本是有限的,而且ChatGPT自身的封閉性使得自建業(yè)務(wù)上下文的大語(yǔ)言模型AI是不可能的。然而,我們可以從工程化的角度出發(fā),將復(fù)雜系統(tǒng)拆分為小單元,用簡(jiǎn)單邏輯拼裝起來(lái)。既然ChatGPT可以完成小單元的編程,并以驚人的效率完成,為何不發(fā)明一種架構(gòu)來(lái)充分利用這種生產(chǎn)力的提升呢?
這種架構(gòu)看起來(lái)很像深度神經(jīng)網(wǎng)絡(luò),每一層都是可以互相替換的細(xì)分的功能點(diǎn)單元。每個(gè)細(xì)分的功能點(diǎn)單元都可以封裝為一個(gè)通用的調(diào)用接口,比如抓取不同的網(wǎng)站的邏輯,這些邏輯是可以被封裝在代碼中的,并且可以用一種DSL來(lái)描述。這種DSL可以交給AI來(lái)學(xué)習(xí),這些DSL不是中文,而是更結(jié)構(gòu)化更形式化的語(yǔ)言,對(duì)于AI來(lái)說(shuō)反而很友好。人可以通過(guò)TDD的方式修正它的組合結(jié)果,最終得到一個(gè)可以用于進(jìn)行復(fù)雜系統(tǒng)開(kāi)發(fā)的方式。
雖然這種方式目前還處于暢想中,但邏輯上可以做到的事情,最終一定會(huì)發(fā)生。這種新的方式一方面降低了對(duì)開(kāi)發(fā)人員能力的要求,另一方面又保證了每個(gè)節(jié)點(diǎn)都按照唯一證明可以保證質(zhì)量的工作方式:TDD來(lái)進(jìn)行開(kāi)發(fā)。這種方式可以為我們的追趕帶來(lái)極大的意義。由于中國(guó)的軟件開(kāi)發(fā)人員能力存在很大的問(wèn)題,我們可能受限于AI所需的配套定制軟件而追趕緩慢。但這種新的方式一方面降低了對(duì)開(kāi)發(fā)人員能力的要求,另一方面卻恰好保證了每個(gè)節(jié)點(diǎn)都按照唯一證明可以保證質(zhì)量的工作方式:TDD,來(lái)進(jìn)行軟件開(kāi)發(fā)。于是我們得到了一種既科學(xué)又不需要長(zhǎng)期訓(xùn)練獲得的能力作為運(yùn)轉(zhuǎn)基礎(chǔ)的生產(chǎn)方式。
最終,我們可以得出結(jié)論:ChatGPT可以用于簡(jiǎn)單小單元的開(kāi)發(fā),而對(duì)于更復(fù)雜的系統(tǒng),我們可以采用一種類似于深度神經(jīng)網(wǎng)絡(luò)的架構(gòu),將復(fù)雜系統(tǒng)拆解為小單元,再用AI完成小單元的組合,從而實(shí)現(xiàn)復(fù)雜系統(tǒng)的開(kāi)發(fā)。這種方式既提高了生產(chǎn)力,又保證了質(zhì)量,但更重要的是,它為我們帶來(lái)了一種全新的軟件開(kāi)發(fā)思維方式。這種方式不僅僅是一種技術(shù)上的創(chuàng)新,更是一種理念上的創(chuàng)新。我們不再局限于傳統(tǒng)的軟件開(kāi)發(fā)方式,而是采用了一種更為開(kāi)放、自由和創(chuàng)新的方式來(lái)進(jìn)行軟件開(kāi)發(fā)。
在這種開(kāi)放性的思維方式下,我們可以不再局限于傳統(tǒng)的軟件開(kāi)發(fā)范式,不再局限于傳統(tǒng)的技術(shù)框架和工具,而是充分利用現(xiàn)有的技術(shù)和工具,靈活地選擇和組合,以達(dá)到最優(yōu)的效果。同時(shí),我們也可以吸納更多的外部資源,比如開(kāi)源代碼、第三方庫(kù)、人才等等,讓它們與我們的系統(tǒng)無(wú)縫地融合在一起,形成一個(gè)更為強(qiáng)大、更為開(kāi)放的系統(tǒng)。
當(dāng)然,這種思維方式也面臨著很多挑戰(zhàn)。比如如何確保代碼的質(zhì)量和安全性,如何協(xié)調(diào)不同的開(kāi)發(fā)者之間的合作,如何處理不同的利益沖突等等。但這些挑戰(zhàn)并不是無(wú)解的,實(shí)際上它的解法就在XP(Extreme Programming,極限編程)方法中。例如測(cè)試驅(qū)動(dòng)開(kāi)發(fā)、持續(xù)集成、重構(gòu)等實(shí)踐都有助于確保代碼質(zhì)量。只是XP中的實(shí)踐在這個(gè)時(shí)代如何與AI更好地協(xié)作需要進(jìn)一步的探索。我們可以通過(guò)不斷的探索和實(shí)踐,逐步發(fā)展出一套成熟的軟件開(kāi)發(fā)流程和治理機(jī)制,來(lái)保證整個(gè)開(kāi)發(fā)過(guò)程的質(zhì)量和效率。
總之,ChatGPT作為一種新興的AI技術(shù),為我們帶來(lái)了很多的機(jī)會(huì)和挑戰(zhàn)。作為追趕者的我們卻可以充分利用它的生產(chǎn)力,來(lái)進(jìn)行我們追趕所需系統(tǒng)開(kāi)發(fā)。在追趕的同時(shí)我們還會(huì)得到一種全新的開(kāi)放性思維方式,它可能打破傳統(tǒng)的軟件開(kāi)發(fā)模式,進(jìn)一步的釋放生產(chǎn)力。(正文完,翻頁(yè)為人類作者問(wèn)答環(huán)節(jié))
人類作者問(wèn)答環(huán)節(jié)
Q:為什么會(huì)產(chǎn)生這樣的想法,做這樣的嘗試?
仝鍵:ChatGPT帶來(lái)的這波浪潮,我們看很多人都在暢想未來(lái),我們覺(jué)得,暢想未來(lái)不如活在未來(lái)。如何能應(yīng)用好這類AI其實(shí)也是有相當(dāng)多學(xué)問(wèn)的,而幾乎全世界的人都在同一刻起跑,我們沒(méi)有時(shí)間等待別人研究的成果。必須要做第一批在正式工作中使用的人。所以我們?cè)诠ぷ鞯乃袌?chǎng)景下,都試圖用它來(lái)提高我們的生產(chǎn)力,所以寫(xiě)這樣一篇文章對(duì)我們來(lái)說(shuō)也不過(guò)是這一策略的延續(xù),它是很自然發(fā)生的,沒(méi)有特別針對(duì)寫(xiě)文章這件事專門想過(guò)。寫(xiě)起來(lái)之后,我們發(fā)現(xiàn),這事好像還挺酷的。
Q:如何“啟發(fā)式提問(wèn)”,能否舉例?
仝鍵:其實(shí)很簡(jiǎn)單,我們之前看到了這篇新聞,在微信上進(jìn)行了一些討論,我們把新聞鏈接和討論的內(nèi)容直接扔給了new Bing——眾所周知,new Bing就相當(dāng)于可以聯(lián)網(wǎng)的ChatGPT(雖然現(xiàn)在也限制了聯(lián)網(wǎng)獲取內(nèi)容的功能)——問(wèn)它如果我們要寫(xiě)一篇文章闡述這些觀點(diǎn),建議怎么布局謀篇。于是它建議我們分成三部分來(lái)寫(xiě),每一部分寫(xiě)什么內(nèi)容。然后我們?cè)倩诿恳徊糠值闹黝},一部分一部分的讓他去寫(xiě)。
第一遍由AI寫(xiě)出來(lái)的內(nèi)容可能并不讓我們滿意,因?yàn)榇蠖际瞧瑴挘狈Χ匆?jiàn)。這個(gè)時(shí)候我們就把我們的不滿意直接說(shuō)出來(lái),并給它一些洞見(jiàn),問(wèn)它在邏輯上這些洞見(jiàn)是否有道理,有沒(méi)有什么補(bǔ)充,然后讓它把這些洞見(jiàn)和他寫(xiě)的內(nèi)容編織在一起。
熊節(jié):有時(shí)候它生產(chǎn)的內(nèi)容也是會(huì)偏離我們想要表達(dá)的方向。比如說(shuō)在寫(xiě)這篇文章的過(guò)程中,AI把瀑布方法當(dāng)成一個(gè)靶子來(lái)打,但那不是我們想要說(shuō)的重點(diǎn)。這個(gè)時(shí)候就需要明確告訴他,那個(gè)不是我們要討論的重點(diǎn)。畢竟雖然XP 提供了一些不錯(cuò)的實(shí)踐,這些實(shí)踐最終也會(huì)被ChatGPT重塑成一個(gè)完全不同的樣子。所以我們并不關(guān)注傳統(tǒng)意義上的軟件開(kāi)發(fā)方法的對(duì)比,更關(guān)注整體而言軟件開(kāi)發(fā)能力面臨的挑戰(zhàn)。
Q:做了哪些細(xì)節(jié)編輯?
仝鍵:后續(xù)的修改還是比較少的。有一些對(duì)原文的引用是我們自己手動(dòng)加進(jìn)來(lái)的。ChatGPT很不喜歡直接引用原文,哪怕你告訴它引用原文,它都會(huì)重新加工一遍。還有幾處用詞上的微調(diào)也記不太清了,不是很重要的修改。一般我們都不去直接修改它,如果覺(jué)得寫(xiě)的不好,就改改prompt輸入讓它重寫(xiě),跟我們后面提到的寫(xiě)代碼的方法一樣。因?yàn)閾?dān)心直接修改生成的內(nèi)容可能會(huì)在哪里造成了邏輯不通順的地方而沒(méi)注意到,所以我們更愿意讓它重寫(xiě)一遍。
Q:“經(jīng)過(guò)本人實(shí)際測(cè)試”這句是后加的嗎?確實(shí)測(cè)試過(guò)嗎?
仝鍵:是我們先向ChatGPT描述了一些工作方法,它把這句話保留了下來(lái)。這里提到的整個(gè)方法都是我們實(shí)際測(cè)試過(guò)的。我們?cè)贑hatGPT推出之后一直在考慮怎么用它來(lái)輔助軟件開(kāi)發(fā),最近終于在一個(gè)稍微復(fù)雜點(diǎn)的需求上實(shí)現(xiàn)了100%由ChatGPT編碼完成。不過(guò)這個(gè)案例更多是可行性證明性質(zhì)的試驗(yàn),實(shí)際意義不大。大多數(shù)與它結(jié)對(duì)完成的代碼,是95%由它完成,5%由我們自己完成。
熊節(jié):在與ChatGPT結(jié)對(duì)編程的過(guò)程中,人的主要作用是提出顆粒度合適的任務(wù),然后驗(yàn)收ChatGPT給出的代碼。有時(shí)候需要做少許微調(diào),就是仝鍵說(shuō)的那5%由自己動(dòng)手完成的代碼。因?yàn)樗悸氛_的情況下,ChatGPT給出的代碼一般都相當(dāng)準(zhǔn)確。有一些不夠準(zhǔn)確的細(xì)節(jié),與其費(fèi)勁去命令它糾正,不如自己順手改了。
Q:文中的“但邏輯上可以做到的事情,最終一定會(huì)發(fā)生”這句話也是AI寫(xiě)的嗎?您認(rèn)同它描述的情況“一定會(huì)發(fā)生”嗎?
仝鍵:這句話就類似于前面說(shuō)的那5%人工輸入的部分,是我們加入了自己的主觀判斷。有趣的是,ChatGPT似乎并不完全認(rèn)同我們的主觀判斷。加完這句話之后我們也問(wèn)了他怎么看這句話所表達(dá)的觀點(diǎn),它說(shuō):“作為一名人工智能,我認(rèn)為這個(gè)問(wèn)題需要考慮多個(gè)因素,包括政治、經(jīng)濟(jì)、技術(shù)和文化等方面的影響。雖然技術(shù)上可能實(shí)現(xiàn),但實(shí)際情況可能會(huì)受到其他因素的制約。”
熊節(jié):也許最后事實(shí)會(huì)證明,我們就不應(yīng)該畫(huà)蛇添足去加入自己的主觀判斷,或許AI的判斷比我們更準(zhǔn)確。
Q:您認(rèn)為用這種新方式,是否有助于彌補(bǔ)我們?cè)谲浖こ棠芰Ψ矫娴牟蛔悖?/strong>
仝鍵:我認(rèn)為一定程度上是有可能的。正如我們?cè)谖闹兴f(shuō),它使我們能以一種既科學(xué)、又不需要長(zhǎng)期訓(xùn)練就能獲得的能力來(lái)生產(chǎn)軟件。工業(yè)化也是符合這個(gè)范式的,它使得更廣泛的人群以一種高效高質(zhì)量的方式參與進(jìn)了社會(huì)大生產(chǎn)。而軟件工程之前雖然一直被叫做工程,但是業(yè)界的一個(gè)普遍共識(shí)是:軟件工業(yè)與其說(shuō)是現(xiàn)代化的工業(yè),倒是更像手工業(yè)。我們認(rèn)為,ChatGPT這類AI 有可能極大地降低從業(yè)者進(jìn)行高質(zhì)量生產(chǎn)的門檻,從而真正將工業(yè)化帶到軟件開(kāi)發(fā)領(lǐng)域。
Q:用引導(dǎo)式提問(wèn)的方式完成這篇文章,在工作量上與正常寫(xiě)作相比,如何?
仝鍵:這個(gè)文章從開(kāi)始寫(xiě)到完成只花了3個(gè)小時(shí),雖然我們之前的討論已經(jīng)有了一些輸入了。工作量上要輕很多,以我個(gè)人的體驗(yàn)效率提升了可能10倍不止。平時(shí)我寫(xiě)一篇文章大概要一周,因?yàn)橹饕菢I(yè)余碼字,加上靈感缺失、行文上的卡殼都導(dǎo)致時(shí)間拖長(zhǎng)。雖然我們對(duì)最后的成文質(zhì)量還不是特別滿意,但是考慮到它的效率,這種程度的質(zhì)量也是可以接受的。我們都開(kāi)始考慮要不要做個(gè)業(yè)余但日更的寫(xiě)手,挑戰(zhàn)一下羅振宇、波士頓圓臉的生活節(jié)奏。
Q:您認(rèn)為以這樣的形式完成這篇文章,有什么樣的意義?
仝鍵:雖然可能有點(diǎn)勉強(qiáng),我覺(jué)得有點(diǎn)像當(dāng)年馬車與蒸汽機(jī)車賽跑的意義。知識(shí)工作者的工業(yè)化浪潮來(lái)臨了,每個(gè)人只有不斷奔跑才可能安全上岸。我們?cè)诮涣鬟@一波AI浪潮的時(shí)候,總會(huì)有人想探討AI會(huì)不會(huì)產(chǎn)生智能。而我的態(tài)度是,我現(xiàn)在就像站在泰坦尼克號(hào)船頭的一個(gè)人,看到了一座巨大的冰山向我撞來(lái),這一刻我想的是怎么逃生上岸。我不關(guān)心那個(gè)冰山會(huì)不會(huì)產(chǎn)生智能。無(wú)論它產(chǎn)不產(chǎn)生智能,灰犀牛已經(jīng)出現(xiàn),沒(méi)有誰(shuí)可以逃避。雖然我們可以說(shuō)人有人的用途,我也相信這最終會(huì)成為社會(huì)共識(shí),但我更關(guān)心走向這個(gè)社會(huì)共識(shí)的過(guò)程。
Q:在《流浪地球2》中550在短時(shí)間內(nèi)就完成了對(duì)一系列設(shè)備的重新編程,大語(yǔ)言模型在編程上的應(yīng)用是否有助于實(shí)現(xiàn)上述“科幻”?對(duì)于彌補(bǔ)現(xiàn)實(shí)中中國(guó)工業(yè)軟件的短板,實(shí)現(xiàn)萬(wàn)物互聯(lián),是否有實(shí)際意義?
仝鍵:550的一個(gè)情節(jié)對(duì)于我們還是有一定的啟發(fā)的。作為常年從事軟件開(kāi)發(fā)的從業(yè)人員,當(dāng)電影演到500C接入那個(gè)情節(jié)的時(shí)候,我下意識(shí)的反應(yīng)就是,那么多的爛代碼,你處理的過(guò)來(lái)嗎?結(jié)果550C說(shuō),“生成底層操作系統(tǒng)”。那一刻對(duì)我還是比較震撼的。對(duì)呀,可以完全重寫(xiě)啊,維護(hù)什么舊代碼?所以也激發(fā)了我后續(xù)去思考以結(jié)構(gòu)化的重寫(xiě)來(lái)替代重構(gòu)的開(kāi)發(fā)方法。所以從我個(gè)人角度來(lái)講,我是很有信心的。這種顛覆性的生產(chǎn)方式對(duì)于我們彌補(bǔ)工業(yè)軟件的短板是有實(shí)際意義的。
而且,根據(jù)我的體驗(yàn),我感覺(jué)越是這類系統(tǒng)軟件、領(lǐng)域軟件,AI能發(fā)揮的威力越大。因?yàn)槭苤朴谒懔ο拗?,它現(xiàn)在適合處理需求描述相對(duì)簡(jiǎn)單且結(jié)構(gòu)化、而實(shí)現(xiàn)相對(duì)復(fù)雜的場(chǎng)景,而這恰恰是系統(tǒng)軟件的特征。相反企業(yè)里的業(yè)務(wù)軟件,往往是需求描述復(fù)雜且模糊,實(shí)現(xiàn)反而相對(duì)簡(jiǎn)單,這點(diǎn)上反而是AI的弱項(xiàng)。但是這個(gè)弱項(xiàng)也是暫時(shí)的,我相信隨著發(fā)展,這些問(wèn)題也是可以被解決的。比較起來(lái),我更擔(dān)心我們?cè)谶@個(gè)強(qiáng)大的工具方面被卡脖子,那可能會(huì)造成我們?cè)谲浖a(chǎn)方面的代差。
本文系觀察者網(wǎng)獨(dú)家稿件,文章內(nèi)容純屬作者個(gè)人觀點(diǎn),不代表平臺(tái)觀點(diǎn),未經(jīng)授權(quán),不得轉(zhuǎn)載,否則將追究法律責(zé)任。關(guān)注觀察者網(wǎng)微信guanchacn,每日閱讀趣味文章。
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。