ChatGPT מקבל שדרוג קודקס: רשמים ראשוניים

יציאת החידוש האחרון של OpenAI, סוכן הבינה המלאכותית Codex, מציגה גישה חדשנית לתכנות – סביבת “קידוד אווירה” המופעלת על ידי ממשק דמוי ChatGPT. בעוד שהרעיון עשוי להיראות בתחילה כגימיק, היכולות של סוכן Codex החדש מרשימות במיוחד.

OpenAI תייגה את Codex כתצוגה מקדימה למחקר, מה שמצביע על כך שהיא עדיין נמצאת בפיתוח פעיל. נכון לעכשיו, היא נגישה למנויי ChatGPT Pro, Enterprise ו-Team, עם תוכניות להרחיב את הזמינות למשתמשי Plus ו-Edu בעתיד הקרוב.

לפי ההודעה של OpenAI, השם Codex נקשר לכלי קידוד מתפתח מאז 2021. בדיון זה, “Codex” מתייחס לגרסה החדשה שהוכרזה.

Codex נמצאת בשרתי OpenAI ומשתלבת עם מאגרי GitHub. ההדגמות מצביעות על כך ש-Codex מתפקדת כמתכנת נוסף בצוות.

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

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

שינוי פרדיגמה בקידוד

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

הטכנולוגיה התקדמה עד לנקודה שבה בינה מלאכותית יכולה לכתוב או לאתר באגים בקטעים קטנים של קוד. זהו ההיבט שבו התעניינתי במיוחד בנוגע למבחני התכנות של ZDNET.

תפקיד נוסף של בינה מלאכותית הוא ניתוח המערכת הכוללת. לאחרונה, חקרתי כלי מחקר עמוק חדש שיכול לפרק בסיסי קוד שלמים ולספק ביקורות קוד והמלצות.

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

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

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

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

ההדגמה הציגה את Codex מבצעת תיקוני באגים, סורקת שגיאות כתיב, מציעה הצעות למשימות ומבצעת שיפוץ בקנה מידה של כל הפרויקט (שינוי קוד כדי לשפר את המבנה מבלי לשנות את ההתנהגות).

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

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

מלכודות פוטנציאליות ואסטרטגיות הפחתה

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

כדי לטפל בכך, OpenAI אימנה את Codex לציית להוראות המפורטות בקובץ AGENTS.md. קובץ זה, שנמצא במאגר, מאפשר למתכנתים ולצוותים להנחות את ההתנהגות של Codex. הוא יכול לכלול הוראות על מוסכמות שמות, כללי עיצוב וכל הנחיות עקביות אחרות הרצויות לאורך תהליך הקידוד. הוא בעצם מרחיב את הגדרות ההתאמה האישית של ChatGPT לסביבה צוותית ממוקדתמאגר.

בנוסף, OpenAI הציגה גרסה של Codex בשם Codex CLI הפועלת באופן מקומי במכונה של מפתח. שלא כמו Codex המבוססת על ענן, הפועלת באופן א-סינכרוני ומספקת דוחות עם השלמת העבודה, הגרסה המקומית פועלת באמצעות שורת הפקודה של המתכנת ומתפקדת באופן סינכרוני.

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

אב טיפוס מחקר עם פוטנציאל מבטיח

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

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

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

כמתכנת סולו, אני מכיר ביתרונות הפוטנציאליים של כלי כמו Codex. אפילו מנוי ה-Pro של $200 לחודש יכול להיות כדאי. העסקת מתכנת אנושי תעלה הרבה יותר, בהנחה שאוכל להפיק ממנו ערך מוחשי ניתן למונטיזציה.

כמנהל צוות ומ תִ קשֹׁרֶת מנוסה, אני מרגיש בנוח להאציל משימות למשהו כמו Codex. זה לא שונה באופן משמעותי מתקשורת עם חבר צוות דרך Slack.

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

שאלות ללא מענה והשלכות עתידיות

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

יש לציין שקידוד בינה מלאכותית מתפתח בחברות מרובות בקצב דומה. בקרוב אפרסם מאמר נוסף על סוכן הקידוד של GitHub Copilot, החולק כמה פונקציות עם Codex.

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

“אל הלא נודע” של תעשיית התוכנה

יש שיר בסרט “לשבור את הקרח 2” של דיסני בשם “Into the Unknown”, בביצועה של אידינה מנזל. השיר משקף את הקונפליקט הפנימי של הדמות הראשית בין שמירה על הסטטוס קוו לבין יציאה “אל הלא נודע”.

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

הזמן יגלה את התשובות, ויש לקוות שההתגלות הזו לא תקרה כשייגמר לנו הזמן.

האם היית שוקל להאציל משימות פיתוח אמיתיות לכלי כזה? מה אתה חושב שתהיה ההשפעה ארוכת הטווח על צוותי תוכנה או מפתחים בודדים? והאם אתה מודאג מאובדן מיומנויות או תפקידים קריטיים ככל שמאצילים יותר ממחזור חיי הקוד לבינה מלאכותית?