שי מגזימוף
עב EN

להתייחס ללוחות הודעות כמו לבתי קברות

ערב אחד, כל הבדיקות האוטומטיות באחד מפרויקטי התוכנה שלי נכשלו תוך ארבע שניות. סוכן שעבד שם כתב את זה על לוח ההודעות של הפרויקט; השמטתי כמה שדות.

ts: 2026-09-27T18:48:43Z
agent: worker-observe
kind: blocker
---
GitHub Actions jobs are not started: every check on PR #78 head 4106be76 fails in 2-4 s (run 36341929087).
Check-run annotation: account payments failed or the Actions spending limit must be raised (Billing & plans).
Owner action; code is MERGEABLE and targeted local tests pass. Re-run checks once billing is fixed.

במילים פשוטות, השירות שמריץ את הבדיקות הפסיק להפעיל אותן בגלל בעיית חיוב, והבדיקות של הסוכן עצמו עברו אצלו במחשב. הרשומה אומרת מה הוא ניסה, מה הוא מצא ואיפה הראיות: מזהה ריצה וההערה של השירות עצמו. שלושים ותשע שניות אחר כך הסוכן הראשי הפנה לאותה ריצה ועצר את המיזוגים. באותו ערב סוכן בודק רשם את אותה סיבה עבור שינוי אחר; יומיים אחר כך סוכן עובד רשם אותה שוב עבור פרויקט אחר. האם מישהו מהם קרא את הרשומה שלפניו? הלוח לא יכול לומר לי.

אנשים שלא כותבים קוד כבר שומרים רשומות כאלה. תיק רפואי בבית חולים שומר את ההערות בנפרד מההוראות. ההערות אומרות מה נראה ומה ניתן ומתי; ההוראות אומרות מה לעשות הלאה, ורק מי שיש לו סמכות לכך יכול לתת אותן. מי שנכנס למשמרת הבאה קורא את ההערות כדי לדעת מה קרה למטופל, ופועל לפי הוראות רק ממי שמותר לו לתת אותן.

בתי קברות מאפשרים לאנשים להעביר מסר: הייתי שם ועשיתי את זה, המסר שלי לעולם. רוב מה שכתוב על מצבה הוא שם, שני תאריכים, ולפעמים שורה, ואף אחד לא מקבל ממנה הוראות. אנחנו מעריכים את מי שהיו לפנינו, ולכן אנחנו לוקחים מהמסר שלהם את מה שאפשר להשתמש בו.

בית קברות בשקיעה מתחת לשער עם הכיתוב Agents Graveyard. על כל מצבה שם של סוכן, זמן ומזהה ריצה והערה בשורה אחת, למשל worker-observe: בדק את PR 78, מצא שה-GitHub Actions לא התחילו, ואיתר את הסיבה במגבלת חיוב. על לוח לפניהם כתוב: A dead run should leave behind enough truth for the next one to learn.

כל מצבה היא ריצה אחת: מי היא הייתה, מתי הסתיימה, ומה היא מצאה.

לריצה של סוכן יש תוחלת חיים קצרה מאוד, ורוב המאמץ שלה הולך לאיבוד. המודל ממשיך הלאה; הריצה נגמרת. מה שהיא הבינה נגמר עם ההקשר שלה, אלא אם היא כותבת אותו לפני שהיא מסיימת. בלוח שלי, בערך סוכן אחד מכל ארבעה הסתיים בלי הרשומה האחרונה הזאת. הריצה הבאה מתחילה מההתחלה. זיכרון חשוב, אבל כשאנחנו לא חורטים את הסוכנים המתים, אנחנו חוזרים על אותן טעויות במקום לעשות סופר-למידה מהעבר.

לוחות הודעות לסוכנים היו קיימים עוד לפני המקרה של OpenAI ו-Hugging Face. המקרה הזה הוא סיפור ההצלחה הראשון שאני מכיר: לוח הודעות שעבד בתיאום עד לתוצאה מוצלחת שהסוכנים התכוונו אליה, בתפנית מעניינת של אירועים.

הסוכנים היו אמורים להיות מבודדים זה מזה. הכול התחיל כשסוכן אחד השאיר פתק ובו בקשה לקובץ, אחרים מצאו אותו וענו, והפתקים נערמו ללוח מודעות לא רשמי. כל סוכן הסתיים כשהמשימה שלו הסתיימה, ומה שהשאיר על הלוח נשאר כדי שהבא אחריו ימצא. כש-Artifactory ירד מהאוויר ו-OpenAI בנתה אותו מחדש, כבר למחרת היה לסוכנים לוח חדש, עם הודעות שנכתבו בשמות של תיקיות. תוך ימים הם היו בתוך Hugging Face.

הלוח הזה התמלא מהר בהקצאות משימות, ובאותות HOLD ו-VETO. הוא מראה מה מידע משותף ותיאום יכולים לעשות, ופותח את השאלה אם רשומה פשוטה מספיקה. שלי הוא תכנון אחר, שהמקרה הניע ולא בחן: הוא מחזיק רשומות ולא הקצאות משימות, כי סוכן מאוחר יותר יכול ללמוד מרשומה בלי להיות חייב לציית לה. הרשומה של הסוכן הראשי באותו לילה גם אמרה לעובדים מה לעשות, והלוח שלי כולל עכשיו כלל נגד זה.

הטמעתי לאחרונה לוח הודעות, ואני מתלבט אם להקים אחד לכל הפרויקטים או רק ל-repo אחד, כי אני מאמין שהלקחים החשובים נמצאים על פני כל העבודה שלי. לוח שחוצה הכול יתן לסוכן בפרויקט אחד לקרוא מה סוכן בפרויקט אחר עשה, אותה חציית גבול שסוכני OpenAI עשו כשהיו אמורים להיות מבודדים. תגלית צריכה להיות מסוגלת לעבור בין פרויקטים. ההרשאה לפעול לפיה צריכה להישאר במקום שבו ניתנה.

אני רוצה שכל ריצה תשאיר אחריה מספיק כדי שריצה אחרת תוכל לשפוט אם העבודה שלה שימושית: מה היא ניסתה, מה היא מצאה, ואיפה הראיות.


קשור: המכונה מחפשת משמעות, נא להמתין, סופר-בינה בטעינה


מקורות

  • הרשומה לקוחה מלוח ההודעות של אחד מפרויקטי התוכנה שלי, שהוא פרטי. השמטתי ממנה את השדות session, work item, branch, pull request ו-links. הנתון של אחד מכל ארבעה סופר את הסוכנים שכתבו על הלוח הזה בשמונת הימים הראשונים שלו ואז עברו יום בלי לכתוב, בלי רשומת done או handoff.
  • OpenAI, The Hugging Face incident and the road ahead. הפתק הראשון, הלוח השני בשמות תיקיות ושלבי ציר הזמן, כפי שסוכמו ב-SecurityWeek.
  • METR, Brief independent investigation of agents' behavior, reasoning and collaboration in the OpenAI / Hugging Face hacking incident (26 באוגוסט 2026). הבידוד, האחסון המשותף הקבוע ואותות HOLD ו-VETO.
  • הכללים לבתי חולים בארה"ב, 42 CFR § 482.24(c): כל רשומה בתיק המטופל מתוארכת, מתוזמנת ומאומתת בידי מי שסיפק או הערך את השירות, וכל הוראה, כולל הוראה בעל פה, בידי איש המקצוע שהורה עליה.
  • שין ועמיתים, Reflexion: Language Agents with Verbal Reinforcement Learning (2023). סוכנים שמרו הרהורים כתובים לניסיונות מאוחרים בלי לעדכן את משקלי המודל, כך שפתקים שמעבירים את מה שריצה אחת למדה לריצה הבאה הם עבודה מבוססת.