הבהרה: אני לא משפיען AI, אני לא ״מסביר על כלי AI שישנו את חייכם״ ואני גם לא אוהב להשתמש במונח AI אלא במונח המקצועי יותר: LLM. מודלי שפה גדולים המייצרים טקסט (במקרה שלנו קוד) לפי הסתברות סטטיסטית. אני כותב מהזווית שלי כארכיטקט שכותב קוד בחברה גדולה ובמוצרי פרודקשן. כלומר מוצרים שעובדים וקוד שעובד ולא דמואים נוצצים וססמאות מפוצצות.
רוב המתכנתים המוחץ כבר עובדים עם LLMים לייצור קוד אבל יש הבדל בין סתם להשתמש בצ׳אט או בהשלמה האוטומטית של קופיילוט לבין שימוש יעיל יותר. בפוסט הקודם על מדריך מעשי לכתיבת קוד עם AI Agents אני הסברתי איך לוקחים את ה-LLMים לשלב הבא מהזווית האישית שלי כמפתח אנטרפרייז והסברתי גם על קבצי הוראות שמבחינתי הם עשו מהפך וגם על אינטגרציות עם כלי CLI שגם פוררו את הקסם הזה של ״LLM מפעיל דברים״. דיברנו גם על ״סוכנים״ שהם בגדול איטרציות. אם לא עברתם על הפוסט הקוד, כדאי לקרוא אותו.
השלב הבא – Sandbox
בגדול, מייד אחרי שהשתלטתי על עניין הסוכנים, גיליתי שאין דבר יותר מתוק מלומר לו ״שמע נא, הו הוד רוממותך ה-LLM, אני צריך להוסיף לכל הלוגים את התחילית LOG, אנא צור טיקט בג׳ירה, צור PR על זה עם כל הקונבנציות ואחרי שאתה עושה את השינוי ויוצר את ה-PR, העבר את הטיקט ל-in progress״. ולצפות בעניין רב בקורסור או גיטהאב קופיילוט עושים את זה וכמובן לבחון היטב את התוצר ולתת פידבק מיידי.
מה הבעיה? הבעיה היא שזה לא נורא יעיל. כלומר הוא עובד וכו׳ אבל אני…? מה אני עושה בינתיים? טוב, אפשר לענות על מיילים, לעשות מצגות או סתם לבזבז את הזמן, אבל בסופו של דבר הייתי שמח למקבל משימות. למשל להריץ אייג׳נט שיעשה משימה אחת ואז אייג׳נט נוסף שיעשה משימה שניה. למשל:
- אייג׳נט שיוסיף LOG לתחילת כל הלוגים של המוצר.
- אייג׳נט שבינתים ישדרג גרסאות של depndencies.
- אייג׳נט שבינתיים ישדרג את הסביבה של הלמבדה ל Node.js.
והכל ירוץ וכל אייג׳נט ידווח לי בתורו על מה שהוא עשה ויקבל הנחיות או פידבק.
הקסם שמאפשר את זה: git worktree
טוב, זה נשמע נהדר, אבל… האם זה אפשרי? הכי איך אני אמנע מה-PRים להתערבב? בגדול גיט עובדת על בראנץ׳ אחד כל פעם. התשובה היא כן! באמצעות פיצ׳ר של גיט שנקרא worktrees שמאפשר לנו (או ל LLM הטיפש) לעבוד על כמה גרסאות של ריפוזיטורי אחד במקביל!
אז מה זה הפיצ׳ר הזה? ביוני 2025 גיט הוציאו את גרסה 2.5 שמאפשרת worktrees. תבדקו את הגיט שלכם באמצעות git –version. הוא מעל 2.5? פצצה. מתחת? זה הזמן לשדרג. הפיצ׳ר די פשוט להבנה. בגדול, הוא יוצר אוטומטית בראנץ׳ אבל במיקום אחר.

בצילום המסך הזה שמתי את ההדגמה ועיון בזה יכול להסביר הכל אבל בואו נפרק את זה.
יש לי ריפו במקום מסוים. בספרייה בשם worktree-example הנמצאת בנתיב
~/l/b/worktree-example,
אני נמצא על הענף (branch) הראשי (main). עד פה הכל מעולה. נניח שאני רוצה לעבור לענף אחר. אבל אבל אבל אני רוצה שזה יהיה במקום אחר, למה? כי יש לי כבר אייג׳נט שעלול לעבוד על ה-main או אפילו רק בוחן אותו. לא רוצה לערבב שמחה בשמחה. אני אשתמש בפקודה הזו:
git worktree add -b my-new-branch ../../my-worktree-directory
הפקודה פה אומרת משהו פשוט: צור לי my-new-branch אבל… לא! איפה שהריפו שלי נמצא אלא במקום אחר לגמרי. איפה? ב-../../my-worktree-directory. וזה בדיוק מה שהפקודה עושה!
אם אני עובר לספריה הזו, שהיא במקום אחר לגמרי, אני אגיע לריפו שלי עם הבראנץ׳ הזה בדיוק! ואז למשל האייג׳נט יכול לעבוד בנחת ובניחותא בתיקיה ובבראנץ׳ הזה מבלי להפריע למה שקורה בתיקיה הראשית. הי! אני יכול ליצור כמה worktree שאני רוצה עם כמה תיקיות שלא יפריעו לאף אחד ולא יציקו.
מאחורי הקלעים אין ממש clone, זה עובד קצת אחרת ומהיר מאד.בניגוד ל-clone רגיל, במקרה של ה worktrees אין הכפלה של כל ה-object database, אלא רק יוצרים קישור ל-object database הקיים. אם זה נשמע לכם ג׳יבריש אז אחלה, תסתפקו בזה שזה מהיר ושונה מסתם יצירה של גיט קלון והעתקה של כל הקבצים.
בגלל זה שזה שונהאם אני רוצה למחוק worktree, אני חייב להשתמש בפקודה git worktree remove my-new-branch וכמובן במקום my-new-branch לרשום את שם הבראנץ׳ שלכם.
אבל האמת היא שאנחנו לא צריכים לנהל את זה! מי שמנהל את זה זה קורסור שבגרסה החדשה שלו עושה את זה אוטומטית כאשר אנחנו יכולים להורות לו להריץ LLM Agent ב-worktree. כך אפשר להריץ סוכנים במקביל, כל אחד עובד על ה Worktree שלו, על הבראנץ׳ שלו, בנחת.
איך מריצים כמה סוכנים במקביל?
אחרי שהבנו בעצם מה הרעיון מאחורי הסיפור הזה ושהאפשרות להריץ כמה סוכנים שכל אחד על משימה אחרת במוד סנדבוקס בלי שיפריעו אחד לשני ושזה לא וודו, אפשר להתחיל להריץ את זה. כל אחד בשיטה שלו, אני עובד עם קורסור:
מבחינת UI זה קל. בקורסור לוחצים על האייקון ה-local כדי לבחור שיעבוד ב-Worktree והוא כבר יצור את הבראנץ׳ ואת ה-worktree לבדו.

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






