לדלג לתוכן

דיבוג שיטתי עם AI - מדריך מעשי

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

התחילו משחזור, לא מתיקון

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

תנו לו את השגיאה המלאה, לא סיכום

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

בקשו השערה לפני תיקון

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

תיקון אחד בכל פעם

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

אם הסוכן תקוע בלולאה

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

נקו אחרי עצמכם

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

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

לסיכום

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

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