GitHub 在一篇文章中分享了他們在構建和擴展 GitHub Copilot——一個使用大語言模型的企業應用——過程中所學到的經驗教訓。
在 GitHub 的一篇博文中,GitHub 的 AI 產品負責人 Shuyin Zhao 描述了他們如何在三年多的時間里歷經三個階段——“Find it”、“Nail it”和“Scale it”——成功推出了 GitHub Copilot。
在“Find it”階段,他們專注于找到 AI 可以有效解決的問題,通過一種足夠專注的方式快速推向市場,并且足以產生影響。
這包括確定到底是為了誰而解決問題——幫助開發人員更快地編寫代碼,減少上下文切換。此外,他們只關注 SDLC 的一部分:IDE 中的編碼功能,并結合當下的 LLM 的能力。這樣他們就可以專注于讓工具提供代碼建議,而不是生成全部代碼。他們還致力于確保他們所做的是對現有工具進行增強,不要求開發人員改變已有的工作流程。
“在設計產品時,我們不僅要考慮輸出需要人類進行評估的模型,也要考慮正在學習如何與 AI 互動的人類。”
——Idan Gazit,GitHub Next 高級研發總監
在“Nail it”階段,他們基于從 A/B 測試中獲得的真實用戶反饋進行迭代式產品開發。他們進行快速迭代、試錯和學習。在使用 Copilot 的 Web 接口進行了簡短的實驗后,他們將重點轉向了 IDE,以減少在編輯器和 Web 瀏覽器之間切換,并讓 AI 在后臺運行。在進一步的迭代中,通過觀察開發人員在編碼時打開的多個 IDE 選項卡,GitHub Copilot 可以同時處理多個文件。
隨著生成式 AI 的迅速發展,他們開始重新審視過去所做出的決策,技術的進步和用戶對它的熟悉程度有時會讓過去的決策變得過時。于是,提供交互式聊天的想法開始活躍起來,他們需要基于沉沒成本謬論改變決策,例如,當大語言模型的進步允許一個模型處理多種語言時,就需要改變為每種語言構建 AI 模型的想法。
最后,在“Scale it”階段,他們致力于確保 AI 模型結果的一致性、管理用戶反饋,并定義了關鍵性能指標,以實現應用程序的普遍可用性 (GA)。他們還考慮了安全性和 AI 責任問題,使用過濾器來避免為用戶建議不安全或具有冒犯性的代碼。
改進質量和可靠性方面的工作包括緩解大語言模型的幻覺,即答案可能是不可預測的,并且每次查詢都有所不同。解決這個問題的策略包括修改發送給大語言模型的參數,以減少響應的隨機性,并緩存頻繁的響應以減少變化和提高性能。
GitHub 使用等待列表來管理技術預覽版的早期用戶。這意味著他們可以獲得來自一小群早期采用者的評論和反饋。對真實用戶反饋的深入分析使得 GitHub 團隊能夠識別出有問題的更新,并改進產品的關鍵性能指標,例如開發人員保留了多少由 Copilot 生成的代碼。
最后,他們確保開發人員生成的代碼是安全的,并通過過濾器來拒絕可能引入安全問題 (如 SQL 注入) 的代碼建議。社區也提出了一些問題,例如 Copilot 的代碼建議與公開的代碼相重疊可能會產生許可問題或其他影響。他們為此提供了一個代碼參考工具,幫助開發人員做出明智的選擇。
在市場策略方面,他們向一些有影響力的社區成員展示了技術預覽版,并且面向的是個人用戶而不是企業。這有助于在正式發布時獲得廣泛的支持,從而促使企業采用它。
關鍵在于展示專注于特定問題的重要性、整合實驗結果和用戶反饋,以及在應用擴展時優先考慮用戶需求。
由于生成式 AI 的采用仍處于早起階段,GitHub 也在密切關注市場對生成式 AI 工具的需求。感興趣的讀者可在 GitHub 的博客上閱讀全文。
-
編輯器
+關注
關注
1文章
806瀏覽量
31173 -
語言模型
+關注
關注
0文章
524瀏覽量
10277 -
GitHub
+關注
關注
3文章
471瀏覽量
16448
原文標題:GitHub 基于大語言模型構建 Copilot 的經驗和教訓
文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論