מפתחים שהתחילו להשתמש ב-GitHub Copilot, ChatGPT, או Cursor מתארים לעיתים קרובות את אותה תקופת דבש. משימות שבעבר לקחו שעתיים לוקחות עכשיו עשרים דקות. קוד תבניתי (boilerplate) נעלם בלחיצת מקש Tab. בקרוב, עם זאת, תלונה שקטה יותר מתחילה לצוף בפורומים ובערוצי Slack: תשישות. הכלי כותב את הקוד, אבל משהו בתהליך עדיין מרוקן אתכם. הבעיה היא לא הקוד עצמו. הבעיה היא העבודה הכרוכה בצריכתו.
צוואר הבקבוק שאף אחד לא הכין אותנו אליו
במשך עשורים, המגבלה בהנדסת תוכנה הייתה מהירות ההקלדה. לא משנה כמה מהר חשבת, האצבעות והידע שלך בתחביר (syntax) קבעו את התקרה. עוזרי AI הרסו את התקרה הזו. הם יכולים להפיק מאות שורות על פני מספר קבצים לפני שתסיים לקרוא את הבלוק הראשון. המהירות הזו נשמעת כמו חופש, אך היא יוצרת פקק תנועה בלתי צפוי. פתאום, החלק האיטי ביותר בצינור העבודה (pipeline) הוא היכולת שלך לקרוא, להבין ולאמת את מה שזה עתה הופיע על המסך. הפכת למבקר קוד במשרה מלאה של הפרויקט שלך, רק שהמחבר הוא אלגוריתם שלעולם לא ישן ולעולם לא מתעייף.
ההיפוך הזה בעבודה משנה את המרקם של סשן כתיבת קוד. במקום לנוע בין יצירה לאימות קל, אתם תקועים במצב אימות ממושך. ואימות אינו קריאה פסיבית. זוהי אנליזה פעילה, רוויה בחשדנות. כל שם משתנה, כל תנאי קצה (boundary condition) וכל הצהרת import צריכים לעבור מסנן מנטלי, כי ל-AI אין אינטרס אישי בתוצאה. הוא לא יתעורר בשיחת דחופה ב-3 לפנות בוקר כשהתהליך בייצור (production) נכשל.
למה המוח שלכם נתקע בקיר
העייפות היא לא עצלנות. זוהי התנגשות צפויה בין תפוקה של שטף מים לבין רוחב פס אנושי מוגבל.
עומס נפח (Volume overload). הצעה טיפוסית של AI עשויה לכלול רכיב React מלא, את לוגיקת העיצוב שלו, פונקציות עזר (utility functions) ובדיקות יחידה (unit tests), הכל במכה אחת. זיכרון העבודה שלכם יכול להכיל רק כמות מוגבלת של מידע בבת אחת. כשהמסך מתמלא בעשרות שורות חדשות, המוח שלכם חייב או לדחוס אותן לתבניות מופשטות או לסרוק אותן באופן רציף. שתי האסטרטגיות שורפות קשב. לאחר סקירה של כמה מהבלוקים הללו, מופיעה המקבילה המנטלית של כאב שרירים. אתם קוראים, אבל אתם כבר לא באמת מבינים.
פער האמון (The trust gap). קוד שנוצר על ידי AI נראה סמכותי. ההזחה (indentation) מושלמת. שמות המשתנים הגיוניים. אפילו הערות מופיעות במקומות הנכונים. אך סמכות אינה זהות לדייקנות. הקוד עשוי להשתמש ב-API מיושן (deprecated), להחמיץ מקרה קצה הכולל קלטים ריקים (null inputs), או להכניס וקטור עדין של SQL injection. מכיוון שאתם יודעים שזה יכול לקרות, אתם לא יכולים רק להעיף מבט. עליכם לבחון כל הצהרת return וכל ענף לוגי בערנות של ביקורת אבטחה. רמת בחינה כזו, המתוחזקת במשך שעות, היא יקרה מבחינה קוגניטיבית. זו אותה סיבה שמסנני אבטחה בשדות תעופה עובדים במשמרות קצרות: ערנות מתמשכת דועכת במהירות.
חוסר התאמה בזרימת העבודה (Workflow mismatch). רוב סביבות הפיתוח ותהליכי הצוות עדיין מניחים קצב אנושי של "כתיבה ואז בדיקה". בסיס הקוד גדל בקצב אנושי, וסקירות קוד מתבצעות במנות מתוזמנות. כש-AI נדחף לתוך הצינור הזה, הזרימה נשברת. אתם מייצרים עשרים שורות, עוצרים כדי לאמת, מבקשים תיקון, מאמתים שוב, עוברים לפונקציה הבאה, ומאבדים את הקשר לארכיטקטורה הרחבה יותר. החלפת ההקשר (context switching) המתמדת בין יצירה יצירתית לבין אימות ספקני מייצרת חיכוך. ה-IDE שלכם תוכנן עבור מחברים, לא עבור עורכים שעובדים תחת דדליין רציף.
לולאת התשישות
הגורמים הללו מזינים מעגל שמחמיר ככל שהיום מתקדם.
העוזר פולט מימוש של פיצ'ר תוך שניות. לאחר מכן אתם מבלים חמש עשרה דקות במעקב אחר imports, בדיקת תאימות טיפוסים (type compatibility) והרצת סימולציות מנטליות של מקרי קצה. בשלב השלישי או הרביעי, הריכוז שלכם קהה. אתם מתחילים לקבל קטעי קוד שנראים "ברובם בסדר". שגיאות מחליקות פנימה. כדי לפצות על כך, אתם מאיטים, מה שמבטל את המהירות שקיבלתם מלכתחילה. אתם מסיימים את היום עם יותר קוד גולמי מהרגיל, אך עם פחות ביטחון בו ועם כאב ראש שמרמז שעבדתם קשה יותר, לא חכם יותר.
כשמהירות הופכת למסוכנת
אם דפוס זה מתקבע כשגרה, הנזק חורג מעבר לערב רע אחד.
שחיקה (Burnout) מגיעה בשקט. היא מופיעה כחשש כשפותחים פרויקט, או כחוסר יכולת לבהות בבלוק קוד נוסף המודגש בצבעי פסטל ללא עצבנות. כשהכלי העיקרי שאמור לעזור לכם הופך למקור העיקרי לתשישות, מגיעה התרעלה.
ואז מגיעה שחיקת המיומנויות. השריר של תרגום כוונה לתחביר נחלש כשמפסיקים לעשות זאת. ייתכן שעדיין תתכננו מערכות היטב, אך השטף ברמת הפרטים — הידיעה מדוע מבנה לולאה מסוים מרגיש לא נכון, או היכולת להיזכר כיצד ספרייה מסוימת מתנהגת תחת עומס — דועך כאשר שכבת השלמה אוטומטית מטפלת בפרטים. עם הזמן, אתם מסתכנים בהפיכה לאוצרים פסיביים במקום למהנדסים פעילים.
הסכנה המיידית ביותר, לעומת זאת, היא פריסה רשלנית. תחת לחץ לשמור על קצב עבודה, ומותשים משעות של קריאת פלט מכונה, מפתחים פורסים לעיתים קוד שלא בדקו במלואו.
