גיטהאב הודיעה כי השלימה בדיקות של העוזר החכם שלה, GitHub Copilot, שיכול לייצר גרסאות גנריות תוך כדי כתיבת קוד. המערכת פותחה בשיתוף פעולה עם פרויקט OpenAI ומשתמשת בפלטפורמת למידת מכונה OpenAI Codex, שאומנה על מגוון רחב של קוד מקור המתארח במאגרי GitHub ציבוריים.
יצירת קוד תומכת ב- Python, JavaScript, TypeScript, Ruby, Go, C# ו-C++ באמצעות מסגרות שונות. מודולים זמינים לשילוב GitHub Copilot עם Neovim, JetBrains IDE, Visual Studio ו-Visual Studio Code.
אם לשפוט לפי נתוני הטלמטריה שנאספו במהלך תהליך הבדיקה, השירות מאפשר יצירת קוד באיכות גבוהה מספיק ; לדוגמה, מפתחים קיבלו 26% מההמלצות שהוצעו ב-GitHub Copilot כפי שהן.
GitHub Copilot שונה ממערכות השלמת קוד מסורתיות ביכולתה ליצור בלוקי קוד מורכבים למדי, עד לפונקציות מסונתזות ומוכנות לשימוש תוך התחשבות בהקשר הנוכחי.
GitHub Copilot מסתגל לאופן שבו מפתח כותב קוד ולוקח בחשבון את ממשקי ה-API והמסגרות המשמשות בתוכנית. לדוגמה, אם יש מבנה JSON לדוגמה בהערה, כשמתחילים לכתוב פונקציה לניתוח מבנה זה, GitHub Copilot יציע קוד מוכן לשימוש, ועל ידי כתיבת ספירות שגרתיות של תיאורים חוזרים, הוא יהווה את השאר.
בפוסט בבלוג, מנכ"ל GitHub, תומאס דוהמקה, אמר כי GitHub Copilot תוכנן כהרחבה של העורך כדי להבטיח ששום דבר לא יפריע למה שהמפתחים עושים.
"GitHub Copilot מזקק את הידע הקולקטיבי של מפתחים ברחבי העולם לכדי הרחבת עורך שמציעה קוד בזמן אמת, כדי לעזור לך להישאר ממוקד במה שחשוב ביותר: בניית תוכנה נהדרת", הסביר.
לפי Dohmke, כ-1,2 מיליון מפתחים ניסו את Copilot בשלב התצוגה המקדימה שלו. ככל הנראה, זה גם היה שימושי למדי, שכן דומקה טוען שהוא כתב עד 40% מקוד המפתחים שנכתב בשפות פופולריות כמו Python.
"כמו עליית המהדרים והקוד הפתוח, אנו מאמינים שקידוד בסיוע בינה מלאכותית ישנה מהותית את אופי פיתוח התוכנה, ויעניק למפתחים כלי חדש לכתוב קוד בקלות ובמהירות יותר", אמר דומקה.
היכולת של GitHub Copilot ליצור בלוקים מובנים מראש של קוד יצרה מחלוקת בנוגע להפרה אפשרית של רישיון ה-copyleft. בעת יצירת מודל למידת המכונה, נעשה שימוש בטקסטים מקוריים אמיתיים ממאגרי פרויקטים פתוחים המתארחים ב- GitHub.
רבים מהפרויקטים הללו מסופקים תחת רישיונות copyleft, כגון GPL, הדורש לספק את הקוד ביצירות נגזרות תחת רישיון תואם. אם Copilot מדביק קוד קיים, מפתחים עלולים להפר בשוגג את הרישיון של הפרויקט ממנו הושאל הקוד.
עדיין לא ברור האם עבודה שנוצרת על ידי מערכת למידת מכונה יכולה להיחשב כנגזרת . עולות גם שאלות האם מודל למידת מכונה כפוף לזכויות יוצרים, ואם כן, למי שייכים זכויות אלו וכיצד הן קשורות לזכויות הקוד עליו בנוי המודל.
מצד אחד, הבלוקים שנוצרו יכולים לחזור על קטעי טקסט מפרויקטים קיימים, אך מצד שני, המערכת יוצרת מחדש את מבנה הקוד ואינה מעתיקה את הקוד עצמו.
לפי מחקר של GitHub, רק 1% מההמלצות המוצעות על ידי Copilot כוללות קטעי קוד מפרויקטים קיימים שאורכם עולה על 150 תווים. ברוב המקרים, חזרה זו מתרחשת כאשר Copilot נכשל בקביעת ההקשר בצורה נכונה או מספק פתרונות גנריים לבעיה.
כדי להימנע מהחלפת קוד קיים, נוסף ל-Copilot מסנן מיוחד שאינו מאפשר חפיפה עם פרויקטים קיימים. בעת הגדרת התצורה, המפתח יכול להפעיל או לכבות מסנן זה לפי שיקול דעתו. בין יתר הבעיות, יש לציין את האפשרות שהקוד המסונתז יכול לחזור על השגיאות והפגיעויות הקיימות בקוד המשמש לאימון המודל.
לבסוף, ראוי להזכיר שהשירות חינמי לתחזוקה של פרויקטי קוד פתוח פופולריים ולסטודנטים. בעוד עבור קטגוריות אחרות של משתמשים, הגישה ל-GitHub Copilot היא בתשלום ($10 לחודש או $100 לשנה), אבל גישה לניסיון חינם ניתנת למשך 60 יום.
לבסוף, אם אתם מעוניינים ללמוד עוד, תוכלו למצוא פרטים נוספים בקישור הבא.