Udostępnij

7 listopada 2024 r.

Wzmacnianie asystentów do kodowania AI 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 oraz na wdrożeniu Cody w firmach z dużą, złożoną bazą kodu, takich jak Palo Alto Networks i Leidos. Dzięki temu 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 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 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 a Cody z Gemini 1.5 Flash

Ustępstwa i kierunki rozwoju

Korzyści płynące z długiego kontekstu są znaczne, ale wiążą się z pewnymi kompromisami. 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 przypadku 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, punktach odniesienia i analizach Sourcegraph, w tym o przykładach, przeczytaj szczegółowy wpis na blogu.