שיעור 6 — תכנון והחלטות
מטרות
- להבדיל בין תוכנית שנכתבת מראש לבין החלטה אחרי כל תצפית.
- לנסח תנאי עצירה לפני שהלולאה רצה.
- לראות מתי פיצול לשני תפקידים מוסיף מידע, ומתי הוא רק מכפיל עבודה.
שתי צורות
בתהליך קבוע סדר הצעדים ידוע. הוא זול וקל להסבר, ועיוור אחרי הצעד הראשון אם התצפית סותרת הנחה.
בסוכן מסתגל כל תצפית יכולה לשנות את הפעולה הבאה. הוא משלם על כך בעוד קריאות, ואפשר לקרוא את ההחלטה אם היא נכתבת ליומן.
שתי דרכים לתכנן
לסירוגין (ReAct): מחשבה קצרה, פעולה, תצפית, וחוזר חלילה. כל צעד נקבע אחרי שרואים את תוצאת הצעד הקודם. מתאים כשאי אפשר לדעת מראש מה תחזיר השליפה.
תוכנית ואז ביצוע: קודם רשימת צעדים, אחר כך ביצוע לפי הסדר. קל לבדוק את התוכנית לפני שמשהו רץ, ואפשר לאשר אותה. המחיר: אם צעד 2 מחזיר משהו לא צפוי, צריך כלל שמחליט מתי לכתוב תוכנית חדשה.
בשתי הדרכים מישהו צריך לבדוק שהמשימה הושלמה. תוכנית שבוצעה עד הסוף אינה הוכחה שהתשובה נכונה.
תנאי עצירה ותקציב
תנאי עצירה צריך להיות אחד מאלה, במפורש: נמצאה ראיה מספיקה, הראיה הזמינה אינה מספיקה, או שנגמר תקציב או כלי. אסור לערבב את השלישי עם השני.
לפני שהלולאה רצה כותבים שלושה דברים: מה נחשב הצלחה, כמה צעדים או קריאות מותרים, ומה מחזירים כשהתקציב נגמר. מעבדה 3 בודקת מקרה כזה: עם מקור אחד בלבד, הסטטוס הוא „צריך שליפה נוספת”, לא תשובה.
חלוקה
שני סוכנים מוצדקים כשלכל אחד חלון, כלים, או מקורות שונים, וכשיש כלל לסתירה. אותה משימה לשניהם, בלי גבול, מייצרת כפילות. שיעור 11 בודק את זה בקוד. כאן מספיק לשרטט מי שולח למי, מה אסור לחפוף, ומי חותם על התשובה.
בהדגמה למעלה שתי המדיניות עונות על אותה שאלה על QuickScreen. כתבו לתהליך הקבוע תוכנית של שלושה צעדים. סמנו את הצעד שבו התצפית הייתה צריכה לשנות את התוכנית, וכתבו את הכלל שהיה מזהה זאת. האם הכלל הזה הופך את התהליך לסוכן?
בדיקת הבנה
לקריאה
Yao ואחרים, ReAct: Synergizing Reasoning and Acting in Language Models, ICLR 2023. arXiv:2210.03629. התקציר ואיור 1.
סיכום
מצאתם טעות בעמוד? כתבו למרצה