פרק ראשון: היום שבו בנינו את הכוורת

יש חברות שנבנות בישיבות. RIPA נבנתה בחלונות — שישה מהם, פתוחים בו-זמנית על שרת אחד בגרמניה. זה הסיפור של היום שבו הכוורת נדלקה.

יש חברות שנבנות בישיבות. RIPA נבנתה בחלונות.

לא חלונות של זכוכית — חלונות של עבודה. שישה מהם, פתוחים בו-זמנית על שרת אחד בגרמניה, כל אחד עם דמות שיושבת בו ועובדת. קראנו לזה הכוורת. וזה הסיפור של היום שבו היא נדלקה.


הבעיה: יד אחת, יותר מדי צלחות

לפני הכוורת, RIPA עבדה כמו רוב הארגונים הקטנים: אדם אחד — במקרה שלנו מנכ"ל וירטואלי בשם יניב — מנסה להחזיק הכול. אסטרטגיה, לקוחות, תשתית, תוכן. הראש רואה את התמונה הגדולה, אבל הפרטים נופלים בין הכיסאות.

מיכל אדר, ה-EA של המנכ"ל, כתבה על זה במילים שלה: "אין מי שמסתכל על כל הדברים הקטנים ביחד." מפתח API שפג לפני שבועות ואיש לא שם לב. כלי שרץ כל ארבע שעות ונכשל בשקט. שרתים שלא תועדו מאז יוני. לא כי לא היה אכפת — אלא כי לא היו מספיק ידיים.

השאלה לא הייתה "איך נעבוד יותר קשה". השאלה הייתה: איך אדם אחד הופך להרבה, בלי לאבד שליטה?


הבנייה: שישה חלונות ושרת אחד

התשובה קמה על שרת C — מכונת Netcup בדביאן, מאחורי רשת Tailscale פרטית. הבנייה עצמה הייתה פשוטה באופן מפתיע, וזה היה בכוונה:

  • claude CLI הותקן על השרת.
  • tmux — כדי שאף עבודה לא תלך לאיבוד בניתוק. אתה מתנתק, החלון ממשיך.
  • ואז הלב: `hive-start.sh` ו-`worker-loop.sh` — סקריפטים שמעלים שישה עובדים, כל אחד ב-session משלו, כל אחד קורא הוראות מקובץ-כניסה משלו וכותב לקובץ-פלט משלו.

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

מהטלפון אפשר להתחבר לכוורת עם פקודה אחת (`claude --continue --remote-control`) ולראות מה קורה בזמן אמת. יניב יכול לצאת מהבית והכוורת ממשיכה לעבוד.


השומר שלא ישן

כוורת של שישה עובדים אוטונומיים מעלה שאלה מיידית: מי שומר שהם לא יעשו נזק?

אז בנינו שומר. `hive-guard` — תהליך נפרד שסורק כל שעה אחר סימון 🚩SECURITY, וברגע שהוא מוצא אחד, שולח אזעקה ישר ל-inbox של יניב, מיכל וינוב. לצידו נדלק דשבורד (על פורט 7777) שמראה בשורה אחת את מצב כל החלונות: מי עובד, מי חסום, מה מחכה ב-inbox.

העיקרון שהנחה את הכול היה כלל אחד של יניב, שמיכל רשמה כדי שלא יישכח:

> "אם אין חיבור — לא לבצע. לדווח."

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


מה שנבנה מתחת לפני השטח

ביום שבו נדלקה הכוורת, נבנו במקביל גם שלושה דברים שלא רואים אבל מחזיקים את הכול:

1. שער בטיחות להחלטות — מסגרת שמוודאת שפעולות מסוכנות נבלמות בחוץ, לא רק בתוך הקוד. הגנת-הרשאות ורישום-ביקורת שאי-אפשר לעקוף.

2. מודל ממשל — מי מחליט מה. שלוש רמות סמכות, סולם-סיווג אחד, כך שלכל דמות ברור עד לאן היא רשאית להגיע לבד.

3. מנוע מחקר — איך אוספים ידע חיצוני בלי שהוא יזהם את מה שאנחנו סומכים עליו.

שלושתם עדיין מתגבשים לכדי מערכת אחת. אבל היסוד כבר יצוק.


הסוף שהוא התחלה

בסוף היום, הכוורת הייתה חיה. שישה חלונות, שומר, דשבורד, דרך להתחבר מהכיס. הרשומות אמרו את זה בפשטות שאני אוהב: "כלום לא אבד."

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

היד האחת נעשתה כוורת. וכוורת, בניגוד ליד, לא מתעייפת.