讓普通人秒會編程?微軟在Power平臺上集成GPT-3,將自然語言直接變成現成代碼

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"去年9月,微軟宣佈獲得了OpenAI的GPT-3語言模型的獨家授權。而在近日舉辦的Build 2021開發者大會上,微軟正式公佈了收購之後的第一個商業用例:在Microsoft Power Apps中集成GPT-3的能力,可將自然語言直接轉換爲現成代碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"雖然目前這項功能使用範圍有限,只支持在微軟Power Fx中生成公式(Power Fx是一種由微軟Excel公式衍生而來的低代碼編程語言),但卻已經顯示出機器學習作爲代碼自動生成工具、幫助新手程序員快速投入生產的巨大潛力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟公司低代碼應用平臺集團副總裁查爾斯·拉瑪納(Charles Lamanna)在採訪中表示,“目前市場對於數字解決方案的需求量很大,但程序員數量卻無法及時跟上。因此,除了在世界範圍內推廣編程學習之外,我們爲什麼不直接在開發環境裏說大白話呢?”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開發門檻大幅降低"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"GPT-3 是全球最大的自然語言模型。據微軟官方介紹,在 GPT-3 的驅動下,現在 Power Fx 可以讓任何人完全不借助任何編程知識,僅僅用自然語言就能完成應用程序的搭建。Power Fx 的這項升級帶來了AI輔助的完全直覺式的編程體驗,讓開發者或者其他任何人都能更快速地開發應用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"介紹很華麗,實際使用如何呢?舉個例子,用戶想實現一個“找到所有訂閱過期的美國用戶”的指令,只需要把需求以正常的語言表達輸入進去,就可以直接翻譯成Power Fx的代碼語句,比如像下面圖片顯示的一樣。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/c3\/13\/c3bdd53b142d0d14a9f3ae3309a64313.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":"輸入自然語言。截圖源自演示視頻"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/85\/17\/855654e99c7d976df96e7bae81a28917.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":"自然語言被翻譯成相應的代碼"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.infoq.cn\/resource\/image\/d3\/8b\/d3bdc38ec99dc6cd9e2fd6d35bcd508b.jpg","alt":null,"title":"","style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":"","fromPaste":false,"pastePass":false}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":"執行所選的代碼"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拉瑪納表示,“整個時代正朝着低代碼乃至無代碼邁進。拖放、單擊、單擊、再單擊,就能編寫出有效的公式。但如果複雜度再高,用戶就很難快速適應了,這時候就需要由機器學習伸出援手。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟並不打算讓用戶額外學習如何在Power Fx中執行數據庫查詢,反而更新了PowerApps,幫助他們使用簡單的自然語言編寫出查詢,而後由GPT-3將其翻譯爲可用代碼。如此一來,如果用戶希望通過“FirstN(Sort(Search(‘BC Orders’, “Super_Fizzy”, “aib_productname”), ‘Purchase Date’, Descending), 10),”搜索數據庫,他們完全可以直接寫下“在產品名稱中,顯示出10個包含Super Fizzy的訂單,並按購買日期由晚到早排序”,之後GPT-3就能生成正確的代碼。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"“我記得我們在週五晚上拿到了第一套原型方案。用過之後,我有種毛骨悚然的感覺。這麼多年以來,技術產品從來沒給過我這樣的感覺。”對於新的升級,拉瑪納如此感慨道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟並不是在這方面做出嘗試的第一人。近年來,市場上已經出現衆多AI輔助開發相關程序,包括Deep TabNine等也在使用GPT系列模型提供支持。但由於可靠性較差,這些程序並沒能得到廣泛應用。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"衆所周知,編程語言多變複雜,極微小的錯誤也有可能令整個系統陷入崩潰。此外,AI語言模型的輸出往往比較隨意,可能將單詞跟短語搞混,不同句子之間相互矛盾更是司空見慣。結果就是,常常需要經驗豐富的程序員去人工檢查AI自動生成的輸出結果。這自然會影響到新手們使用此類工具的意願。在這種情況下,Power Fx的簡單性反而成了最大優勢。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"Power Fx語言非常簡單,它源自微軟Excel公式,而且在功能方面也有較大的限制。“Power Fx只是數據綁定的單行表達式,沒有構建與編譯等概念。用戶編寫的內容可以立即計算得出。”拉瑪納說道。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"換句話說,它雖然沒有Python或JavaScript這類成熟編程語言的強大功能或靈活性,但同時也迴避了AI生成代碼可能遭遇的大部分錯誤空間。作爲一項附加保護措施,Power Apps界面會要求用戶確認由AI生成的Power Fx公式。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"並非毫無風險"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"新功能將從今年6月起開放預覽,它大大展現出了微軟探索“低代碼、無代碼”的野心。但作爲GPT-3的主要商業用例,這也只是當代AI領域中占主導地位的AI語言模型的其中一個實際應用。這些系統功能強大,幾乎能夠生成我們所能想象的任何文本類型,並通過多種方式操縱語言。與此同時,不少其他大型科技企業也正在探索其中蘊藏的無限可能性。谷歌已經將自己的語言AI模型BERT集成到搜索產品當中,而Facebook也將類似的系統引入到機器翻譯等場景之下。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但這些模型也有自己的問題。其核心往往來自研究人員從網絡上爬取到的大量文本數據中的語言模式。就像微軟的聊天機器人Tay會很快學會Twitter用戶發佈的侮辱性言論一樣,這類模型也很可能在編碼當中重現各種形式的性別歧視與種族主義表達。由此生成的輸出,也可能帶來意料之外的負面影響。例如,某個基於GPT-3的實驗性聊天機器人本應發佈醫療建議,卻規勸模擬病患最好自行了斷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拉瑪納強調,對於微軟來說,使用GPT-3創建代碼的風險雖小,但也仍然存在。該公司已經對GPT-3進行了微調,希望通過Power Fx公式示例進行訓練以掌握代碼轉換的能力。但從根本上講,這款程序的核心仍然基於從網絡上學習到的語言模式,這意味着其中或多或少殘留着某些負面元素與偏見。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"拉瑪納舉了使用該程序查找“所有優秀求職者”的示例。程序會怎麼理解這條命令?GPT-3可以發明新的標準來回答問題,也有可能自行假設“好”跟“白人”是一回事,畢竟網上的不少言論就是這麼暗示的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"微軟公司表示將通過多種方式解決這類問題。首先就是設定系統不會響應的違禁單詞及短語列表。拉瑪納強調,“我們不會推出任何可能輸出有毒言論的AI系統。”而如果這套系統生成了其自認爲有問題的內容,還會提醒用戶將結果上報給技術支持團隊。之後,會有員工介入並努力解決問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"但拉瑪納也指出,要想在程序安全與功能靈活性之間求得平衡性顯然非常困難。按種族、宗教或性別進行篩選既可能代表歧視,也有可能對應某些合法應用。微軟似乎在努力找到這兩類應用場景的區別。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"The Verge認爲,儘管這款程序還面臨着種種未能解決的問題,但這只是微軟大規模試驗的第一步。不難想象,將類似功能集成至微軟Excel中之後,相關服務將覆蓋全球數億用戶、極大擴展其可訪問性乃至社會影響力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"不過拉瑪納否認了這種大規模應用的可能性,表示這不是他的職責所在,但他坦言新項目可以在任何能夠支持Power Fx的場景下實現GPT-3輔助編碼,而且Power Fx廣泛存在於微軟產品的各個層面。因此,相信用戶在未來使用微軟產品時,會越來越多地享受到AI代碼生成帶來的便利與收益。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"參考鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/www.theverge.com\/2021\/5\/25\/22451144\/microsoft-gpt-3-openai-coding-autocomplete-powerapps-power-fx"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"https:\/\/blogs.microsoft.com\/ai\/from-conversation-to-code-microsoft-introduces-its-first-product-features-powered-by-gpt-3\/"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章