לולאות בקלוד קוד: לתת לסוכן לרוץ עד שהעבודה נגמרת
מאת ירון דויטשר עודכן לאחרונה:
מה זה בכלל לולאה, ולמה לא סתם להריץ שוב?
רוב העבודה עם קלוד קוד היא שיחה: מבקשים, מקבלים, מבקשים שוב. אבל חלק מהמשימות אינן שאלה אחת — הן המתנה. לחכות שה-CI יסיים, לבדוק אם הגיעו הערות על ה-PR, לעקוב אחרי דיפלוי. במקום לשבת ולרענן, אפשר לתת לסוכן לעשות בדיוק את זה: לחזור על אותה בדיקה שוב ושוב עד שמשהו קורה.
Anthropic מגדירה לולאה כ”סוכן שחוזר על מחזורי עבודה עד שמתקיים תנאי עצירה”. המילים החשובות הן השתיים האחרונות. לולאה בלי תנאי עצירה היא לא כלי — היא דליפת מכסה. לכן נתחיל דווקא מהסוף.
הכלל שקודם לכול: תנאי עצירה
לפני שמפעילים לולאה כלשהי, עונים על שאלה אחת: מה יגרום לזה להיפסק? אם אין לכם תשובה ברורה, אל תפעילו. שלוש שכבות הגנה, וכדאי להשתמש בכולן:
- תקרת ניסיונות: מספר מקסימלי של סבבים. “עצור אחרי 5 ניסיונות” הוא לא הצעה — הוא רשת ביטחון מפני לולאה שרצה לנצח על בעיה שלא נפתרת
- קריטריון הצלחה מדיד: לא “תשפר את הביצועים” אלא “עד שכל הבדיקות עוברות” או “עד שציון הביצועים חוצה 90”. יעד שאפשר לבדוק אוטומטית הוא יעד שאפשר לעצור עליו
- מעקב מכסה: לולאה צורכת טוקנים בכל סבב. בודקים את הצריכה עם
/usage, שמפרק את השימוש לפי סקילים, סוכני-משנה ושרתי MCP — כדי לדעת מתי לעצור
וכמובן, תמיד אפשר לעצור ביד. הרעיון הזה — גבול שמוגדר מראש — הוא בדיוק מעקה הבטיחות שכל אוטומציה טובה נשענת עליו. עכשיו, לסוגים.
לולאה חוזרת: הפשוטה ביותר
הצורה הבסיסית לא דורשת שום פקודה מיוחדת: אתם מנסחים מחדש, וקלוד שופט מתי סיים. “תריץ את הבדיקות” — נכשל — “תתקן ותריץ שוב”. זו לולאה שאתם המנוע שלה, ואתם מחליטים בכל סבב אם להמשיך.
זה מתאים למשימות קצרות וחד-פעמיות, שבהן ממילא אתם רוצים לראות כל צעד. היתרון הוא שליטה מלאה; החיסרון הוא שאתם קשורים למקלדת. כשהמשימה ארוכה או חוזרת, עוברים ללולאה אוטומטית.
הפקודה שמריצה פרומפט שוב ושוב על המחשב שלכם
/loop מריצה את אותו פרומפט שוב ושוב, מקומית, עד שעוצרים. נותנים לה מרווח ומשימה:
/loop 5m check if the deployment finished and tell me what happened
זו הצורה הישירה: כל חמש דקות, בדוק אם הדיפלוי הסתיים ודווח. דוגמה מעשית יותר, מעקב אחרי בקשת משיכה:
/loop 5m check my PR, address review comments, and fix failing CI
קלוד יבדוק כל חמש דקות, יטפל בהערות שנכנסו, ויתקן בדיקות שנכשלו — בלי שתרעננו כלום. שלוש עובדות שחשוב להכיר:
- המרווח המינימלי הוא דקה אחת: יחידות זמן הן שניות, דקות, שעות וימים; ערכים קצרים מדקה מעוגלים כלפי מעלה
- אפשר לתת למודל לקבוע קצב לבד: משמיטים את המרווח, וקלוד בוחר בעצמו כמה להמתין בין סבב לסבב — בין דקה לשעה — לפי מה שראה, ומדפיס בסוף כל סבב כמה זמן בחר ולמה. זה שימושי כשהקצב הנכון תלוי במה שקורה:
/loop check whether CI passed and address any review comments
- היא רצה מקומית: צריך שהמחשב יהיה דלוק והשיחה פתוחה. לעצירה, לוחצים Esc בזמן שהלולאה ממתינה לסבב הבא. וממילא יש תפוגה אוטומטית: לולאה חוזרת נעצרת מעצמה אחרי שבעה ימים
הפקודה עם קו סיום
לפעמים לא רוצים מרווח קבוע אלא יעד: לרוץ עד שהמטרה מושגת, ואז לעצור. לזה יש /goal. היא מגדירה קריטריון הצלחה ותקרת ניסיונות באותה שורה:
/goal get the homepage Lighthouse score to 90 or above, stop after 5 tries
מנגנון הערכה בודק אחרי כל סבב אם היעד הושג. הלולאה נעצרת כשהמטרה מתקיימת — או כשנגמרו הניסיונות, לפי מה שקורה קודם. זה בדיוק “תנאי העצירה” מהחלק הראשון, כתוב לתוך הפקודה עצמה: כאן חיים ה”עצור אחרי X ניסיונות” וה”עד שהציון חוצה סף”.
פרט אחד על המעריך שכדאי להכיר לפני שמנסחים יעד: הוא אינו מריץ פקודות ואינו קורא קבצים בעצמו, אלא שופט רק את מה שקלוד כבר הציג בשיחה. לכן תנאי טוב הוא כזה שהפלט של קלוד יכול להוכיח — “הבדיקות בתיקייה test/auth עוברות” ולא “הקוד נקי”. ההסבר המלא, יחד עם שאר דרגות האימות, נמצא באימות בקלוד קוד.
כשצריך שזה ימשיך גם כשהמחשב כבוי
/loop ו-/goal רצות מקומית — ברגע שסוגרים את השיחה, הן מפסיקות להתקדם. (יעד שהיה פעיל בסוף הסשן כן משוחזר כשחוזרים אליו עם —resume או —continue, אבל הוא אינו ממשיך לרוץ בינתיים.) כשצריך משהו שרץ בלי המחשב שלכם, עוברים ל-/schedule: לולאה שרצה על התשתית בענן של Anthropic וממשיכה גם כשהלפטופ סגור. המרווח המינימלי שלה הוא שעה, לא דקה — היא נבנתה למטלות חוזרות (סיכום Slack כל בוקר, סריקת דוחות באגים כל שעה), לא למעקב של דקות.
זה אותו רעיון של לולאה, בשכבה אחרת. הפירוט המלא על תזמון בענן — מה זה Routines, איך מגדירים ואיפה מנהלים — נמצא במסלול האוטומציה, שמחזיק את הצד הזה. וכדי לראות לולאה שלמה עובדת מקצה לקצה, מהאוטומציה הראשונה.
אז מתי כל סוג מתאים?
| היבט | לולאה חוזרת | /loop | /schedule |
|---|---|---|---|
| איפה רץ | בשיחה, ידנית | על המחשב שלכם | בענן של Anthropic |
| צריך מחשב דלוק | כן | כן, ושיחה פתוחה | לא |
| מרווח מינימלי | ללא | דקה אחת | שעה אחת |
| מתאים ל | משימה קצרה וחד-פעמית | מעקב פעיל של דקות עד שעות | מטלות חוזרות יומיות |
והכלל שמעל הטבלה: משימה עם יעד מדיד וקו סיום — /goal. משימה של המתנה שדורשת מרווח — /loop. משהו שצריך לחזור על עצמו כשאתם לא ליד המחשב — /schedule.
שורה תחתונה
לולאות הופכות את קלוד קוד מעוזר שמחכה להוראה לסוכן שעובד לבד — אבל רק אם הגדרתם לו מתי לעצור. תקרת ניסיונות, קריטריון הצלחה, ומבט מדי פעם ב-/usage: שלושת אלה הם ההבדל בין אוטומציה שחוסכת לכם שעה לבין לולאה ששורפת מכסה בשקט. מתחילים בקטן — לולאה מקומית שבודקת PR — ומרחיבים מכאן.
עוד לא הרצתם אוטומציה ראשונה? המדריך המעשי לוקח אתכם צעד-צעד. רוצים ללמוד לבנות תהליכים כאלה בעבודה שלכם? הרצאה בהתאמה אישית היא נקודת פתיחה טובה.
שאלות נפוצות
מה זה loop בקלוד קוד?
הרצה חוזרת של אותה משימה עד שמתקיים תנאי עצירה. במקום לשאול פעם אחת ולחכות, אתם נותנים לקלוד קוד מטלה — למשל 'בדוק אם ה-CI עבר ותקן הערות' — והוא חוזר עליה שוב ושוב עד שהיעד מושג. יש כמה סוגים: לולאה חוזרת שאתם מניעים ידנית, לולאה מקומית שרצה על המחשב, ולולאה בענן שרצה גם כשהמחשב כבוי.
איך גורמים לקלוד קוד לבדוק PR שוב ושוב עד שהוא ירוק?
מפעילים לולאה מקומית עם מרווח ומטלה: פקודת /loop ואחריה מרווח (למשל 5m) והמשימה. קלוד יבדוק את הבקשה כל כמה דקות, יטפל בהערות ויתקן בדיקות שנכשלו, עד שתעצרו אותו. לוחצים Esc בזמן שהוא ממתין למחזור הבא כדי לעצור.
מה ההבדל בין לולאה שרצה על המחשב ללולאה שרצה בענן?
לולאה מקומית (/loop) רצה על המחשב שלכם ודורשת שהוא יהיה דלוק ושהשיחה תישאר פתוחה; המרווח המינימלי הוא דקה. לולאה בענן (/schedule) רצה על התשתית של Anthropic וממשיכה גם כשהמחשב כבוי, אבל המרווח המינימלי שלה הוא שעה. דקות של מעקב פעיל — מקומי; מטלות חוזרות יומיות — ענן.
איך עוצרים לולאה שרצה, ואיך שומרים שהיא לא תבזבז מכסה?
שלוש שכבות: תקרת ניסיונות מראש (בפקודת /goal אפשר לכתוב 'עצור אחרי 5 ניסיונות'), עצירה ידנית בלחיצת Esc בזמן המתנה, ותפוגה אוטומטית של שבעה ימים על לולאות חוזרות. לאורך הדרך עוקבים אחרי הצריכה בפקודת /usage, שמפרטת את השימוש לפי סקילים, סוכני-משנה ושרתי MCP.
מדריכים קשורים
- אוטומציה עם AI: המדריך המלא בעבריתAI Automation בעברית: מהרצה אחת בלי מסך ועד משימה שרצה מעצמה כל בוקר — שלוש רמות של אוטומציה עם קלוד קוד, והדרך להרצה הראשונה שעובדת.
- האוטומציה הראשונה שלכם עם קלוד קודמדריך מעשי בעברית: בונים אוטומציה אחת שלמה עם קלוד קוד — תיקייה שמתמלאת בקבצים, וסיכום יומי בעברית שנכתב לבד, מהרצה ידנית ועד משימה מתוזמנת.
- סוכני משנה בקלוד קוד: מתי, ואיך מגדיריםמדריך בעברית לסוכני משנה (sub-agents) בקלוד קוד: מה הם, מתי לפצל אליהם עבודה, איך מגדירים אחד בקובץ, ואיך מריצים אותם על מודל זול יותר כדי לחסוך.
- נקודות שמירה ושחזור שיחות בקלוד קוד: כפתור הביטול של הסוכןלקלוד קוד (Claude Code) יש כפתור ביטול: כל פרומפט יוצר נקודת שמירה (Checkpoint) שחוזרים אליה בשתי לחיצות, ואף שיחה לא נעלמת. איך זה עובד, ומה הגבולות.