Go 最大挑戰(zhàn)、AI 方向、內(nèi)部?jī)?yōu)先級(jí)?2024 H1 開發(fā)者報(bào)告發(fā)布
大家好,我是煎魚。
在這個(gè)月的月初,Go 官方公布了 1 月、2 月做的 Go 開發(fā)者調(diào)查結(jié)果。本次調(diào)查的主要關(guān)注點(diǎn)是:開發(fā)人員如何開始將 Go(或其他語言)用于 AI(人工智能)相關(guān)場(chǎng)景。以及正在學(xué)習(xí) Go 或希望擴(kuò)展 Go 技能的開發(fā)人員面臨的特殊挑戰(zhàn)有哪些。
老樣子,我會(huì)摘取其中我認(rèn)為有了解意義的 TOP3 分享給大家。
使用 Go 最大的挑戰(zhàn)
在本輪調(diào)查中,我們引入了封閉式問題,提供了往年最常見的回答作為選擇。在形式上,我們會(huì)隨機(jī)向受訪者展示開放式或封閉式問題。
在封閉式問題中,選擇最多的是:
1、學(xué)習(xí)如何有效地編寫 Go(15%)。
2、處理錯(cuò)誤處理的冗長(zhǎng)(13%)。
封閉式問題
有趣的是,13% 的受訪者表示他們?cè)谑褂?Go 時(shí)沒有遇到任何困難的挑戰(zhàn)。
圖片
這與我們?cè)陂_放式問題中看到的情況一致:
1、11% 的受訪者在回答中提到學(xué)習(xí) Go、學(xué)習(xí)最佳實(shí)踐或文檔問題是他們面臨的最大挑戰(zhàn)。
2、另有 11% 的受訪者提到了錯(cuò)誤處理問題。
Go + AI 系統(tǒng)的使用情況
在使用生成式人工智能(GenAI)系統(tǒng)的 Go 開發(fā)者中,絕大多數(shù)(81%)表示使用了 OpenAI 的 ChatGPT 或 DALL-E 模型。
開源模型的使用率也很高,大多數(shù)受訪者(53%)至少使用了 Llama、Mistral 或其他開源軟件模型中的一種。
圖片
受訪者正在構(gòu)建的最常見服務(wù)包括:摘要工具(56%)、文本生成工具(55%)和聊天機(jī)器人(46%)。
圖片
用戶表示這些 AI 用例中有許多是面向內(nèi)部的,例如:根據(jù)企業(yè)內(nèi)部文檔訓(xùn)練的聊天機(jī)器人,旨在回答員工的問題。對(duì)面向外部的人工智能功能提出了一些擔(dān)憂,其中最主要的是可靠性、準(zhǔn)確性、法律法規(guī)等問題。
另外有證據(jù)表明,Go 已經(jīng)被用于 GenAI 領(lǐng)域,而且似乎還有更多的需求。大約 1/3 正在構(gòu)建人工智能功能的受訪者告訴我們。
圖片
他們已經(jīng)在使用 Go 完成各種 GenAI 任務(wù),包括:新功能原型開發(fā)和與 LLM 集成服務(wù)。
在我們認(rèn)為 Go 是特別合適的工具的兩個(gè)領(lǐng)域:ML/AI 系統(tǒng)(37%)和托管 ML/AI 模型的 API 服務(wù)(41%)。這一比例略有上升。
Go 團(tuán)隊(duì)工作優(yōu)先級(jí)
在以往過去收集的 Go 開發(fā)者反饋中,大家最關(guān)心的是:最關(guān)心的是資源成本和安全問題。
如下圖:
圖片
為了解決對(duì)資源成本的擔(dān)憂,Go 團(tuán)隊(duì)將會(huì)繼續(xù)優(yōu)化 Go 和增強(qiáng)配置文件引導(dǎo)優(yōu)化 (PGO)。
在安全方面的擔(dān)憂,受訪者最擔(dān)心的問題是:不安全的編碼實(shí)踐(42%)和系統(tǒng)配置錯(cuò)誤(29%)。
如下圖:
圖片
Go 團(tuán)隊(duì)的主要結(jié)論是:開發(fā)者對(duì)在編寫代碼時(shí)幫助發(fā)現(xiàn)和修復(fù)潛在安全問題的工具特別感興趣,將會(huì)在這一塊領(lǐng)域繼續(xù)加大研究和投入。
調(diào)查報(bào)告的亮點(diǎn)
- 開發(fā)人員對(duì) Go 語言的滿意度仍然很高,93% 的受訪者表示在過去一年中對(duì) Go 語言感到滿意。
- 大多數(shù)受訪者(80%)表示,他們相信 Go 團(tuán)隊(duì)在維護(hù)和發(fā)展 Go 語言時(shí),會(huì)為像他們這樣的開發(fā)人員 "做最好的事"。
- 在構(gòu)建人工智能驅(qū)動(dòng)的應(yīng)用程序和服務(wù)的受訪者中,他們普遍認(rèn)為 Go 是在生產(chǎn)中運(yùn)行此類應(yīng)用程序的強(qiáng)大平臺(tái)。
- 例如:大多數(shù)使用 AI 應(yīng)用程序的受訪者已經(jīng)使用 Go 開發(fā),或者希望將其人工智能驅(qū)動(dòng)的程序遷移到 Go,而開發(fā)人員遇到的最嚴(yán)峻挑戰(zhàn)與庫(kù)和文檔生態(tài)系統(tǒng)有關(guān),而不是核心語言和運(yùn)行時(shí)。
- 目前最常見的記錄入門路徑都是以 Python 為中心的,這導(dǎo)致許多組織在轉(zhuǎn)向更適合生產(chǎn)的語言之前,都先用 Python 開始人工智能驅(qū)動(dòng)的工作。
- 受訪者正在構(gòu)建的最常見的人工智能驅(qū)動(dòng)服務(wù)包括摘要工具、文本生成工具和聊天機(jī)器人。都是面向內(nèi)部使用為主。
- 實(shí)現(xiàn) Go 相關(guān)學(xué)習(xí)目標(biāo)時(shí)最常提到的挑戰(zhàn)是:缺乏時(shí)間或機(jī)會(huì)。
- 這表明在沒有具體目標(biāo)或業(yè)務(wù)案例的情況下,語言學(xué)習(xí)很難被優(yōu)先考慮。
- 最常見的挑戰(zhàn)是學(xué)習(xí)新的最佳實(shí)踐、概念和成語,這些都是圍棋所特有的,因?yàn)榇蠖鄶?shù)開發(fā)者來自其他語言生態(tài)系統(tǒng)。
總結(jié)
其實(shí)和平時(shí)工作接觸到的情況差不多,大家都會(huì)用慣用語言先去開發(fā) AI 相關(guān)程序,例如:Go。然后開發(fā)著開發(fā)著,發(fā)現(xiàn)很多東西和輪子都在 Python 那里,尷尬得很。
面向今年(2024 年),Go 團(tuán)隊(duì)?wèi)?yīng)該會(huì)在 Go 最佳實(shí)踐、高級(jí)方面的教程使用上繼續(xù)發(fā)力。而功能方面,安全和資源成本已經(jīng)列上了日程。
最頭疼的 Go 錯(cuò)誤處理的問題和改善,雖然一直在高呼。但 Go 團(tuán)隊(duì)顯然在 issues 清單上還沒想好怎么做。