איפה זה משאיר אותנו? מיומנויות ליבה בעבודה עם סוכני קידוד
המעבר לקידוד בעזרת סוכנים הפך מיומנויות מסוימות לפחות רלוונטיות ויצר מיומנויות חדשות אותן עלינו ללמוד. הדבר הראשון שהמפגש עם סוכני קידוד מלמד אותנו הוא שבעצם מהנדסי תוכנה החזיקו שני סטים של מיומנויות אבל רק אחד מהם עכשיו התחלף.
סט מיומנויות ראשון קשור לארכיטקטורה של מערכות תוכנה. ספר התכנות הראשון שהתבקשתי לקנות באוניברסיטה נקרא Structure and Interpretation of Computer Programs והוא כולו עסק בשאלות האלה, מהו המבנה הנכון של מערכות תוכנה. בשנים מאז יצא מערכות תוכנה הלכו והשתכללו, הלכו והסתבכו והשאלות לגבי המבנה הנכון שלהן רק הפכו קשות יותר. אלה שאלות שאין להן תשובה אחת נכונה והמפתח לגשת אליהן הוא לחפש את האיזונים, מה מרוויחים ומה מפסידים בכל בחירה.
סט מיומנויות שני, והוא זה שסוכני קידוד החליפו הוא היכולת לתרגם מבנה של מערכת לתוכנית מחשב.
שתי קבוצות המיומנויות האלה מאונכות. אפשר לדמיין אותן על מערכת צירים כשציר ה Y יהיה מיומנות הנדסת תוכנה וציר ה X יהיה מיומנות תרגום מבנה מערכת לתוכנית מחשב. במערכת צירים כזאת המתכנתים המבריקים יהיו אלה שנמצאים בצד ימין למעלה, אלה שגם מצליחים לראות מה יהיה מבנה המערכת הטוב ביותר וגם יודעים לבנות אותו. ארכיטקטים יושבים על ברביע השמאלי העליון, הם יודעים לתאר טוב מבנה של מערכת אבל לא יודעים לבנות אותה. ברביע הימני התחתון יש לנו את הנינג'ות, מפתחים שיודעים לבנות הכל אבל לא הייתי רוצה להיכנס לקוד שלהם ובריבוע השמאלי התחתון תמצאו את החולמים, אנשים שידברו שעות על מערכות תוכנה הזויות שאף אחד לא יודע איך לבנות.
כל שיחה על מיומנויות AI היא בעצם שיחה על ציר ה X ולכן לא כולם ירוויחו ממנה באותה מידה. מפתחים טובים שכבר ידעו לבנות מערכות בלי AI יקבלו המון ערך ואנחנו כבר רואים אותם בונים מערכות חדשות ומלהיבות. ארכיטקטים שמבינים איך מערכת בנויה הם המנצחים הגדולים של עידן ה AI, כי הם אלה שעכשיו יוכלו לממש את המערכות שתמיד דמיינו בלי שהם צריכים מתכנתים שיעזרו להם. הנינג'ות יהיו המפסידים הגדולים, המיומנות שלהם לבנות דברים מהר הפכה פחות חשובה וחוסר ההבנה שלהם במבנה מערכות אומר שהקוד שלהם יהפוך לכדור גדול של בוץ הרבה יותר מהר מבעבר. לחולמים עוד יש תקווה - אולי עם מיומנות AI טובה הם יראו שהמערכות שהם רצו לבנות בעצם לא עובדות ויתחילו ללמוד ארכיטקטורה כדי לבנות מערכות טובות יותר.
אני מחלק את מיומנויות ה AI שאנחנו רוצים לשפר ל-4 קבוצות. כל קבוצה מורכבת מאוסף גדול של מיומנויות והמיומנויות בכל קבוצה משתנות עם הזמן ככל שמודלים וכלי העבודה משתפרים. ציר ה-X לא נעלם, הוא השתנה. היום לתרגם מבנה מערכת לתוכנית מחשב פירושו לגרום לסוכן לעשות את זה נכון, וזה מה שארבע הקבוצות מתארות.