Copilot一夜殺死編程助手,GitHub官宣接入Claude+Gemini!OpenAI淪爲備胎

新智元報道

編輯:編輯部 LHYj

【新智元導讀】OpenAI再也不是微軟的唯一解。第十屆GitHub開發者大會上,微軟官宣GitHub Copilot同時接入Claude 3.5 Sonnet和Gemini 1.5 Pro兩大模型。同時,還發布了0代碼開發應用的「魔法」平臺。AI代碼生成第二階段已來。

一年一度GitHub開發者大會上,微軟再次革新了碼農的編碼效率。

這次,GitHub真的發力了:

未來,GitHub Copilot中接入的地表最強三大模型,開發者們可以隨意調用。

Claude 3.5 Sonnet(New)編碼熟練度非常高,擅長處理整個軟件開發生命週期的編碼任務

Gemini 1.5 Pro擁有原生多模態能力,200k上下文適合處理大規模代碼庫

o1-preview/o1-mini就不用多提了,強大思維鏈能力,具備了先進的推理能力

伴隨着這一大動作,GitHub CEO正式宣告:AI代碼生成早期階段已經結束,第二階段正式開啓。

AI編碼已經正式走向AI原生、AI智能體、多模型可選的階段。

不僅如此,微軟正式推出了AI零代碼編程微應用平臺GitHub Spark,還是多模態的那種。

爲此,團隊將其稱之爲「軟件編程的Dumbledore」。也就是說,任何人動動嘴就能做App了。

它不僅能夠根據一個提示構建輕App,還能自動保存每個迭代的版本。

比如,做一個可以學學西班牙語的閃卡,一句話就夠了。

最終,GitHub希望用AI賦能10億開發者,成爲世界最大開發者社區。

憑藉以上所有革新,微軟真的可以與Cursor一戰了。

更值得一提的是,Python已經成爲世界使用最多的編程語言。

GitHub Copilot加入三大新模型:Claude、Gemini、OpenAI o1

在Copilot Chat中,o1-preview和o1-mini已經上線,Claude 3.5 Sonnet將在接下來的一週內推出,而Gemini 1.5 Pro將在未來幾周內上線。

這三大模型,究竟會在編碼中發揮怎樣的效用?

Claude 3.5 Sonnet(New)

Claude 3.5 Sonnet(New)能夠處理多步驟的編碼任務。

應用程序更新、代碼重構、功能開發……所有複雜的編碼任務只需一個指令!

在GitHub給出的案例中,用戶輸入指令「重構代碼,將腳本和樣式分離出來」後,Claude進行了4個步驟將腳本和樣式從用戶提供的HTML文件中分離出來,進行重構代碼。

隨後,用戶可以檢查重構以後的代碼文件預覽。檢查無誤即可點擊Accept和Done,完成重構代碼任務。

Gemini 1.5 Pro

Gemini 1.5 Pro擁有200k token的上下文窗口,並且原生支持多模態,能夠同時處理代碼、圖像、音頻、視頻和文本。

在Copilot Chat中,Gemini 1.5 Pro在常規代碼建議、文檔和代碼解釋方面也提供了令人印象深刻的響應速度!

比如,用戶輸入指令「如果網頁當前不可見,則停止更新動畫」。

Gemini很快提供瞭解決方案:

然後,Gemini根據解決方案自動更新了相應的代碼文件,還創建了一個README文檔。

OpenAI o1

在Copilot Chat的應用中,o1的推理能力使其能夠更深入地理解代碼約束和邊界情況,生成高效且高質量的解決方案。

簡單來說,o1可以優化代碼!

o1的使用案例中,用戶輸入了指令「使頁面在加載和渲染新的動畫幀時更加高效」。

o1回答道:

接着,o1自動修改了HTML文件:用「canvas」替換「div」元素網格,並更新JavaScript代碼以在「canvas」上繪製網格。

GitHub Spark:一句話寫App

如前所述,一年一度GitHub開發者大會上,微軟正式推出了AI零代碼編程微型應用平臺GitHub Spark。

這是一個完全使用自然語言構建應用程序的AI原生工具!無需編寫或部署任何代碼!

概括來說,它通過三個緊密集成的組件來實現:

一個基於自然語言的編輯器,讓你可以輕鬆描述想法,並隨着時間的推移加以完善

一個託管的運行時環境,用於託管你的項目,併爲其提供數據存儲、主題和大語言模型的訪問

一個支持PWA的儀表盤,使你可以從任何地方管理和啓動你的項目

微應用(micro apps)裡的「微」,並不是指應用的價值大小,而是指其功能複雜度的規模。

目的在於爲用戶量身定製,打造「一個微應用專注做好一件事」的極致體驗。

GitHub Spark的項目介紹網站中列舉了一些團隊在製作並使用的幾個微應用。這些應用涵蓋了動畫、生活管理工具、學習輔助工具、個性化新聞客戶端等多種類型。

它們的共同點是:每個應用的外觀和功能都完全符合創建者的預期,不多也不少,恰到好處。

1. 兒童零花錢追蹤應用

這個應用主要供父母使用,可以設置成只讀或讀寫模式共享。當達到儲蓄目標時,該應用還會使用大語言模型生成祝賀信息。

2. 由一位六歲小朋友構想並創建的汽車動畫世界

3. 用於管理每週卡拉OK聚會的應用,可追蹤每位受邀好友的參與狀態

4. 一個有趣的地圖應用

這是一個10歲的孩子爲了學習而創建的應用。它可以通過名稱搜索城市,並使用大語言模型爲每個城市生成有趣的簡要概述。

5. HackerNews定製版客戶端

這個應用可以展示HackerNews熱門前20篇文章,並使用大語言模型對評論區進行總結。

基於自然語言(NL-based)的工具鏈

在構建應用程序的過程中,清晰地定義目標和需求至關重要。這涉及到對應用的整體概念的深刻理解,同時也需要明確應用的具體特性和用戶體驗。

然而,這個過程可能相當複雜,有時甚至會讓初學者感到無所適從。爲了幫助解決這個問題,GitHub Spark應運而生,提供了一種全新的解決方案。

GitHub Spark讓你能夠從一個簡單的想法出發,例如「一個追蹤孩子零用錢的應用」,並通過一系列智能化的引導步驟將其轉化爲實際應用。

它的核心在於利用自然語言處理技術,使開發過程變得更加直觀和高效。

以下是GitHub Spark提供的四大核心功能:

交互式預覽:用戶通過自然語言創建並修改項目的過程中,可以實時預覽應用。

多版本方案:針對某個功能,用戶可以請求系統生成多個版本,最終選擇最合適的方案

自動歷史記錄:系統會自動保存每個迭代版本,以便在構建過程中對比不同版本。

模型選擇:提供多種AI模型供用戶選擇,以適應不同應用場景

在GitHub Spark中輸入自然語言指令時,系統不僅能生成相應的代碼,還會即時生成一個交互式的預覽界面。

有了它,用戶不僅可以實時看到應用的效果,並且還可根據需要進行調整。

如下圖,用戶想將Spark News標題的顏色設置爲橙色,只需簡單地告訴系統,它就會自動修改設置並更新預覽。

多版本方案

在開發過程中,如果用戶對某個功能的具體實現方式不太確定,可以請求系統生成多個版本。

系統會提供3到6個不同的版本,每個版本都有細微但重要的區別。

這些版本可以幫助你更好地理解和選擇最合適的方案,就像是有一個AI思維助手在幫你進行頭腦風暴。

對於「讓界面看起來『傻乎乎』」的修改要求,GitHub Spark生成的多個方案

自動歷史記錄

每次對應用進行修改時,GitHub Spark都會自動保存一個版本,並允許用戶隨時恢復到之前的任何一個狀態。這意味着用戶可以大膽地嘗試新的想法,而不必擔心會破壞現有的工作。

此外,歷史記錄還提供一種「語義化的源代碼查看」功能。

也就是說,開發者們可以互相分享想法並查看對方的歷史記錄,瞭解其項目開發過程,並進行學習借鑑。

模型選擇

與GitHub Copilot相同,GitHub Spark也提供了三大模型的選擇。

在使用過程中,如果某個模型生成的結果不符合預期,用戶可以切換到另一模型中重新嘗試。

自動歷史記錄功能會記錄每次修訂使用的模型,讓用戶能夠清楚看到應用的迭代過程。

年度開發者報告:Python問鼎第一,1700萬+開發者

召開發佈會的同時,GitHub官方還重磅發佈了2024年度開發者報告。

在這次的年度報告中,有三個主要趨勢:

生成式AI項目激增

2024年,GitHub上的生成式AI項目數量同比增長98%,貢獻數量激增近60%。其中,印度、德國、日本和新加坡等地貢獻更爲突出。

全球開發者數量迅速增長

2024年,全球開發者數量增長勢頭依舊不減,尤其是亞洲、拉丁美洲、非洲,其中,印度的增長尤爲明顯,預計到2028年將成爲GitHub上全球最大的開發者羣體。

此外,GitHub Education計劃已驗證超過700萬參與者,其中學生、教師和開源維護者使用GitHub Copilot的人數同比增長了100%。

這表明AI不僅能夠幫助人們更快地編寫代碼,還吸引了更多人成爲開發者。

編程語言崛起

2024年,Python首次超越JavaScript成爲GitHub上使用最多的語言,Jupyter Notebook的使用量激 增92%,這表明越來越多的開發者們都在使用GitHub。

儘管Python、JavaScript、TypeScript和Java仍然是最廣泛使用的語言,但像Rust這樣的系統編程語言也在逐漸流行。

2024年生成式AI的發展現狀

2024年,生成式AI已經走出了2023年的概念熱潮期,開發者的工作重心已經從探索性實驗轉向追求實際應用成果,而這一趨勢在GitHub平臺的數據中得到了明確體現。

報告顯示,2024年GitHub平臺上的開發者共創建了超7萬個生成式AI項目,同比增長近60%。

與此同時,AI模型已經成爲開發者技術棧中不可或缺的組成部分。

隨着開發者不斷挖掘人工智能的各種應用,生成式人工智能模型在軟件開發裡的作用已經從只是幫助寫代碼,變成了開發應用程序時的基本組成部分。

由於智能手機需要部署人工智能模型,開發者們越來越需要性能好且不怎麼消耗計算資源的小模型。

2024年,按貢獻者數量來看,ollama/ollama這個開源人工智能項目增長最快,這說明開發者越來越熱衷於在本地運行大型語言模型(LLM)相關的實驗。

隨着模型越來越小、計算成本越來越低,預計會有更多開發者把這些模型用在他們開發的應用程序裡。

當然,GitHub平臺上的開發者也正在努力降低AI實驗的准入門檻。

報告顯示,排名前10位的公共生成式AI項目都在努力提升AI模型的可訪問性以簡化實驗過程。這些項目的應用範圍廣泛,包括開發優化文本轉圖像生成的交互友好型界面以及構建用於任務管理的自動化AI智能體。

此外,在GitHub平臺上,AI開發工作也呈現出新的趨勢:

小規模模型越來越火

過去一年中,GitHub上的開發者開始廣泛採用Meta的LLaMA模型,這表明開發者對小型開源模型越來越有興趣了。

專業領域對AI工具需求變大

面向特定領域(如學術研究)的AI工具開發需求正在顯著提升。

持續深化AI智能體的流程自動化應用

AutoGPT相關項目的持續活躍表明,自動化仍是重點探索方向。

GitHub Copilot在教育方面影響變大

報告顯示,已經有超過100萬的開源維護者、認證學生和教師通過扶持計劃免費使用GitHub Copilot。

2024年,使用GitHub Copilot的老師、學生和開源維護者數量增加了一倍。這充分體現了AI在教育領域和技能培養(例如學習新編程語言)方面的重要價值。

值得一提的是,過去一年中,超過45萬名GitHub Education用戶首次參與了平臺項目開發。

具體而言,同時使用GitHub和GitHub Copilot的開發者在開源和公共項目的參與度顯著提升。

對於每週使用GitHub五天的開發者,其參與度提高了12%-15%;而對於每週使用一次的開發者,這一提升幅度爲8%-15%。這一現象與研究機構關於AI編碼工具對開發者生產力提升的研究結果相符。

全球範圍內,生成式AI項目的貢獻量和貢獻者數量均呈增長態勢。其中,印度的貢獻同比增長了95%,法國增長了70%。

一些地區的公共生成式AI項目貢獻者增幅尤爲突出,例如荷蘭(291%)、埃塞俄比亞(242%)、哥斯達黎加(171%)、塞爾維亞(175%)和越南(143%)。

特別是隨着更多小型大語言模型的出現,降低了AI輔助軟件開發的算力門檻。生成式AI編碼工具支持使用自然語言編寫代碼,打破了語言障礙,爲全球開發者創造了更多參與項目的機會。

最流行的編程語言

除了生成式AI的突出表現外,編程語言也呈現出崛起的態勢。

報告顯示,Python已超越JavaScript,成爲GitHub平臺上使用最廣泛的編程語言,終結了JavaScript 持續十年的領先地位。

這是自2019年以來,排名前兩位的編程語言首次發生重大變化。同時,Shell語言的使用率也在2024年超過了C語言,進一步反映了編程語言格局的變化。

儘管像Rust和Go這樣的新興語言正迅速崛起,傳統編程語言如C和Java等仍維持着廣泛的應用場景和市場佔有率。

Python和JavaScript這類入門門檻較低的編程語言,因其易學性和強大的社區支持,爲編程教育和科研領域提供了強有力的支持,特別是在數據科學和生成式AI領域,Python已經成爲無可爭議的領導者。

值得一提的是,如果單從代碼提交數量來看,JavaScript依然是領先者。然而,在綜合考量GitHub上的所有貢獻活動時,Python已經超過了JavaScript。

TypeScript在過去的幾年裡經歷了快速的成長,尤其是在2014年至2019年間,它逐漸成爲GitHub上第三大主流編程語言,超越了Java。

JavaScript的跨平臺能力和靈活性,使其成爲從前端到後端開發不可或缺的一部分。

Rust作爲一門旨在解決C和C++安全問題的編程語言,其應用範圍正在不斷擴大,甚至被用於微軟Windows等重要應用的核心代碼重構。

綜上所述,編程語言的使用趨勢不僅體現了技術的進步,還揭示了開發者角色的多樣化。

如今,不僅僅是傳統的軟件開發者,還有運維工程師、數據科學家、教師等多領域的專業人士都在積極參與編程活動,共同推動技術的發展。

Python在數據科學和研究領域的主導地位以及T-SQL在數據庫管理中的廣泛應用,都說明了這一點。

此外,HCL、Go語言和Dockerfile的使用增加,標誌着雲原生開發和基礎設施即代碼實踐的不斷成熟和發展。

參考資料:

https://githubnext.com/projects/github-spark

https://github.blog/news-insights/octoverse/octoverse-2024/

https://github.blog/news-insights/product-news/bringing-developer-choice-to-copilot/