מסלול משימה במערכת
הזרימה רצה בגלים ניתנים לחידוש עם שערי אישור אנושיים באמצע - משימה ארוכה שורדת, ואפשר לעצור, לאשר ולהמשיך מאותה נקודה.
החלק החכם באמת הוא שרשרת האמון של הזיכרון: כל צעד בזרימה נכתב ל-D1 אבל לא מוטמע מיד - רק אחרי שסוכן ביקורת בלתי תלוי, לעולם לא היצרן של התוצר עצמו, נותן ציון עובר, ה-embedding נכנס ל-Vectorize. כשלים נשמרים כטיוטות לצורכי audit אבל מודרים מה-recall, כך שתוצרים גרועים לא מרעילים את הקורפוס. ה-recall עצמו לא מדרג לפי cosine גולמי אלא משקלל דמיון סמנטי עם ציון איכות ודעיכת טריות, כך שתיקון טרי גובר על עובדה ישנה, ו-cron יומי מריץ lint שמאחד כפילויות סמנטיות - עם שומר שמזהה שמספרים שונים הם תיקון ולא כפילות. גם הניתוב לא נאיבי: כל תת-משימה משוקללת מול כל צי הסוכנים לפי capabilities עם שקלול נדירות בסגנון IDF, כך שיכולת נדירה ומדויקת גוברת על מילה גנרית. התוצאה היא מוח שמצטבר בלי להזדהם.
מה זה
Synapse הוא מוח ארגוני - מסך אחד שמחזיק את הזיכרון וההקשר של כל ישות בארגון, אנושית או AI. גרף ידע force-directed ממדל את החברה כולה: אנשים, סוכני AI, מחלקות, צוותים, כלים, תהליכי עבודה ופרויקטים, ולחיצה על כל צומת פותחת profile drawer מלא עם יכולות, קשרים והיסטוריה.
מעבר לתצוגה, זו פלטפורמת הפעלה: 7 מסכי עבודה הופכים את הגרף למשטח תפעולי - תרשים ארגוני, מפת מערכת חיה, Conductor לתזמור משימות, קנבן משימות, זיכרון סמנטי ו-dashboard. המערכת משמשת גם כקונסולת ההפעלה של fabius, סוכן ה-AI שבניתי, שרץ מעליה מקצה לקצה.
הבעיה
ידע ארגוני חי בראשים של אנשים ובעשרות כלים מנותקים. תרשימי ארגון הם ציורים סטטיים שמתיישנים ברגע שצוירו, וכשסוכני AI נכנסים לתמונה אין להם שום הקשר משותף - כל ריצה מתחילה מאפס, ושום דבר לא מצטבר.
רציתי מערכת אחת שגם ממדלת את הארגון וגם מריצה אותו: מקצה משימות, מתזמרת כמה סוכנים יחד עם בקרה אנושית, ובעיקר זוכרת - כך שכל עבודה שהושלמה משפרת את העבודה הבאה במקום להיעלם.
מה בניתי
frontend ב-vanilla ללא build - HTML, CSS ו-JS גלובלי עם force-graph ו-GSAP מ-CDN. הגרף מחזיק מעל 100 צמתים - ארגון, מחלקות, עשרות סוכני AI לצד כלים, תהליכים ופרויקטים - וכל סוכן נושא רשימת capabilities שמזינה את הניתוב שלו.
הלב התפעולי הוא ה-Conductor: מתארים משימה, המערכת מתכננת DAG של עד 6 צעדים עם תלויות ושערי אישור אנושיים, ומריצה אותו בגלים ניתנים לחידוש. inbox אישורים, פאנל עומסים ומעקב עלות סוגרים את לולאת הניהול, וכרטיסי משימות בקנבן יודעים לפתוח זרימה או להריץ סוכן בודד.
ה-backend הוא Cloudflare Worker עם D1 כמקור אמת, Vectorize לזיכרון סמנטי ו-Workers AI ל-embeddings. שער multi-provider מריץ כל מודל - Anthropic, OpenAI, Google, Mistral, Groq - מאחורי API אחיד; כל בקשת API דורשת token, ומבקר בלי token מקבל demo לקריאה בלבד מתוך seed מובנה בדפדפן.
איך זה עובד
הארכיטקטורה מודולרית בכוונה: כל מסך הוא מודול גלובלי מנותק שמתקשר רק דרך אובייקט state אחד ו-event bus של CustomEvent, וקובץ store אחד הוא לקוח ה-API היחיד. אין framework ואין bundler - הדף נטען מיד וקל לתחזק כל מודול בנפרד.
הניתוב הוא capability-primary: כל תת-משימה משוקללת מול כל צי הסוכנים לפי היכולות שלהם, לא לפי שיוך מחלקתי, כך שהצעד מגיע למומחה הנכון גם אם הוא יושב במחלקה אחרת. על כל צעד יושב verify gate - סוכן ביקורת בלתי תלוי שבוחן את התוצר, לעולם לא מי שייצר אותו, וכשל גורר סבב תיקון תחום אחד בלבד.
הזיכרון הוא הסיפור המרכזי: רק תוצר שעבר את השער מוטמע כ-embedding ב-Vectorize, וה-recall משקלל דמיון סמנטי עם ציון איכות ודעיכת טריות. cron יומי מריץ lint שמאתר כפילויות ופערים ומרפא את הקורפוס - כך המוח מצטבר בלי להזדהם.
התוצאה
המערכת חיה ב-synapse-vert-one.vercel.app: מבקר ללא token רואה demo לקריאה בלבד של הארגון המלא, והמפעיל מנהל ממנה משימות, זרימות רב-סוכניות וזיכרון שמצטבר עם כל ריצה מאומתת.
העיצוב בשפת Apple עם שכבת Liquid Glass, mobile-first, ו-0 שגיאות console כרף קבוע. הגרף עצמו חי - צמתים נושמים וסינפסות יורות לאורך הקשרים - בלי לוותר על ביצועים, עם כיבוי מלא תחת reduced-motion.