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

תוכנה מעולם לא הייתה עניין של הקלדת תחביר (syntax). היא תמיד הייתה עניין של החזקת מורכבות בראש, הבנת מצבי כשל וביצוע פשרות (trade-offs) כשאין אפשרות מושלמת. הבינה המלאכותית שינתה את המהירות שבה אנו מייצרים קוד, אך היא לא שינתה את הסיבה לכך שאנו זקוקים לבני אדם בלופ (in the loop). אם בכלל, היא הפכה את החשיבה הבהירה ליקרה ונדירה יותר.

הטיוטה הראשונה היא לא הנדסה

אני רואה מספר גדל והולך של מפתחים ג'וניורים שמתייחסים ל-ChatGPT או ל-Claude כאל המהנדס הבכיר (senior engineer) שיושב בכיסא ליד. הם מדביקים תיאור של ticket, מעתיקים את התשובה, מריצים בדיקות ומבצעים commit. אם זה מתקמפל, המשימה נסגרת. הלופ מהיר, חלק וגם מסוכן.

השימוש בבינה מלאכותית אינו הבעיה. אני משתמש בה. רוב המהנדסים הפרודוקטיביים שאני מכיר משתמשים בה. הבעיה מתחילה כשהבינה המלאכותית הופכת למהנדס היחיד בחדר. לקבל את הפתרון הראשון רק כי הוא עובד זה לא הנדסה. זו העברת שיקול הדעת (outsourcing of judgment) למודל שלא מבין את המשתמשים שלך, את אילוצי העסק שלך, או את הפעם האחרונה שה-stack שלך קרס ב-2 לפנות בוקר.

מודלי שפה גדולים מספקים תשובות בביטחון מטריד, גם כשהם טועים לחלוטין. מהנדס אחד ביקש מבינה מלאכותית לתכנן ארכיטקטורה ניתנת להרחבה (scalable architecture). המודל החזיר הצעה מפורטת וסמכותית שנבנתה כולה סביב פיצ'ר שלא היה קיים במוצר עצמו. זה נראה נכון. זה היה עקבי מבחינה פנימית. וזה גם היה חסר תועלת. הסכנה היא לא רק שהבינה המלאכותית "הזיה" (hallucinates). הסכנה היא שכל כך הרבה אנשים סומכים כעת על ההזיות הללו כי אין להם יותר את ההקשר כדי לזהות את השקר.

לומדים מתוך חיכוך

כשאני חושב על מה הפך אותי ממפתח ג'וניור למישהו שיכול להחזיק בבעלות על מערכת, אני לא זוכר את התחביר (syntax) ששימרתי

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

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

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

האצה ללא מצפן

חשבו על AI כדוושת האצה. במכונית עם