האם אי פעם יחליף ה-ChatGpt את המתכנתים?
הכניסה של ChatGPT לחיינו מעלה שאלות רבות - ברמה הפילוסופית, ברמה המוסרית וגם ברמה הפרקטית. היכולת של ChatGPT לבצע משימות רבות שעד לא מזמן ביצעו רק בני אדם, מקלה על החיים בתחומים רבים אבל גם מייצרת אתגרים ומעוררת חששות.
כך, נראה כי הצ'ט בוט מבוסס ה-AI (אינטליגנציה מלאכותית), מאיים על בעלי מקצוע רבים.
אחת השאלות שמתעוררות בעקבות ההתקדמות הטכנולוגית שאיפשרה את פיתוח ה- ChatGPT ודומיו, היא האם כלי זה יהיה מסוגל להחליף לא רק בעלי מקצוע בתחומים פשוטים יחסית, אלא גם בתחומים מורכבים יותר כמו תכנות?
"ל- ChatGPT אין באמת יכולת לפתור בעיות"
ד"ר אלי חלסצ'י מרצה בכיר בתואר ראשון במדעי המחשב, אומר כי התשובה הקצרה לשאלה הזו היא - לא. "ChatGPT היא טכנולוגיה מדהימה שלדעתי תשנה את האופן שבו נתנהג מעתה", הוא אומר. בהקשר של תכנות, תחת הגדרות ברורות דיין, המערכת מסוגלת לכתוב קוד, לתעד כמעט כל שורה בשפה חופשית (הערות קוד) ואף לכתוב פסקה שמתארת כיצד האלגוריתם עובד. "על ידי training set עצום ששימש אותה ללמידה המערכת מסוגלת 'להבין' מה ביקשת, ולנסח משפטים כאשר, בגדול, כל מילה נבחרה על פי הסתברות התאמתה לזו שקדמה לה. וזה עובד נפלא", הוא מסביר. אבל יש דברים ש- ChatGPT לא מסוגלת, עדיין, לבצע. למשל עדיין אין לה הרשאות להריץ קוד, ולכן אינה יכולה לבדוק שמה שהיא כותבת אכן עובד. וגם אם היו לה, אז בטח שלא תחת ההקשר והאילוצים המלאים של המערכת שבה פיסת הקוד הזו צריכה להיות מוטמעת.
"אבל מעבר לכך, בהיבט העמוק יותר ל- ChatGPT אין באמת יכולת לפתור בעיות", אומר ד"ר חלסצ'י. "ניקח בעיה מופשטת כלשהי, לבעיה זו קיים אלגוריתם כלשהו (נאיבי, חמדני, הפרד ומשול, תכנון דינאמי, אלגוריתם קירוב, אלגוריתם הסתברותי וכו') שעשוי לתת פתרון מספק בזמן סביר - תחת אילוצי המערכת שבה אנו רוצים להטמיע את הפתרון. אם אין, צריך לקחת משהו מספיק קרוב ולהתאים אותו, ואם גם זה לא קיים - אז אין ברירה אלא להמציא פתרון באמצעות טכניקות חשיבה שונות ויצירתיות לפתרון בעיות", הוא מסביר, "ותמיד ניתקל בבעיות שלא נפתרו בעבר. לבעיות מורכבות יותר ומוכרות פחות יהיה ל- ChatGPT מאתגר למצוא את הקשר בין הבעיה המוחשית למקבילה המופשטת שלה".
ד"ר חלסצ'י מדגים: "כאשר נציג בפני המערכת תיאור מאד ברור של בעיה כמו מיזעור מספר קופסאות האריזה, היא מיד תדע שמדובר בבעיה הקלאסית שנקראת Bin Packing. לעומת זאת, כשנציג למערכת בעיה של שכירות מול קניה כשמספר ימי השימוש אינו ידוע, ונשאל מה תהיה האסטרטגיה הטובה ביותר כדי לחסוך בעלויות, אז המערכת לא תקשר את זה לפתרון של אלגוריתם מקוון".
ד"ר חלסצ'י מזכיר כי הרוב המוחלט של מפתחי התוכנה אינם אלגוריתמיקאים ואינם פותרים בעיות אלגוריתמיות שנמצאות בחזית המחקר.
"עבודה של מפתחי תוכנה כוללת קבלת אפיון של פיצ'ר כלשהו במערכת, ממנו הם צריכים לגזור משמעויות, לתכנן את עיצוב הקוד, ולהשתמש בצורה חוקית בספרית קוד שונות כדי לחסוך זמן יקר של פיתוח. לצורך כך עליהם לחקור ולדעת כיצד להשתמש נכון בקוד שכתב אדם אחר, לממש את הקוד בצורה נכונה ויעילה, קלה לתחזוקה, גמישה לשינויים עתידיים על פי עקרונות שונים של הנדסת תוכנה, ובצורה שתהיה ברורה למתכנתים אחרים תחת כל האילוצים הרבים שיש להם במערכת. בסוף הם כמובן צריכים לבדוק את הקוד כיחידה, כחלק ממערכת, חקר ביצועים ועוד. הם צריכים לעשות זאת כחלק מצוות, ובסנכרון יעיל מול צוותים אחרים ואף בקבועי הזמן שנקבעו לכל ספרינט. זה הרבה מעבר לכתיבה של פיסה של קוד, או פונקציה גנרית בודדה וחסרת הקשר שהצ'אט מסוגל לכתוב".
כלי עזר - לא תחליף
את השאלה האם ChatGPT יכול להחליף מתכנתים צריך להפנות לדברי ד"ר חלסצ'י למעסיקים. לדבריו, כבר כיום קשה למרבית המעסיקים לקבל עובדים ועובדות שעשו הסבה מקצועית, והם עדיין מתעקשים על רקע אקדמי מלא, ולא בכדי. "בנוסף, אני לא רואה כיצד מעסיקים מכניסים תיאור מפורט ומורכב של הנכס העיקרי שלהם לתוך מערכת חיצונית רק כדי שהצ'אט יקבל עוד אינפורמציה שאולי תעזור לכתוב עוד פונקציה.
להערכתי זה פשוט לא יקרה".
אתגר נוסף לדבריו הוא נושא זכויות היוצרים. "נושא זכויות היוצרים הוא נושא טעון מאד ועדיין פתוח בהמון נושאים ש- AI מעורבת בהם כיום,
לא רק קוד. שימוש ב- ChatGPT לכתיבת קוד יעלה את השאלה למי שייך הקוד שג'ינרט הצ'אט".
לדבריו, לכאורה מפתה לחשוב על הכסף הרב שיחסך בפיתוח הקוד לו זה היה נכתב בצורה אוטומטית. "אבל זה פשוט לא מעשי להנדס מערכות שלמות כך. לא כיום, ובזהירות אומר שגם לא בעתיד הנראה לעין. תהליך הפיתוח הוא תהלך סוציו-טכנולוגי ובני אדם מבריקים תמיד יצטרכו להיות חלק מזה. מעסיקים מחפשים עובדים איכותיים ואפקטיביים, שלא מבזבזים זמן או יוצרים בעיות. לשם כך ממש לא תהיה להם בעיה שהעובד או העובדת יהיו יעילים בחיפוש דוגמאות קוד באינטרנט, ילמדו מהר API של ספרייה שיכולה להתאים, ייעזרו בפורומים שונים כדי לדבאג בעיות וכו'.
כל דבר חוקי שמזרז ומיעל את הפיתוח הוא מבורך. לכן ChatGPT בהקשר הזה הוא דבר מבורך – כמחליף של מנועי החיפוש, לא של מפתח התוכנה עצמו. עובד שמיומן ב- prompt engineering יכול לקבל מהצ'אט הכוונה מאד יעילה לדוגמאות או ספריות קוד רלוונטיות לבעיה שהוא מנסה לפתור או למשימה שהוא קיבל לפתח. העובד עדיין יצטרך לממש בעצמו את הפתרון בהקשר הנתון".
מתכנת העתיד עדיין יידרש להכשרה אקדמית מעמיקה
ד"ר חלסצ'י לכן אינו חושש שהצ'אט יחליף את המקצוע הספציפי של פיתוח תוכנה. לדבריו הוא כן יהווה כלי עזר, ומתכנתי העתיד יצטרכו לדעת לעשות בו שימוש בתבונה, כשם שקודמיהם עשו שימוש בגוגל, stack overflow או וויקיפדיה.
"אין קיצורי דרך. מתכנת העתיד עדיין יצטרך הכשרה אקדמית מעמיקה, שנמצאת בחזית ומחוברת לתעשייה. הוא יצטרך המון תרגול שמפעיל את הראש, להתגבר על הנטייה להעתיק תשובות מהצ'אט בלי להבין כלום, ללמוד המון מיומנויות חדשות של המאה 21, ובעיקר לרכוש המון ניסיון.
זה מה שאנו מעניקים בפקולטה למדעי המחשב של המכללה למינהל. זוהי תקופה מאד מאתגרת ומרגשת להיות בה איש סגל, ולהיות חלק ממי
שמכין בצורה הטובה ביותר את הבוגרים שלנו לעתיד".