“我開發我自己”,大模型編程還要多久?
編者按:本文轉自銀杏財經,微新創想經授權轉載。
從ChatGPT爆火到進入“大模型時代”相隔不到一年,人工智能已經成為了科技圈最重要的風口。不僅僅是實力雄厚的大廠在押注大模型,財力稍遜的中廠小廠也在嘗試著從人工智能浪潮中“掘金”。
據研究機構統計,截至9月,國內有超過106個大模型發布,隨著備案工作的完成,頭部玩家的大模型紛紛向公眾開放,文心一言、訊飛星火、百川、通義千問、混元等大模型的上線也標志著這場大模型軍備競賽已經進入白熱化階段。
值得注意的是,在應用場景上,頭部玩家們的大模型橫跨客服、工業、醫療、汽車、游戲等多個領域,曾被寄予厚望的關鍵場景——編程,現下反倒提及的越來越少。
使用人工智能進行編程的想法由來已久。2019年,Google Brain發表了一篇論文,嘗試以深度學習的方式輔助程序員進行開發。隨后的幾年中,微軟、谷歌等科技巨頭紛紛開始嘗試利用人工智能編程,推出了GPT-C、PyMT5等針對編程場景開發的模型。
隨著ChatGPT證明了智能涌現的存在,人工智能編程再一次成為科技行業的重點關注方向,OpenAI Codex、GitHub Copilot這樣更成熟的編程大模型也出現在了市場上。甚至一度有人認為,人工智能將迅速取代程序員的位置,借助人工智能,任何人都可以進行開發工作。
人工智能編程走到了哪個階段,是否具有商業化潛力?人人都可以零基礎借助人工智能進行開發工作的愿景是可實現的嗎?
在與業內人士的交談中,數據工程師陳鋒告訴銀杏科技,利用人工智能大模型進行編程在理解能力、準確度上還存在不少問題,技術尚不足以支撐這一功能商業化,普及零基礎編程這一目標更為遙遠。
開發者視角下的AI輔助編程?
劉航剛剛指導自己8歲的兒子用人工智能開發了一款小游戲。這是一款基于Javascript的平臺跳躍游戲,游戲中的小男孩需要不斷跳過建筑物的頂端,玩法類似曾經火遍全球的flappy bird。
在劉航的指導下,他的兒子花了整整一周的時間才完成這款看來有點簡陋的小游戲。游戲代碼由ChatGPT和Claude生成,美術資源則由Stable Diffusion提供。
作為一家互聯網公司的中層,劉航雖然擁有技術背景,但從未要求上小學二年級的兒子學習編程。劉航希望能通過開發小游戲的方式讓兒子學習一些相關的知識。結果正如他希望的那樣,作為全世界最聰明的人工智能之一,ChatGPT給出的代碼并不可靠,大多數情況下都需要劉航帶著兒子認真修改之后才能正確運行,這給了他教兒子接觸編程的機會。
在這個過程當中,劉航一邊驚嘆于人工智能真的可以讓零基礎的兒子完成小游戲,一邊也對人工智能編程越來越不信任:“代碼寫的有點‘弱智’,低級錯誤一大堆,稍微復雜一些就徹底不會了。”
這并不是劉航第一次接觸人工智能編程。今年3月,OpenAi發布了最新的GPT4,能力之強讓劉航一度產生了將其引入公司開發流程的想法。但在實際使用之后他就放棄了:“AIGC本質上并不是理解了編程語言,而是從現有案例中生成。因此,開發者需要準確描述自己的需求,才能得到相對正確的結果。重復的調試過程花費的時間并不比直接由開發者編寫更少。”
另一位開發者黃一也表示,AI生成的代碼質量不確定性太高:“讓AI寫復雜的代碼,它寫的正確與否還得人重新查一遍,花費的時間可能比直接寫還要多。畢竟代碼需要運行才能成為有價值的交付物。”
技術到商用為何難以跨越?
眾所周知,編程語言實際上是一種用于人與計算機之間溝通的語言。在大眾認知中,人工智能似乎天生就會使用這些語言,因此很難想象大模型編程會遇到何種技術障礙。
劉航認為,程序員“太聰明”,是大模型在編程上顯得“笨拙”的主要原因,當前的大模型難以理解他們的需求。
“與人類使用的自然語言不同,計算機語言更加精確。自然語言與生俱來的靈活性讓我們可以用各種方式來表達需求,也可以理解不同場景下語言的內涵,人工智能則很難做到這一點。”
劉航用某國內大模型無法很好理解中文成語來舉例。
人工智能很好的理解了“青”“梅”“竹”“馬”四個字,卻無法理解“從小就相好的男女青年”這一引申含義。實際上,大多數大模型作畫的都要求用戶“完整描述需求”才能獲得理想的結果,在編程當中也是如此。尤其是對于復雜的開發流程來說,開發者很難用簡潔的語言描述清楚自己究竟需要什么,因此要不斷使用不同的Prompt(提示詞)來對生成的結果進行調試。
另外,面對條件和要求各不相同的復雜問題時,大模型出錯的概率會大大提高,開發者必須將復雜的問題分解為多個步驟,才能得到正確的結果。
另一個問題是大模型缺乏判斷能力,無法判斷輸出的結果是否正確。
數據工程師陳鋒告訴銀杏科技,“人類有能力判斷自己是否能夠解決編程問題,但大模型不行。目前訓練模型都是通過無監督的因果推斷進行訓練的,換句話說,無論有沒有正確答案,大模型都會給你一個看起來似是而非的結果,驗證這個結果還需要花費大量的時間。”
同樣欠缺的還有自主學習能力。作為一個需要不斷學習新技術的崗位,程序員尋找和學習新知識的能力是必須的。但對于大模型來說,學習新知識意味著要對模型進行大量的調整,需要付出更多的精力和資源。
大語言模型與人類的根本區別在于學習和適應新知識的能力。大模型的“信息更新”并非真正學會這些知識,而是基于搜索引擎的推理。要實現真正的知識學習,還需重新訓練,如果迭代頻率高的話,訓練成本將變得不可接受。
受限于理解能力、判斷能力和學習能力的不足,目前市面上的人工智能輔助開發工具都是針對較為輕度的使用場景:如自動填充代碼段、快速創建函數、自動注釋、優化代碼甚至測試代碼。
以GitHub的Copilot為例,在開發者提供代碼片段示例后,只要單擊一下Tab鍵,GitHubCopilot就會給出更多建議。類似的功能Replit Ghostwrite、TabNine、OpenAI Codex、CodeWP等主流人工智能輔助編程產品中都會提供。
“目前AIGC只能勝任簡單的測試和代碼補全,實際上測試不用AI也能跑,只有代碼補全能夠略微提高工作效率”,黃一告訴銀杏科技,“要讓企業為輔助編程AI付費目前肯定是不現實的。”
不只編程受限
編程曾被公認為大模型應用的“典型場景”,而如今大模型在編程領域遇到的問題,以類似的邏輯存在于其他應用場景中。
比如因大模型理解能力的不足,要求更精確的語言輸入,催生了新興技術“提示詞工程(Prompt Engineering)”。這本質上是試圖在不改變模型參數的情況下優化大語言模型的輸出結果。
提示詞工程的門檻不低,不僅需要設計和研發提示詞,還包含大模型交互和研發的各種技能和技術。用戶可以通過提示詞工程更充分的運用大模型,比如提高其安全性、借助專業領域知識和外部工具來增強其能力。
但顯而易見的是,對于大多數使用場景來說,專門去學習一門和人工智能交互的技術是性價比極低的。即使出現“提示詞工程師”這種職業,在未形成行業規范與應用標準前,他們也很難有所作為。
在編程之外的領域,缺乏判斷能力的AI會生成偏離事實的內容,被稱為“人工智能幻覺”。這類技術缺陷限制了大模型的商業化潛力,因為市面上基于大模型的產品開發顯得相對謹慎,集中于幾個常規領域,如美顏相機、語音助手等。
以國內top廠商提供的大模型相關服務來看,目前大模型主要為用戶提供增值服務,能夠獨立成為產品的少之又少。綜合2023上半年多家企業財報,商湯科技、三六零、科大訊飛、拓爾思、值得買、中文在線等企業明確表示AIGC相關業務已經產生了收入。
商湯科技生成式AI相關收入在上半年錄得670.4%的同比增長,對集團業務的貢獻也從2022年的10.4%迅速提升至20.3%;360智腦給中小企業客戶提供AI增值服務,取得近2000萬元收入;科大訊飛AI學習機GMV在5月和6月分別大增136%、217%;拓爾思AIGC業務實現營業收入782萬元;值得買站內“機器貢獻”內容發布量同比大增98.09%。
增值服務已經在不同領域為大模型行業帶來了一些收入,但這樣的體量很難覆蓋大模型的訓練成本,更不要說支撐行業進一步發展甚至誕生新的業態。
借用丘吉爾的話,“這不是結束,甚至不是結束的開始,可能只是開始的結束”。
技術與應用之間的壁壘仍舊高聳,比起談概念,行業或許更需要的是發現真實需求、解決具體問題。
本文(含圖片)為合作媒體授權微新創想轉載,不代表微新創想立場,轉載請聯系原作者。如有任何疑問,請聯系http://www.i0562.net/。