כולם מדברים על פרומפטים. הלולאה היא המקום שבו סוכנים באמת נכשלים
הנדסת פרומפטים (Prompt engineering) מקבלת את כל תשומת הלב. אנשים משתפים פרומפטים ומרגישים חכמים. אבל במערכות הסוכנותיות (agentic systems) שאני בונה, הפרומפטים לא נשברים. הלולאה נשברת.
סוכן הוא לא רק פרומפט ותגובה בודדים. הוא לולאה.
- צפה במצב.
- בצע פעולה.
- הערך את התוצאה.
- החלט אם להמשיך או לעצור.
אם אחד השלבים הללו נכשל, הסוכן נכשל. ניתחתי 12 מודלים לאורך 1,412 הרצות כדי לחקור זאת. הנה הדרכים שבהן לולאות נכשלות ואיך לתקן אותן.
כשלים נפוצים בלולאה:
- ספירלות טוקנים (Token Spirals): הסוכן חוזר על עצמו ומשתמש ביותר מדי טוקנים.
- נקודות עיוורות (Blind Spots): הסוכן אינו יכול לראות את הסביבה שלו וחוזר על אותה טעות.
- הצלחה כוזבת (False Success): הסוכן מייצר תשובה שגויה אך חושב שהיא נכונה.
- מבוי סתום (Dead Ends): הסוכן מוצא שגיאה אך אינו יכול להשתמש בנתונים הללו כדי להשתפר.
פרומפט טוב יותר לא יכול לפתור את הבעיות הללו. אתם צריכים הנדסת לולאות (loop engineering).
ארבעה עקרונות עיצוב ללולאות טובות יותר:
- הגבילו את הלולאה: קבעו גבול קשיח למספר האיטרציות והטוקנים. אם הסוכן מגיע לתקרה, עליו לעצור ולבקש עזרה.
- הפכו את הסביבה לקריאה: ודאו ששלב ה"צפייה" (observe) מספק לסוכן את כל העובדות. אם סוכן חוזר על פעולה שנכשלה, חסר לו המידע הנכון.
- הפרידו בין המבצע למעריך: אל תתנו לאותו מודל לבדוק את העבודה של עצמו. השתמשו במודל אחר או בבדיקה מבוססת חוקים כדי לשפוט את הפלט.
- סגרו את הלולאה: השתמשו בשגיאות כדי להוביל לתיקונים אמיתיים. כאשר לולאה נכשלת, הוסיפו בדיקת רגרסיה (regression test) כדי שהדבר לא יקרה שוב.
בניתי סוכן תמיכה בשם RelayOps באמצעות הכללים הללו. השתמשנו בשופט עצמאי כדי לדרג את הסוכן.
פעם אחת, הסוכן ציטט את המאמר הנכון אך נכשל במתן תשובה לשאלה עצמה. בדיקה פשוטה מבוססת חוקים אישרה אותה. אך המעריך העצמאי שלנו תפס זאת. השתמשנו בכשל הזה כדי לתקן את המערכת והוספנו בדיקה כדי למנוע מהדבר לקרות שוב.
הסוכן לא היה צריך להיות חכם יותר. הלולאה הייתה צריכה להיות מעוצבת טוב יותר.
הפסיקו להתמקד רק בפרומפטים. התמקדו במבנה.
איזה כשל בלולאה ראיתם? ספירלת טוקנים, נקודה עיוורת, או סוכן שהיה טועה בביטחון עצמי?
Optional learning community: https://t.me/GyaanSetuAi