天天看點

代碼自動生成,給程式員帶來的是“春天”還是“寒冬”?大咖思辨

作者:AITIME論道

AI技術的飛速發展對各個領域帶來了深遠的影響和變革。在計算機程式設計領域,各種代碼生成工具的出現也對程式員們帶來了重要挑戰。此類工具可以通過對大量代碼的學習,高效地生成高品質的代碼,極大提升了代碼編寫的效率。不禁讓我們開始思考未來的程式員們,該何去何從,是被取代還是與代碼生成工具和諧共生,這都有待深思……

2023年5月25日,以“代碼自動生成是輔助還是取代程式員?”為主題的第四十三期大咖思辨如期舉行。本次活動由AI TIME和清華校友總會AI大資料專委會主辦,CodeGeeX承辦,盛景網聯科創彙協辦。此次活動邀請了智譜AI 大模型事業部 VP、CodeGeeX産品負責人薛宇飛,華為雲PaaS技術創新Lab代碼智能專家申博,雲起無垠創始人兼CEO沈凱文,aiXcoder COO李力行,極狐(GitLab)資深創新架構師郭旭東五位專家參與。活動中,五位嘉賓圍繞代碼模型、AI代碼生成時代的變革、未來的軟體開發等方面進行了深入探讨。本期活動共吸引了來自線上線下的專業領域觀衆約2.5萬人次參與。
代碼自動生成,給程式員帶來的是“春天”還是“寒冬”?大咖思辨

01

Open AI和Google是否有大模型的護城河?開源模式颠覆的是什麼?

薛宇飛:“護城河”是一個相對的概念,不會存在永久的無法跨越的技術壁壘。不管是OpenAI還是Google,“護城河”沒有想象得那麼深,其他大模型公司完全有可能通過一段時間的努力追上他們甚至超越他們。開源一方面促進了大家對大模型的認知和應用,另一方面它也在推動着技術向前更好地發展。

申博:OpenAI和Google處在大模型技術的最前沿,在共同推進這一領域的發展。開源的方式讓其他公司或組織也有機會訓練出可用的大模型,然而,要超越OpenAI和Google,就需要面對和突破很多未知的技術問題,而對這些細節問題的認知和經驗是OpenAI和Google的護城河,也是其研究越來越封閉的原因之一。此外,高品質資料的積累也是關鍵因素。OpenAI較早地将大規模公開釋出上線,已經積累了大量的使用者資料和較高的使用者粘性,這使得後期釋出的模型很難再分享到使用者紅利,包括Google的Bard。

李力行:“護城河”是一個相對的概念,會随時間而發生變化的。OpenAI或Google目前在模型規模、資料積累、工程上的技術細節等方面都有了一定的時間積累,占據優勢,這是它們的護城河。開源颠覆的是相對不那麼完善的模型和應用,可以讓小公司甚至獨立開發者有機會體驗和感受大模型。

沈凱文:資訊的流動有助于創造價值。雖然OpenAI和Google本身具有一定的技術優勢,但它們的“護城河”并不是無法逾越的。通過開源,其他開發者可以在短期内追趕甚至超越它們,尤其是垂直模型或者應用場景方面。然而,對于先行者而言,它們的模型在模型規模、資料集、商業地位等方面已經取得了一定的優勢,後來者需要一定的時間來積累這些優勢。

郭旭東:OpenAI和Google的護城河主要展現在三個方面:人才、成本和資料集。它們之是以具有優勢,是因為他們更早地掌握了相關資源并布局了社群生态。然而,我對開源持樂觀态度,因為,開源的颠覆是不可避免的,隻是時間問題。開源讓普通使用者也有機會在低成本的情況下體驗模型,并增加了底層力量,進而能夠促進整個生态的繁榮。

02

單獨的代碼模型是否有必要?多大規模的代碼模型才能滿足需求?

郭旭東:ChatGPT時代,單獨的代碼生成模型是必不可少的,而這些模型往往是以語言模型為基礎的。然而,由于應用場景的不同,在未來的發展中,專注于垂直領域的代碼生成模型将變得更加重要。這樣能夠降低模型的部署成本和體積,使更多的企業能夠參與并發揮更大的價值。

申博:單獨的代碼大模型存在是有必要的。從應用層面來看,原因主要有兩個:一是實際可用性的要求,二是程式設計語言的特殊性。從使用者體驗角度來看,用作代碼生成、解釋、調試的大模型應該滿足低延遲、高并發、高精确性等要求,模型的領域知識、輸入輸出形式等都有較為明确的限制,是以需要專業的代碼大模型來承載。從訓練角度來看,自然語言與程式設計語言之間存在很大差異,不同于自然語言,程式設計語言實際上隐含的是一種圖形式的資訊,可以看做與自然語言不同的另一種模态,這決定了代碼專用大模型的架構和訓練方法可能與自然語言需要有所不同。總之,單獨的代碼大模型存在是有必要的,但實際的軟體開發需要同時具備計算機知識與世界知識,代碼大模型最好要在通用大模型的基礎上派生。

薛宇飛:有了通用的大模型之後,專門的代碼模型還是有必要存在的。在代碼生成和補全方面,用純粹的代碼模型能夠保證響應速度,并且可以降低推理成本。我們目前也在探索使用通用模型解決代碼解釋相關的問題,因為它在自然語言方面的能力更強,可以更好地解釋代碼,這兩種模型都有各自适合的應用場景。在目前來看,百億是代碼生成模型較适合模型的規模。

李力行:在代碼領域,确實有必要擁有專門的代碼大模型,并且我們應該基于自然語言的基礎建構代碼模型。代碼模型對模型推理、計算資源有特殊的要求,是以将其它備援的資訊與代碼模型結合起來是沒有必要的。代碼語言具有獨特性和文法限制,是以,在代碼模型的結構上也值得進一步探索。關于代碼規模的問題,“夠用”是一個很難定義的概念。目前來看,百億級或者千億級的大模型能夠達到不錯的效果,能夠解決現實的問題。

沈凱文:在代碼領域,确實應該存在獨立的代碼大模型。這可以分為兩個階段來看待:在AGI出現之前,我們可以将人類的需求分為通用需求、專業領域、長尾需求,其中長尾需求還是需要人類去進行調控的。在AGI出現後,它有可能真的取代程式員的工作。在某些場景中采用垂直的模型能降低資源消耗,對獨特領域能賦予更多的知識,有更準确的結果。是以,專注于獨特領域的模型可以更好地滿足特定需求,并提供高品質的解決方案。

03

AI代碼生成時代會産生哪些變革?

沈凱文:低代碼平台因其易用性和靈活性,更容易被廣大使用者接受和應用。然而,産品的付費與否并不是衡量其品質的關鍵因素。付費的産品要能夠給使用者創造價值,而免費的産品最終需要找到适合的盈利模式,以便在維護和研發方面保持可持續性。在使用代碼生成模型時需要考慮到不同的應用場景,使其能真正滿足使用者需求,并發揮其應有的意義。

郭旭東:目前,國内外釋出的各種大模型在能力上存在差異,它們的作用互相沖突且局限于很小的語言範圍内,對代碼的上下文了解能力有限,無法有效解決實際問題,這也成為後續發展的一個需要解決的方向。Copilot采用的訂閱制收費政策為使用者接受新模式提供了機會,這是一個進步,并且在未來将會持續發展。随着競争加劇和成本降低,開發者将推出更好的功能。目前,我們已經将代碼生成模型應用到了軟體開發的多個方面,例如代碼注釋、代碼檢查和功能總結等,這降低了擷取資訊的門檻,提高了研發效率。

李力行:免費本身是一種商業模式,我認為Copilot目前的收費政策是為了區分使用者,将有限的資源留給真正需要的人。對于代碼生成模型的使用,是一個逐漸适應和提升效率的過程。目前,大多數人停留在Demo層面,僅通過自然語言描述就能生成一個方法或代碼。另外,從教育訓練和教育使用者的角度看,它也給很多零基礎的人提供了感受AI魅力的機會。在實際開發的過程中,它可以作為程式設計的輔助伴侶,節省時間并提高效率。那麼在後期,我期待産生一種新的程式設計互動方式,在寫代碼的過程中輔助模型提問、解釋、自動定位bug或者有更高階的應用。

薛宇飛:AI代碼生成應用的商業模式不會再聚焦在個人使用者身上,而會轉向企業使用者付費。很多使用者在使用AI産品的時候往往有更高階的要求,現在的代碼生成模型在滿足使用者需求方面是有局限的,這是未來AI程式設計要努力的方向。使用者也需要更詳細地了解AI産品的特性,才能更好地輔助自己工作提高效率。

申博:大模型将會對所有軟體開發工具和其商業模式帶來變革。未來AI加持下的軟體開發工具應該會形成免費和收費并存的模式。免費提供代碼生成功能對于使用者和工具開發者來講都是有益的,它降低了使用門檻并擴大了市場,使得更多人可以上手嘗試并探索有趣的使用場景;但是,僅憑借代碼生成進行收費是不夠有競争力的,開發者的日常工作除了代碼編寫,還有測試、傳遞、維護等更加耗時的工作,這些比代碼生成的應用場景更豐富,也更有可能對開發效率和品質帶來正向收益。是以,在代碼生成這一基礎需求之上,更具體的進階功能和定制化需求,例如智能測試、知識問答、錯誤調試、安全問題或開發規範掃描等,才是具有付費價值的差異化點,使用者可以根據自己的實際需求實時選購。

04

對未來軟體開發的暢想

沈凱文:希望未來的大模型可以提供一些輔助,人類進行微調和優化。

李力行:未來一個人可能具備一個團隊的能力和功能,活成一個團隊。

申博:軟體研發領域是AI提升生産力最有潛力的方向之一,未來每個人都有可能成為某種程度上的軟體開發者。

薛宇飛:未來程式設計語言可能不複存在,隻需人類用自然語言描述就能産生可以運作的程式。

郭旭東:在短期内會湧現出更多的全棧工程師,希望未來能夠産生完全不需要人工介入的人工智能工具。

劉道全:雖然大模型有可能替代一部分工作,但更好的情景是輔助人類完成工作。

何芸:大模型推動了人類的進步,在未來可以讓人類釋放一部分精力,将時間投入到提升自己的領域。

繼續閱讀