Udostępnij

7 listopada 2024 r.

Przyspieszanie AI asystentów do kodowania dzięki długiemu kontekstowi modeli Gemini

Beyang Liu

Sourcegraph

Paige Bailey

Inżynier ds. wrażeń dla programistów AI

Vishal Dharmadhikari

Inżynier ds. rozwiązań produktowych

Baner powitalny Sourcegraph

Jedną z najbardziej ekscytujących granic w zastosowaniach długich okien kontekstowych jest generowanie i rozumienie kodu. Duże bazy kodu wymagają dogłębnego zrozumienia złożonych relacji i zależności, co jest trudne dla tradycyjnych modeli AI. Dzięki zwiększeniu ilości kodu z dużą ilością kontekstu możemy osiągnąć nowy poziom dokładności i użyteczności w generowaniu i rozumieniu kodu.

Współpracowaliśmy z firmą Sourcegraph, twórcami asystenta do kodowania opartego na AI Cody, który obsługuje modele LLM, takie jak Gemini 1.5 Pro i Flash, aby zbadać potencjał długich okien kontekstowych w rzeczywistych scenariuszach kodowania. Źródło skoncentrowało się na integracji wyszukiwania kodu i inteligencji w generowaniu kodu AI, a dzięki udanemu wdrożeniu Cody w firmach z dużą, złożoną bazą kodu, takich jak Palo Alto Networks i Leidos, stała się idealnym partnerem do eksploracji.

Podejście i wyniki Sourcegraph

Firma Sourcegraph porównała wydajność Cody z oknem kontekstu o milionie tokenów (korzystając z modelu Gemini 1.5 Flash od Google) z wersją produkcyjną. To bezpośrednie porównanie pozwoliło im wyodrębnić zalety rozszerzonego kontekstu. Skupili się na odpowiadaniu na pytania techniczne, co jest kluczowym zadaniem dla deweloperów pracujących z dużymi bazami kodu. Użyli zbioru danych zawierającego trudne pytania, które wymagały dogłębnego zrozumienia kodu.

Wyniki były oszałamiające. Trzy z kluczowych wskaźników Sourcegraph – Essential Recall, Essential Concision i Helpfulness – wykazały znaczną poprawę przy użyciu dłuższego kontekstu.



  • Essential Recall: znacznie wzrosła proporcja kluczowych faktów w odpowiedzi.

  • Essential Concision: poprawiła się też proporcja istotnych faktów skorygowana o długość odpowiedzi, co wskazuje na bardziej zwięzłe i trafne odpowiedzi.

  • Przydatność: ogólny wynik dotyczący przydatności, znormalizowany pod kątem długości odpowiedzi, znacznie wzrósł, co wskazuje na większą wygodę użytkowników.

Tekst alternatywny: wykres słupkowy przedstawiający poprawę jakości między Code base a Cody z modelem Gemini 1.5 Flash

Ponadto dzięki zastosowaniu modeli o długim kontekście udało się znacznie zmniejszyć ogólny wskaźnik halucynacji (generowanie nieprawdziwych informacji). Częstotliwość halucynacji spadła z 18,97% do 10,48%, co oznacza znaczną poprawę dokładności i niezawodności.

Wykres słupkowy przedstawiający różnicę w częstotliwości halucynacji między Code base a Cody z Gemini 1.5 Flash

Ustępstwa i kierunki rozwoju

Korzyści płynące z długiego kontekstu są znaczne, ale trzeba też wziąć pod uwagę pewne kompromisy. Czas do pierwszego znacznika rośnie liniowo wraz z długością kontekstu. Aby temu zaradzić, Sourcegraph wdrożył mechanizm wstępnego pobierania i warstwową architekturę modelu kontekstowego do buforowania stanu wykonywania modelu. Dzięki modelom Gemini 1.5 Flash i Pro z długim kontekstem udało się zoptymalizować czas do pierwszego tokena z 30–40 sekund do około 5 sekund w przypadku kontekstów o rozmiary 1 MB. To znaczna poprawa w ramach generowania kodu w czasie rzeczywistym i pomocy technicznej.

Ta współpraca pokazuje, jak modele o długim kontekście mogą zrewolucjonizować interpretację i generowanie kodu. Cieszymy się, że możemy współpracować z firmą Sourcegraph, aby udostępnić jeszcze bardziej innowacyjne aplikacje i paradygmaty z dużą ilością kontekstu.

Aby dowiedzieć się więcej o metodologii oceny, benchmarkach i analizach Sourcegraph, w tym o przykładach, przeczytaj szczegółowy wpis na blogu.