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ń 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

Sourcegraph porównał wydajność Cody z oknem kontekstu o milionie tokenów (korzystając z 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 przydatności, znormalizowany według długości odpowiedzi, znacznie wzrósł, co wskazuje na większą przyjazność dla użytkownika.

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

Ponadto dzięki zastosowaniu modeli o długim kontekście udało się znacznie ograniczyć 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 i Cody z Gemini 1.5 Flash

Kompromisy 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 potencjał rewolucyjnych modeli z długim kontekstem w rewolucji w rozumieniu i generowaniu kodu. Cieszymy się, że możemy współpracować z firmą Sourcegraph, aby udostępniać 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.