AI איתר צווארי בקבוק בבניית ליבת לינוקס, אבל הקוד שכתב לתיקון היה "מכוער"
לורנצו סטוקס, מפתח ליבת לינוקס בחברת Arm, נעזר במודל שפה כדי לאתר צווארי בקבוק שהאטו את בניית הליבה. הבנייה המלאה מהירה עכשיו בעד 36%, ובנייה מצטברת מהירה בעד כ-70%. אבל לפי סטוקס, הקוד שהמודל הציע לתיקון היה "מכוער" ונדרש לבדיקה ולשכתוב נרחבים.
מודל שפה גדול (LLM) עזר לאתר כמה מהנקודות האיטיות ביותר בתהליך הבנייה של ליבת לינוקס, אבל התיקונים שהציע דרשו עבודה אנושית רבה. כך עולה מהודעת דוא"ל של לורנצו סטוקס, מפתח ליבה בחברת Arm, שעליה דיווח אתר XDA Developers בעקבות אתר Phoronix.
מה קרה
הבעיה שסטוקס ניגש לפתור לא הייתה פרצת אבטחה. מדובר בכמה צווארי בקבוק חד-הליכיים (single-threaded) בתהליך בניית הליבה. אלה שלבים שרצים על ליבת מעבד אחת בלבד, ולכן מאריכים את זמן ההידור (compilation) גם במחשבים חזקים. לפי ההודעה, ה-LLM שימש קודם כול לאיתור המקומות שבהם נוצרים צווארי הבקבוק, ואחר כך לחיפוש דרכים לשפר אותם.
"הוא ייצר הרבה קוד, שחלק גדול ממנו מכוער," נכתב בהודעה. "ביקרתי ושכתבתי חלק גדול ממנו בהרחבה, וערכתי בכבדות את הודעות ה-commit, את המכתב הנלווה ואת ההערות בקוד." לפי XDA, הבינה המלאכותית הריצה את הבניות וטיפלה בניפוי השגיאות (debugging), ואת הבדיקות הסופיות עשה סטוקס בעצמו.
התוצאות
התיקונים הסופיים מניבים שיפור ניכר. לפי סטוקס, בניית allmodconfig (בנייה של הליבה עם כל המודולים האפשריים) מהירה עכשיו בעד 36%. בנייה מצטברת, שבה מהדרים מחדש רק מה שהשתנה, מהירה בעד כ-70%. בנייה ריקה (noop), כלומר הרצה שבה אין מה לבנות, מהירה בעד כ-90%. לדברי סטוקס, השיפור הורגש בכל המכשירים שנבדקו.
ההקשר הרחב
הדיווח מגיע בתקופה שבה קהילת הקוד הפתוח מתווכחת על מקומם של כלי AI בפיתוח. לפי XDA, לינוס טורבלדס, יוצר לינוקס, תיקן לאחרונה באג בעזרת AI. מתחזקי Debian הצביעו בעד קבלת קוד שנכתב בעזרת LLM, בתנאי שמי שמגיש אותו לוקח עליו אחריות מלאה. עוד לפי XDA, מתחזקי הליבה מוצפים בדיווחים על תקלות קטנות שמודלים מאתרים, תקלות שאדם אולי לא היה מבחין בהן לעולם.
ברשתות החברתיות קושר הנושא גם לשימוש ב-AI לאיתור ולתיקון פגיעויות אבטחה בליבה, במסגרת יוזמה בשם Project Glasswing. החומרים שבידינו לא מאמתים את הקשר הזה, ולכן איננו מדווחים על פרטיו.
למה זה חשוב
המקרה של סטוקס ממחיש חלוקת עבודה שנראית כמו מגמה. מודלים טובים יותר ויותר בסריקת קוד ובאיתור בעיות, אבל הקוד שהם כותבים עדיין לא עומד לבדו בסטנדרט של פרויקט כמו ליבת לינוקס. ככל הנראה, בטווח הקרוב ה-AI ישמש בעיקר כ"גלאי" שמפנה את תשומת הלב של מפתחים מנוסים, ולא כתורם עצמאי. יש לכך גם מחיר: כשהמודלים מייצרים יותר ממצאים ויותר טיוטות קוד, יותר עבודת בדיקה נופלת על המתחזקים האנושיים. בפרויקט שכל כך הרבה מערכות בעולם נשענות עליו, זו כנראה תהיה אחת השאלות המרכזיות בשנים הקרובות.