קלוד כתב יותר מדי קוד בשביל git. מה אנתרופיק בנתה במקומו
מאת ירון דויטשר עודכן לאחרונה:
ב-13 באוקטובר פרסם צוות ניהול הגרסאות של אנתרופיק פוסט בבלוג ההנדסה עם מספר אחד שמסביר את כל השאר: במאי 2026 מוזגו בחברה כ-2,500 שינויי קוד ביום. בספטמבר, יותר מ-30,000.
כתיבת הקוד, לפי הפוסט, כבר אינה צוואר הבקבוק. מה שנתקע הוא כל מה שנבנה בשביל קצב של בני אדם: ניהול גרסאות, בנייה ו-CI. התשובה של אנתרופיק הייתה לבנות מערכת ניהול גרסאות משלה, Scion, ולהעביר אליה את המונורפו כולו תוך חמישה חודשים.
רוב הקוראים כאן לא יגיעו לקנה המידה הזה. אבל החלק השני של הפוסט, על מה עשו המהנדסים בזמן שקלוד כתב, רלוונטי לכל מי שעובד עם קלוד קוד.
למה git כבר לא החזיק?
git בנוי כמערכת מבוזרת: כל עותק הוא מאגר שלם, שיודע לחשב הבדלים ולהציג היסטוריה גם בלי רשת. אצל אנתרופיק זה התחיל לעלות ביוקר:
- גודל: ההיסטוריה של הענף הראשי לבדה מתקרבת ל-100GB, ועותק עבודה דחוס עובר 25GB
- תנועה: בסדר גודל של 25 מיליון checkouts ביום רק ל-CI. אילו כל אחד מהם היה מושך את המאגר בלי תחבולות, זה היה יותר מ-600PB של תעבורת git ביום
- עוקפים: בשיא הפעילו כמה מאות מראות git פנימיות. הן קנו זמן, ונעשו קשות יותר לתפעול ככל שקצב המיזוגים עלה
התובנה המרכזית בפוסט פשוטה: כמו רוב החברות, גם אנתרופיק השתמשה ב-git כמערכת מרכזית עם עותק סמכותי אחד. וכמעט כל הלקוחות שלה הם סוכנים ומשימות שמחוברים לרשת מעצם הגדרתם. היכולת לעבוד בלי חיבור, הסיבה שבגללה git ניצח, הפכה למשקולת.
מה Scion עושה אחרת?
השרת עושה את העבודה, והלקוח קטן. השרת עונה על שאלות של היסטוריה ו-blame, יוצר קומיטים, ממזג ועושה rebase. הלקוח מחזיק cache מוגבל ומוריד רק את הקבצים שבאמת קוראים. מכאן שלושה דברים מעשיים:
- בלי לשכפל את המאגר: כל שאילתה שהלקוח יודע לשאול חשופה גם ב-API, ולכן משימת CI שצריכה את ההבדל מול נקודת ההתפצלות פשוט שואלת את השרת
- checkout חלקי כברירת מחדל: רק התיקיות שביקשו, או קבצים שמגיעים ברגע שקוראים אותם
- יחידת עבודה בשם changeset: רשימת הקבצים שהשתנו והפניות לתוכן שלהם, במקום הפניה לעץ שלם. מכיוון שאין packfiles לקבל ואין נעילות, אפשר לקבל אותם בקצב גבוה מאוד
לפי אנתרופיק, התשתית של Scion קטנה פי 200 במעבד ובזיכרון מתשתית המראות הקודמת. משימות CI ומחקר מבצעות checkout בשניות במקום בדקות, ו-CI לבדו פינה 25% מקיבולת המעבד שלו.
איפה קלוד נכנס לתמונה?
הדוגמה החדה ביותר בפוסט: את הגרסה הראשונה של צינור הקליטה מ-git, שהעביר את המאגר הישן ל-Scion, הצוות כתב בעיקר ביד. אחר כך נתנו לגרסה פנימית מוקדמת של מיתוס לכתוב אותו מחדש, בלי שום הנחיה נוספת. התוצאה צרכה פי 20 פחות זיכרון ורצה פי 4 מהר יותר, ושמרה על כל ההנחות הסמויות של סדר הקליטה.
שבעה אנשים בנו את Scion, את כלי בדיקת הקוד Antique ועוד חצי תריסר מערכות סביבם. כל המהנדסים בצוות, כותב הפוסט, מדרגים היום את קלוד טוב מהם בכתיבת קוד. ובאותה נשימה מגיע החלק המעניין באמת.
מה אפשר לקחת מזה לעבודה עם קלוד קוד?
התפקיד שלכם הוא לומר ״לא״
הפוסט אומר את זה במפורש: לעיתים קרובות מאוד, התפקיד של המהנדסים היה לומר לקלוד ״לא״. סוכנים, לדבריהם, עוברים לפעמים על אילוצי יסוד של המערכת כדי להתאים לדפוס שמלכתחילה לא היה צריך להיות מותר. הדוגמה מהמעבר: כמה מערכות ניסו לברר מתי שינוי מוזג לענף הראשי בקריאה ליניארית של כל יומן הקומיטים, במקום לשאול את כלי בדיקת הקוד.
את האילוצים האלה קלוד לא ינחש. כדאי לכתוב אותם, ולוודא שמשהו אוכף אותם. ראו המדריך לכיוון קלוד קוד.
בודק שתוקף את הקוד יודע גם להגזים
אנתרופיק משתמשת הרבה ב-adversarial review, בדיקה שבה התפקיד של הבודק הוא לתקוף את הקוד ולחפש בו חורים. לפי הפוסט היא יעילה מאוד, אבל גם קצרת ראייה. בדיקה אחת חשדה יותר מדי בשירות פנימי אחר, וקלוד הוסיף בעקבותיה הגנות מיותרות וסיבוכיות. מהנדסים היו צריכים להחזיר אותו למסלול. כשבודק מעלה חשש היפותטי, מישהו עדיין צריך לשאול אם הוא אמיתי.
לבדוק את הכוונה, לא כל שורה
חברי הצוות עדיין בודקים כל בקשת שינוי, אבל בוחנים את הכוונה שלה ולא קוראים כל שורה. חשוב לראות על מה זה נשען: סימולציות סגורות לכל אינטראקציה לא טריוויאלית שנתקלו בה, fuzzing והגבלת קצב. בלי רשת ביטחון כזאת, ״לבדוק רק את הכוונה״ הוא סתם לא לבדוק.
״סופר-פאן״ לכל רכיב
הצוות פתח ערוצי Slack שבכל אחד מהם קלוד, דרך Claude Tag, מתמקד באובססיביות בבריאות של רכיב אחד, עם גישה לטלמטריה וללוגים. הם קוראים להם ״superfans״. ההתראות הרגילות נשארו במקומן, אבל לפי הפוסט הסופר-פאנים מזהים בעיות עדינות וחדשות, שלצידן ההתראות נראות חד-ממדיות. זה רעיון שאפשר להעתיק גם בצוות של חמישה.
למי זה לא מתאים?
אנתרופיק עצמה מסייגת. Scion אינו תחליף ל-git לשימוש כללי: הוא הגיוני רק למונורפו ענק, עם עשרות אלפי מהנדסים או נחילי סוכנים. הפוסט גם מודה שאנתרופיק מוציאה על טוקנים לשימוש פנימי הרבה יותר ממה שכל עסק אחר היה רוצה, ושקשה להציע את Scion בצורה שתועיל לארגונים אחרים.
שני סייגים שלנו. כל המספרים בפוסט הם מדידות של אנתרופיק על המערכות שלה, בלי בדיקה חיצונית. ואנתרופיק ויתרה על נעילה גלובלית בתור המיזוגים, ובודקת אחרי המיזוג ולפני הפריסה. שינויים מקבילים יכולים להתנגש, וקלוד, לדבריהם, מתקן את ההתנגשויות מהר יותר משבני אדם מזהים אותן. זה עובד אצלם. בפרויקט בלי סוכן שמתקן, זה מתכון לענף ראשי שבור.
התחזית שלהם: בעיות מהסוג הזה יהיו נפוצות בעוד 6 עד 12 חודשים. במקום לשחרר את Scion, הם רוצים לעבוד עם GitHub, עם GitLab ועם קהילת הקוד הפתוח כדי ש-git עצמו ילמד חלק מהטריקים, למשל שאילתות בצד השרת.
שורה תחתונה
הסיפור הגדול הוא לא מערכת ניהול הגרסאות. הוא שכשכמות הקוד שממוזג קופצת פי עשרה, המקום של המהנדס זז: פחות כתיבה, יותר הגדרת אילוצים, יותר ״לא״, ויותר בדיקות שמאפשרות לסמוך על מה שלא קראתם. זה אותו דפוס שראינו אצל טורבאלדס ואצל Block, הפעם בקנה מידה של חברה שלמה.