רשימות על עבודה עם AI
סוכן או עובד: השאלה שבאמת מכריעה
רוב הצוותים שמצליחים להריץ agent נשארים תקועים בהדגמה, וזה כמעט אף פעם לא בגלל המודל. השאלה שבאמת קובעת היא אם אפשר לשאול אותו בסוף היום מה הוא עשה, ולקבל תשובה אמיתית.
ארבעה שלבים קטנים בטור אנכי — צ׳אט, כלים ולולאה, זיכרון, וצוות מתוזמן — כל אחד מוסיף יכולת. מתחתיהם, מופרד בקו ומודגש בזהב, שער יחיד גדול יותר משלושתם: השאלה ׳מה עשית היום׳, ושלוש התשובות שסוכן חייב להחזיר — מה הסתיים, מה נתקע, ומה מחכה להכרעה אנושית. הכיוון הוא מלמעלה למטה: היכולת נצברת, אבל היא עוברת דרך השער הזה או שהיא לא נחשבת.
- צ׳אטעונה, לא פועל. כאן נעצרים כמעט כולם.
- כלים ולולאהמחברים נותנים ידיים, והלולאה נותנת לו לבדוק את עצמו.
- זיכרוןקצר למשימה, ארוך בין הרצות, ומתוחזק — אחרת הוא נרקב.
- צוות מתוזמןתפקידים נפרדים, ענפים מבודדים, ותקרה על העברות ביניהם.
השער
מה עשית היום?
- מה הסתיים
- מה נתקע ולמה
- מה מחכה להחלטה שלכם
סוכן שלא עונה על השלוש האלה לא מת מחוסר יכולת. הוא מת בשקט, כשמפסיקים לסמוך עליו בלי להחליט על זה.
- ai-agents
- agent-teams
- automation
- accountability
הדגמה שעובדת היא לא אותו דבר כמו עבודה
כל צוות שאני מלמד מצליח בסוף להפעיל agent בצורה שעובדת, לפחות פעם אחת. הוא עונה על שאלה, מנסח טיוטה, מגיע לכלי שאף אחד בחדר לא ציפה שהוא ידע להגיע אליו, וכולם מתרשמים. כעבור שלושה שבועות חצי מהסוכנים האלה כבר מתים. לא כי המודל נהיה פחות טוב. כי אף אחד לא יכול להגיד מה הדבר הזה בכלל עשה מאז ההדגמה.
אני מריץ צוות agents אמיתי, לא כתרגיל הדרכה. לוח משימות, כמה builder agents, reviewer שבודק את העבודה שלהם לפני שהיא יוצאת, judge שמחליט מה באמת עולה לאוויר, ורטרוספקטיבות כשמשהו נשבר. ככה נבנה האתר של Wider Group. ראיתי סוכנים מתים גם במערכת הזאת, וכמעט אף פעם זה לא היה בגלל מה שהמודל ידע לעשות.
איפה שרוב האנשים בעצם נתקעים
מודל שיושב בתיבת צ'אט הוא לא agent. הוא עונה, הוא לא יכול לפעול, וזה בדיוק המקום שכמעט כולם נעצרים בו. מקום סביר לנוח בו שבוע. מקום גרוע לבנות עליו עסק.
הוא הופך ל-agent ברגע שהוא מקבל כלים, connector, MCP, משהו אמיתי שהוא יכול לגעת בו, ולולאה שמאפשרת לו לפעול ולבדוק את העבודה של עצמו. זו כל הקפיצה: מלדבר על המשימה, לבצע אותה בפועל.
אחר כך הוא שוכח הכול ברגע שהשיחה נגמרת, ואתם הופכים להיות ה-memory, מסבירים את אותו ההקשר מחדש כל בוקר. הפתרון הוא שני סוגי memory, קצר טווח למשימה שעל השולחן ברגע נתון, ארוך טווח שנשאר בין שיחות, וניקיון מדי פעם, אחרת ה-memory נרקב למשהו גרוע יותר מאשר בלי memory בכלל.
מעבר לזה מגיעה ההחלטה הקשה יותר: להפסיק לבנות agent אחד שעושה הכול. לתת לו עבודה אחת, שם, קובץ זהות, skills משלו, memory משלו. agent אחד הוא כלי. כמה agents בעלי שם, כל אחד עם תפקיד מוגדר, זה כבר מתחיל להיראות כמו צוות.
צוות צריך מי שמריץ אותו. משהו ששומר על כל agent חי כתהליך נפרד ומפעיל אותו מחדש כשהוא קורס, משהו שמתזמן את העבודה ומעביר הודעות בין הסוכנים, וכלל אחד שבאמת מציל אתכם, תקרה קשיחה על כמות הפעמים שסוכנים מורשים לדבר אחד עם השני לפני שבן אדם מסתכל. בלי התקרה הזאת, אי הסכמה בין שני סוכנים הופכת לאחר צהריים יקר מאוד.
תופסים את זה נכון, וזה רץ בלעדיכם. מפסיקים להיות צוואר הבקבוק.
השאלה שבאמת מכריעה
אף אחד מהשלבים האלה הוא לא המבחן האמיתי. שלי הגיע כשסוכן שתק ולקח לי זמן לשים לב, כי שום דבר לא דיווח בחזרה. משהו השתבש באמצע ריצה, ועד שגיליתי, כבר הפסקתי לסמוך עליו בלי שהחלטתי את זה במודע.
ככה כל agent נטוש מת. לא כי הוא עבד גרוע. כי אף אחד לא יכול היה להגיד מה הוא בדיוק עשה. המבחן הוא שאלה אחת: אפשר לשאול אותו בסוף היום מה הוא עשה, מה הוא סיים, מה הוא לא הצליח לסיים, ומה הוא צריך מכם, ולקבל תשובה אמיתית? ה-reviewer שלי מסמן מה הוא דחה ולמה. ה-judge שלי אומר מה הוא חסם. רטרוספקטיבה נותנת שם למה שנשבר. ברגע שמשהו יכול לענות על השאלה הזאת, הוא מפסיק להיות הדגמה, לא משנה באיזה שלב בסולם הוא נמצא.
על מה אני סקפטי
יש עכשיו גל של repos ענקיים שמבטיחים עשרות subagents ומאות skills בהתקנה אחת. אני מבין את הפיתוי, ואני סקפטי לגבי ההנחה שמאחוריו. skill שאף פעם לא קוראים לו הוא לא יכולת, הוא context שמשלמים עליו בכל שיחה מחדש. subagent שאף פעם לא נותנים לו עבודה אמיתית הוא שורה בטבלה, לא עובד. יכולת שלא ביקשתם ולא יודעים להפעיל היא פשוט גרסה גדולה יותר של אותה הדגמה, עם תפאורה יקרה יותר.
מופיע שוב מחר
הלוח שאני מריץ לא מרשים בשלושים השניות הראשונות. הוא מדווח מה קרה, זוכה בקצת יותר אמון בכל שבוע במקום קצת פחות, ומופיע שוב מחר. זה כל ההבדל בין agent לבין משהו שאפשר לקרוא לו צוות.