שיתוף

7 בנובמבר 2024

שיפור עוזרי התכנות מבוססי-AI בעזרת הקשר ארוך של מודלים של Gemini

Beyang Liu

Sourcegraph

פייג' ביילי

מהנדס חוויית מפתחים ב-AI

וישאל דהרמהדיקארי (Vishal Dharmadhikari)

מהנדס פתרונות למוצרים

התמונה הראשית של Sourcegraph

אחת מהחזיתות המעניינות ביותר בשימוש בחלונות עם הקשר ארוך היא יצירת קוד והבנה שלו. כדי לעבוד עם בסיס קוד גדול, נדרשת הבנה מעמיקה של יחסי תלות ויחסים מורכבים, דבר שקשה למודל AI רגיל להבין. הרחבת כמות הקוד באמצעות חלונות הקשר גדולים מאפשרת לנו להגיע לרמה חדשה של דיוק ושימושיות ביצירה ובהבנה של קוד.

הצטרפנו ל-Sourcegraph, היוצרים של העוזר לתכנות מבוסס-AI של Cody שתומך במודלים של LLM כמו Gemini 1.5 Pro ו-Flash, כדי לבדוק את הפוטנציאל של חלונות הֶקשר ארוכים בתרחישי תכנות בעולם האמיתי. ההתמקדות של Sourcegraph בשילוב של חיפוש קוד ואינטליגנציה ביצירת קוד AI, והפריסה המוצלחת של Cody בארגונים עם בסיס קוד גדול ומורכב כמו Palo Alto Networks ו-Leidos, הפכו את Sourcegraph לשותף האידיאלי לבדיקה הזו.

הגישה והתוצאות של Sourcegraph

ב-Sourcegraph השוו את הביצועים של Cody עם חלון הקשר של מיליון אסימונים (באמצעות Gemini 1.5 Flash של Google) לבין גרסת הייצור שלו. ההשוואה הישירה הזו אפשרה להם לבודד את היתרונות של ההקשר המורחב. הם התמקדו בתשובות לשאלות טכניות, משימה חיונית למפתחים שעובדים עם בסיס קוד גדול. הם השתמשו במערך נתונים של שאלות מאתגרות שדרשו הבנה מעמיקה של קוד.

התוצאות היו מדהימות. שלושה ממדדי הביצועים העיקריים של Sourcegraph – 'החזקה בזיכרון של נתונים חיוניים', 'קיצור משמעותי' ו'עזרה' – הראו שיפורים משמעותיים כשהשתמשנו בהקשר ארוך יותר.



  • זכירה חיונית: היחס בין העובדות הקריטיות לתשובה עלה באופן משמעותי.

  • תמצות חיוני: גם היחס בין העובדות החיוניות לבין אורך התשובה השתפר, דבר שמצביע על תשובות תמציתיות ורלוונטיות יותר.

  • מידת התועלת: ציון מידת התועלת הכולל, מותאם לפי אורך התשובה, עלה באופן משמעותי, דבר שמצביע על חוויית משתמש ידידותית יותר.

טקסט חלופי לתמונה: תרשים עמודות שמציג את השיפור באיכות בין Code base לבין Cody עם Gemini 1.5 Flash

בנוסף, השימוש במודלים עם הקשר ארוך צמצם באופן משמעותי את שיעור ההזיות הכולל (יצירת מידע שגוי מבחינה עובדתית). שיעור ההזיות ירד מ-18.97% ל-10.48%, שיפור משמעותי בדיוק ובאמינות.

תרשים עמודות שבו מוצג ההבדל בשיעור ההזיות בין Code base לבין Cody עם Gemini 1.5 Flash

יתרונות וחסרונות וכיוון עתידי

היתרונות של הוספת הקשר ארוך הם משמעותיים, אבל יש גם חסרונות. הזמן לקבלת האסימון הראשון עולה באופן לינארי עם אורך ההקשר. כדי לצמצם את הבעיה הזו, הטמענו ב-Sourcegraph מנגנון של אחסון נתונים מראש וארכיטקטורה של מודל הקשר שכבות לאחסון במטמון של מצב ביצוע המודל. בעזרת המודלים של Gemini 1.5 Flash ו-Pro עם הֶקשר ארוך, הזמן לקבלת הטוקן הראשון עבר אופטימיזציה מ-30 עד 40 שניות ל-5 שניות בערך בהקשרים של 1MB – שיפור משמעותי ליצירת קוד בזמן אמת ולקבלת עזרה טכנית.

שיתוף הפעולה הזה מדגים את הפוטנציאל המהפכני של מודלים עם הקשר ארוך, שיכולים לשנות את האופן שבו אנחנו מבינים ומפיקים קוד. אנחנו שמחים לשתף פעולה עם חברות כמו Sourcegraph כדי להמשיך לפתח אפליקציות ותפיסות חדשניות יותר באמצעות חלונות הקשר גדולים.

כדאי לקרוא את הפוסט המפורט בבלוג של Sourcegraph כדי להבין לעומק את השיטות, אמות המידה והניתוח המפורטים של Sourcegraph להערכת קוד, כולל דוגמאות להמחשה.