ג'וזי לאתר ג'וזי ←
הבלוג של ג'וזי · הנדסה
מהשטח

יש לי 13 מהנדסים בצוות. אף אחד מהם לא בן אדם

ואחרי 45 יום שבהם מיזגנו 263 בקשות משיכה (Pull Requests), אני מגייס בן אדם אחד. לא, זו לא סתירה. כן, גם אני הופתעתי.

י״ר
ישראל רוטCTO ומייסד־שותף, ג'וזי · 11 באוגוסט 2026

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

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

אני ה־CTO של ג'וזי — פלטפורמה חדשנית לאוצרות מוזיקה שבה יוצרים, אמנים ואנשי תקשורת, וגם מאות אוהבי מוזיקה רגילים, כבר מפרסמים המלצות מנומקות, ועשרות אלפי אוהבי מוזיקה מגלים דרכם מוזיקה חדשה ומאזינים לה בג'וזי. אני גם, נכון לרגע זה, כל מחלקת הפיתוח שלה. שאר הצוות — שלושה־עשר סוכני AI — חי בתוך הריפוזיטורי עצמו. לכל אחד תיאור תפקיד, גבולות אחריות, וזיכרון ארוך־טווח ששמור ב־git ונטען אליו אוטומטית בכל פעם שהוא מתעורר.

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

קודם ניהלתי כלים. עכשיו אני מנהל ארגון

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

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

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

עד יולי הצוות שלי היה בערך הסרט "ממנטו", רק עם TypeScript

מה שפתר את זה לא היה עוד סוכנים, אלא מבנה. ב־2 ביולי 2026 הפסקתי להפעיל סוכנים והתחלתי לנהל ארגון: ראש צוות שמנתב כל משימה למי שאחראי עליה; שלושה יועצים — ארכיטקט, מומחה UX ומוצר, ומעצב; שני מהנדסי פלטפורמה שמחזיקים את התשתית של האתר ושל אפליקציית המובייל; ושבעה מהנדסי דומיין שבונים ומשלחים בפועל.

הצוות שלי · 13 סוכנים · 0 שולחנות
ראש צוותמנתב · מעביר הקשר · מדווח
יועצים
ארכיטקטעיצוב חוצה־דומיינים
UX ומוצרזרימות · קופי · נגישות
מעצבמערכת עיצוב
פלטפורמה · חוצה־דומיינים
וובתשתית · אימות · CI
מוביילReact Native · בילד · ניווט
מהנדסי דומיין
פידופוסטים
זהותואוצרים
גילויוחיפוש
אירועיםחיים
מעורבותהתראות
צמיחהואדמין
ריטנשןתקשורת מחזור־חיים

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

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

הזיכרון הוא הנכס. לא הסוכנים

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

בסוף כל משימה, כל סוכן כותב לעצמו רשומת לקחים — לא תיאור של מה שהוא עשה, אלא מה שהוא למד. הרשומות נשמרות כקבצים בגיט ונטענות אוטומטית בפעם הבאה שהוא מתעורר. כרגע יש לנו 188 רשומות כאלה, ו־957 שורות של זיכרון מזוקק ומתוחזק.

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

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

זה ההבדל בין צוות שמצטבר לצוות שמתאפס. וזה, אגב, גם ההבדל בין עובד ותיק לעובד ביום הראשון שלו — רק שכאן אפשר לעשות לזה git commit.

איך שינוי מגיע לייצור אצלנו

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

01משימהנרשמת ב־Eager
02בידודענף ועותק נפרד
03בנייההמומחה האחראי
04ביקורתמודל אחר סוקר
05אישור אדםלפני כל מיזוג
06ייצורמיזוג וסגירה

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

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

ולמה בעצם אפריל היה החודש הכי חשוב

הקפיצה של יולי לא נולדה ביולי. ג'וזי קמה בינואר 2025 והשתמשה בכלי AI מהיום הראשון. בהתחלה הבשלות פשוט לא הספיקה, ונעזרנו בפרילנסרים אנושיים — בעיקר לקראת היציאה עם הגרסה הראשונה לאוויר והוצאת גרסת המובייל. מקיץ 2025 הפיתוח עבר להיות AI בלבד, ומסוף אותה שנה כל שורת קוד בחברה נכתבת על ידי AI ונסקרת על ידי מודל אחר.

01/2025 ג'וזי קמה. AI מהיום הראשון
קיץ 2025 מעבר לפיתוח AI בלבד
סוף 2025 100% מהקוד נכתב ונסקר ע"י מודלים
04/2026 בניתי את Eager — מערכת לניהול עבודת סוכנים
02/07/2026 הקמת צוות הסוכנים הרשמי

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

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

אבל מה שקרה שם זו לא הייתה האטה — זו הייתה בנייה של תשתית. Eager, חוקי הבעלות, פרוטוקול הזיכרון, הגבולות בין הדומיינים. ב־2 ביולי רק לחצתי על המתג.

המספרים: לפני ואחרי המתג

מדדחצי שנה לפני182 יום · 1.1—1.7.2026אחרי הקמת הצוות45 יום · מ־2.7.2026שינוי
בקשות משיכה (PR) שמוזגו69263
קצב שבועי של בקשות משיכה2.740.9×15.1
קומיטים383553
קומיטים ליום2.112.3×5.9
שורות קוד מקור שהשתנו98,600192,200
שורות קוד ליום5424,271×7.9

שיטת המדידה: ספירה ישירה מהריפוזיטורי של ג'וזי (ה־monorepo של הווב), 9 באוגוסט 2026. "שורות קוד מקור" = הוספות ומחיקות בקבצי TypeScript, ‏JavaScript, ‏CSS וסכימת מסד הנתונים בלבד — ללא קבצים שנוצרים אוטומטית וללא קובצי נעילה של תלויות. הסכומים נספרו עד ליום המדידה והקצבים היומיים חושבו על פני 45 יום, ולכן הם שמרניים.

ולמען ההגינות, כי מישהו יבדוק: תהליך העבודה מבוסס בקשות משיכה נכנס לשימוש רק באפריל 2026, יחד עם Eager, ולכן קצב ה־PR של המחצית הראשונה מוטה כלפי מטה. השוואה הוגנת יותר היא מול אפריל—יוני בלבד, שבהם כבר עבדנו בשיטה: 5.2 בקשות משיכה בשבוע מול 40.9 — פי שמונה. אותו יחס בדיוק שמתקבל ממדידת שורות הקוד ליום.

מה נכנס פנימה ב־45 יום

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

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

בצוות אנושי בגודל שלנו היינו בוחרים אחד מהשלושה ודוחים את השאר לרבעון הבא

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

אז למה, בשם אלוהים, אני מגייס?

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

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

ראשית, קצב. ב־41 בקשות משיכה בשבוע, החלטה ארכיטקטונית שגויה לא נשארת מקומית. היא משכפלת את עצמה לתוך עשרות שינויים לפני שמישהו בכלל שם לב. ככל שהביצוע מהיר יותר, מחירה של החלטה גרועה עולה. הוא לא יורד.

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

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

אני לא מחפש עוד זוג ידיים. אני מחפש דעה שנייה שאפשר לסמוך עליה
משרה פתוחה · אחת

מנהל/ת הנדסה · ראש/ת צוות בכיר/ה · ארכיטקט/ית

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

ומה הלאה

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

זה, בעיניי, היתרון האמיתי: מבנה ארגוני שאפשר לשנות ביום שני בבוקר.

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

ואחרונה, כי זה מרגיש הוגן לומר אותה דווקא כאן: אני עומד מאחורי כל מילה בפוסט הזה — הנתונים נמדדו מהריפוזיטורי, הדעות שלי, והמשרה אמיתית לגמרי. אבל את הטקסט עצמו לא הקלדתי אני. אותו כתבו חברי הצוות שלי: תדרכתי, הם ניסחו, קראתי, החזרתי הערות, אישרתי. בדיוק המסלול שעובר אצלנו כל שינוי בקוד. לכתוב את זה לבד היה קצת מפספס את הפואנטה.
אם קראת עד לפה וחשבת "לבחור הזה צריך מבוגר אחראי" — יש לי חדשות טובות. זו המשרה.
מוזמנים לכתוב לי ל־[email protected], לשלוח לי הודעה, או להעביר את הפוסט למי שכבר עכשיו עלה לכם לראש.
הנתונים הכמותיים בפוסט נמדדו ישירות מהריפוזיטורי של ג'וזי ב־9 באוגוסט 2026 וניתנים לשחזור. הציטוט "אין ממש מפתחים יותר, כולנו ראשי צוותים" לקוח מכתבתו של אופיר דור, TheMarker, 7 באוגוסט 2026.