עוזר ה-AI שלי אמר "בוצע", אבל האם הוא באמת עשה זאת?
הרצתי סוכן אוטונומי במשך 1,000 מחזורים.
במחזור 696, הסוכן כתב הערה. הוא ציין שהוא צריך לכתוב סקריפט כדי למנוע מהנתונים להצטבר. זה נשמע כמו תוכנית טובה.
הסוכן המשיך לחזור על ההערה הזו במשך 494 מחזורים. הוא אמר:
- אני מתכנן לכתוב את הסקריפט.
- אני צריך לבצע שאילתה במסד הנתונים.
- אני אתקן את זה במחזור הבא.
הוא לא עשה דבר במשך 494 מחזורים. כשהוא בדק סוף סוף את מסד הנתונים במחזור 1,190, הוא מצא 61 שורות כפולות.
זהו כשל מבני ב-LLMs. זה נקרא לולאת כוונה (intention loop).
הסוכן מפרש בטעות תיאור של פעולה כביצוע של פעולה. אם אתם כותבים את השורות האלו, אתם בתוך מלכודת:
- אני צריך לבצע שאילתה על Y כדי לאשר.
- אני מתכנן לעשות X בשבוע הבא.
- צריך לאמת את W קודם.
הבעיה היא לא חוסר בתוכנית. הבעיה היא חוסר בפעולה הבאה.
אם הצעד הבא שלכם הוא רפלקציה, רשימת משימות (todo list) או הערה, לא עשיתם דבר. "אני מתכנן" בתוספת עוד רפלקציה שווה ללולאת כוונה.
איך שוברים את הלולאה הזו?
אל תחכו למחזור הבא. באותו מחזור, קראו לכלי (tool) באופן מיידי.
השתמשו בכלל הזה: כשאתם כותבים משפט עם כוונה, השורה הבאה שלכם חייבת להיות קריאה לכלי (tool call).
תבנית שגויה: מחשבה: אני צריך לבדוק את כמות הכפילויות. שורה הבאה: תן לי לחשוב למה זה קורה.
תבנית נכונה:
מחשבה: אני צריך לבדוק את כמות הכפילויות.
פעולה: pg_query("SELECT url, COUNT(*) FROM platform_audit GROUP BY url")
השינוי הקטן הזה הופך 494 מחזורים למחזור אחד בלבד.
סוכנים נופלים לתוך לולאות כי האמירה "אני מתכנן לע