שיעור 3 — הסוכן הראשון
הסימון נשמר רק בדפדפן הזה. הוא אינו רישום אקדמי ואינו נשלח לשרת.
מטרות
- להפריד בין מה נשלח למודל, מה חוזר, ומה הקוד מבצע.
- להריץ לולאת סוכן בלי מפתח ובלי תשלום.
- לשמור את העבודה בגיט כך ששותף יכול למשוך אותה.
מה נשלח ומה חוזר
למודל קיים שולחים הוראות, את בקשת המשתמש, ולפעמים תוצאות כלים. חוזר טקסט, או בקשת כלי. זהו שימוש במודל שכבר אומן. אימון משנה משקלים מתוך דוגמאות. בקורס הזה לא מאמנים מודל.
אם אין עדיין גישה למודל, מדיניות כתובה בקוד מספיקה כדי ללמוד את הלולאה. ברגע שמחברים מודל, אותו שלד נשאר: הצעה, בדיקה, ביצוע, תוצאה, עצירה.
הלולאה
הקובץ code/lab01/agent.py מממש מדיניות קבועה:
- אם עוד אין תוצאת מחשבון, מבקשים חיסור.
- אם התוצאה הגיעה, עונים במספר.
- אם התקציב נגמר, עוצרים. העצירה אינה תשובה מספרית.
אחרי שמושכים את המאגר, מתוך תיקיית המעבדה:
python agent.py
הפלט הצפוי כולל את ההפרש 5 ואת סטטוס answered. אחר כך שנו את התקציב ל־0 בקריאה ל־run ובדקו שהסטטוס הופך ל־stopped.
הסימולציה למעלה רחבה יותר ממעבדה 1: יש בה גם מסמך עוין. היא עדיין אינה מודל.
גיט, בקצרה
יוצרים מאגר פרטי ב־GitHub ומזמינים את השותף.
git status
git add agent.py
git commit -m "Add the first deterministic agent loop"
git push
שינוי קטן של שותף עובר בענף וב־Pull Request, לא ישר אל הענף הראשי. קובץ .gitignore משאיר בחוץ סביבה וירטואלית, מפתחות, ומשקולות של מודל. מפתח אינו נכנס לקוד גם אם המאגר פרטי.
תרגיל
החליפו את פעולת המחשבון מחיסור לחילוק באפס. כתבו מה הסטטוס, כמה פעמים הכלי רץ, והאם מותר לדווח שהמשימה הושלמה.