分享

2024 年 11 月 7 日

運用 Gemini 模型的長時間脈絡,提升 AI 程式設計助理的效能

Beyang Liu

Sourcegraph

Paige Bailey

AI 開發人員體驗工程師

Vishal Dharmadhikari

產品解決方案工程師

Sourcegraph 展示主頁橫幅

在應用長時間脈絡視窗時,最令人期待的技術之一,就是程式碼產生和理解。大型程式碼集需要深入瞭解複雜的關係和依附元件,而傳統 AI 模型很難掌握這類內容。透過使用大型上下文視窗擴充程式碼量,我們可以提升程式碼產生和理解的準確度和實用性。

我們與 Sourcegraph 合作,共同探索實務程式設計情境中長時間脈絡視窗的潛力。Sourcegraph 是 Cody AI 程式設計助理的開發者,支援 Gemini 1.5 Pro 和 Flash 等 LLM。Sourcegraph 專注於將程式碼搜尋和智慧功能整合至 AI 程式碼產生功能,並成功將 Cody 部署至擁有龐大複雜程式碼集的企業,例如 Palo Alto Networks 和 Leidos,因此成為這項探索計畫的理想合作夥伴。

Sourcegraph 的做法與成果

Sourcegraph 比較了 Cody 在 100 萬個符號的脈絡窗口 (使用 Google 的 Gemini 1.5 Flash) 和正式版的效能。透過直接比較,他們得以區分擴充內容的優點。他們專注於回答技術問題,這是開發人員處理大型程式碼庫時的重要任務。他們使用了一份資料集,其中包含需要深入瞭解程式碼才能回答的難題。

結果令人驚豔。在使用較長的上下文時,Sourcegraph 的三個主要基準 (Essential Recall、Essential Concise 和 Helpfulness) 都顯示出顯著的改善。



  • 重點回想:回覆內容中關鍵事實的比例大幅增加。

  • 精簡扼要:我們也改善了以回覆長度為標準的必要事實比例,讓答案更精簡扼要且切題。

  • 實用性:整體實用性分數 (以回覆長度為標準) 大幅提升,顯示使用者體驗更為友善。

替代文字:長條圖顯示 Code base 和 Cody 在 Gemini 1.5 Flash 的品質改善情形

此外,使用長篇幅內容模型後,整體幻覺率 (生成不實資訊) 大幅降低。幻覺率從 18.97% 降至 10.48%,準確度和可靠度大幅提升。

長條圖,顯示 Code base 和 Cody 在 Gemini 1.5 Flash 中出現幻覺的機率差異

取捨與未來方向

雖然長篇幅的內容有許多優點,但也有一些缺點。首次符記的時間會隨著內容長度線性增加。為緩解這個問題,Sourcegraph 實作了預先擷取機制,以及分層的內容模型架構,用於模型執行狀態快取。在 Gemini 1.5 Flash 和 Pro 長脈絡模型的協助下,這項最佳化處理時間從 1MB 脈絡的 30 到 40 秒,縮短到約 5 秒,大幅改善即時程式碼產生和技術支援的服務。

這項合作計畫展現了長篇脈絡模型在改變程式碼理解和產生方式方面的轉型潛力。我們很高興能與 Sourcegraph 等公司合作,透過大型內容視窗繼續發掘更多創新的應用程式和模式。

如要深入瞭解 Sourcegraph 的詳細評估方法、基準和分析 (包括說明範例),請務必閱讀他們的深入網誌文章