7 listopada 2024 r.
Przyspieszanie AI asystentów do kodowania dzięki długiemu kontekstowi modeli Gemini

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.

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.

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.