訂閱
糾錯(cuò)
加入自媒體

把需求說出來,就能自動(dòng)生成應(yīng)用了?

就在前段時(shí)間,小黑在《低代碼開發(fā)是什么,它會(huì)讓程序員失業(yè)嗎?》一文中,描繪過這樣一幅美好的圖景:

在未來,人們可以像拼積木一樣,把不同的功能模塊拼到一起,制作出自己的應(yīng)用。這不僅有助于提升程序員的工作效率,同時(shí)也降低了人們的學(xué)習(xí)門檻。

不過,低代碼開發(fā)也有這自己的局限性:它就像是用現(xiàn)成的材料來搭建一座建筑,雖然方便,但對(duì)有些人來說,反而會(huì)限制他們實(shí)現(xiàn)自己的需求。

在這種情況下,一種用自然語言(也就是我們?nèi)粘Uf的話)來生成應(yīng)用的技術(shù)就此誕生了。

把需求說出來,就能自動(dòng)生成應(yīng)用了?

其實(shí),用自然語言生成代碼并不是一個(gè)新生事物。

早在幾年前,就已經(jīng)有不少企業(yè)和學(xué)校在研究這一技術(shù)了。到了去年,更是有人利用OpenAI的開放接口訓(xùn)練出了可以將一些簡(jiǎn)單的需求轉(zhuǎn)化成代碼的案例。

而到了現(xiàn)在,這項(xiàng)技術(shù)可以做的事情也變得更多,甚至可以直接將自然語言轉(zhuǎn)換成安卓應(yīng)用。

▲ 自然語言直接生成安卓應(yīng)用

實(shí)現(xiàn)這一功能的AI叫“Text2App”,而上面這張圖片,就是它的整個(gè)工作流程。

圖片左側(cè)是測(cè)試人員輸入的自然語言,翻譯過來就是“創(chuàng)建一個(gè)應(yīng)用,其中包含文字輸入框、說話按鈕和語音輸出功能。當(dāng)按下按鈕時(shí),朗讀文字輸入框中的文字!

右側(cè),則是應(yīng)用實(shí)現(xiàn)的功能了。整個(gè)編譯過程并不需要人工介入,等上幾分鐘,一個(gè)安卓應(yīng)用就這樣生成了。

把輸入的文字編程應(yīng)用,要經(jīng)過幾步?

如果要說能有一個(gè)AI能直接把人說的話變成應(yīng)用,小黑肯定是不信的。不過,Text2App采用的方法倒是非常聰明:它先將我們輸入的需求文本編譯成一種中間語言,之后再通過編譯器生成代碼。

什么是中間語言呢?其實(shí),小黑也不是很懂,于是大概地查了一下網(wǎng)上的釋義。不過這一查,小黑就更云里霧里了,還是貼一段百科的原文來讓大家了解吧:

“中間語言(英語:Intermediate language),在計(jì)算機(jī)科學(xué)中,是指一種應(yīng)用于抽象機(jī)器(abstract machine)的程序語言。它設(shè)計(jì)的目的是用來幫助我們分析電腦程序!

希望有懂的程序員老師能幫小黑解釋一下這句話。

不過,看不懂也不是什么大問題,我們把它看成是連接自然語言和代碼的橋梁就對(duì)了。

在之前,大多數(shù)希望實(shí)現(xiàn)自然語言直接生成應(yīng)用的嘗試,都是采用直接翻譯的模式進(jìn)行的。這就帶來一個(gè)問題:自然語言的結(jié)構(gòu)與代碼不同,直接翻譯的效果就會(huì)像谷歌翻譯的結(jié)果一樣,對(duì)一些短句和常用句式效果良好,一旦要翻譯整段文字,輸出的效果就慘不忍睹了。

因此,研究人員為了克服不能生成大型應(yīng)用的限制,發(fā)明了一個(gè)形式語言作為中間語言。它能提取自然語言中的重要內(nèi)容,再形成一個(gè)簡(jiǎn)單的程序來表示代碼。

▲ Text2App的完整工作流程

不過,很顯然,目前Text2App能夠?qū)崿F(xiàn)的功能還相當(dāng)簡(jiǎn)單,但研究人員的最終目標(biāo)非常遠(yuǎn)大:使Text2App成為一個(gè)成熟的、基于自然語言的app開發(fā)平臺(tái)。

如果要小黑來評(píng)價(jià)Text2App這一類自然語言生成應(yīng)用的嘗試,小黑只能用敬佩來表示:長期以來,編程的學(xué)習(xí)成本一直都不低,如果Text2App的理想真的能實(shí)現(xiàn),那對(duì)人們學(xué)習(xí)、利用編程有著莫大的幫助。

但同時(shí),小黑也對(duì)它的前景不那么樂觀:人工智能時(shí)至今日都只在發(fā)展的初期,Text2App究竟何時(shí)才能達(dá)成這一遠(yuǎn)大理想,似乎還遙遙無期。

圖源:Text2App研究團(tuán)隊(duì)、百度搜索

聲明: 本文由入駐維科號(hào)的作者撰寫,觀點(diǎn)僅代表作者本人,不代表OFweek立場(chǎng)。如有侵權(quán)或其他問題,請(qǐng)聯(lián)系舉報(bào)。

發(fā)表評(píng)論

0條評(píng)論,0人參與

請(qǐng)輸入評(píng)論內(nèi)容...

請(qǐng)輸入評(píng)論/評(píng)論長度6~500個(gè)字

您提交的評(píng)論過于頻繁,請(qǐng)輸入驗(yàn)證碼繼續(xù)

  • 看不清,點(diǎn)擊換一張  刷新

暫無評(píng)論

暫無評(píng)論

    掃碼關(guān)注公眾號(hào)
    OFweek人工智能網(wǎng)
    獲取更多精彩內(nèi)容
    文章糾錯(cuò)
    x
    *文字標(biāo)題:
    *糾錯(cuò)內(nèi)容:
    聯(lián)系郵箱:
    *驗(yàn) 證 碼:

    粵公網(wǎng)安備 44030502002758號(hào)