סוכן הקוד מבוסס ה-AI שלי המשיך להישבר — מה שיניתי

לפני שישה שבועות, סוכן הקוד מבוסס ה-AI שלי ייצר זבל.

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

חשבתי שהסוכן הוא הבעיה. טעיתי. הבעיה הייתה חוסר המשמעת שלי.

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

AI לא מחליף משמעת. הוא מגביר את מה שכבר יש לך.

כך שיניתי את תהליך העבודה שלי כדי לתקן את התוצאות:

  • טסטים חייבים לאמת התנהגות, לא מצב (state). תפסיקו לכתוב טסטים כמו "assert user is not None." זה שקר. טסט צריך לבדוק נתונים ספציפיים כמו "assert user.email == expected_email." אם הטסט חלש, ה-AI ינצל זאת.

  • קראו כל diff. פעם הייתי מקבל refactors בלי להסתכל על הקוד. זה הוביל לתלויות מעגליות (circular dependencies) ולארכיטקטורה מבולגנת. אם אתם לא יכולים להסביר למה שינוי הוא טוב יותר, דחו אותו.

  • הפכו את ה-state למפורש. אל תתנו ל-AI "להבין לבד" איך לטפל ב-caches או ב-sessions. הגדירו אותם ב-prompts או ב-schemas שלכם. state שנובע מהסקה (inferred state) מוביל לבאגים שקטים שגורמים לקריסות ב-production.

  • כתבו טסטים משלכם לשינויים של הסוכן. בכל פעם שהסוכן משנה קוד, אני כותב קודם טסט שנכתב על ידי בן אדם. זה עולה 15 דקות אבל חוסך שעות של debugging.

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

התוצאות:

  • מספר הבאגים בשבוע ירד מ-5 לפחות מ-1.
  • זמן ה-debugging ירד מ-6 שעות לשעה אחת בשבוע.

הסוכן לא השתנה. אני השתניתי.

אם אתם משתמשים בסוכני AI, תקנו קודם את ה-codebase שלכם. שפרו את הטסטים, הגדירו בבירור את ה-state שלכם, והקפידו על ביקורת קוד (reviews) קפדנית יותר.

הסוכן הוא מראה. ודאו שיש לכם משהו ששווה להגביר.

Source: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f

Optional learning community: https://t.me/GyaanSetuAi