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