איך Claude Code עובד — הלולאה האגנטית, כלים וסשנים
Claude Code הוא עוזר אגנטי שרץ בטרמינל. הוא מצטיין בכתיבת קוד, אך יכול לעזור בכל דבר שאפשר לעשות משורת הפקודה: כתיבת תיעוד, הרצת builds, חיפוש בקבצים, מחקר נושאים ועוד.
מה זה עושה / למה זה שימושי
הבנת האופן שבו Claude Code עובד מאחורי הקלעים עוזרת לך לכתוב prompts טובים יותר, להבין מתי לעצור ולתקן כיוון, ולמנוע הפתעות מיותרות בעלות ובביצועים.
הלולאה האגנטית
כשנותנים ל-Claude משימה, הוא עובר בשלושה שלבים: איסוף context, ביצוע פעולה, ואימות תוצאות. השלבים מתמזגים זה בזה — Claude משתמש בכלים לכל אורך הדרך, בין אם לחיפוש קבצים, עריכה, או הרצת tests.
הלולאה מסתגלת למה שמבקשים. שאלה על הcodebase עשויה להצריך רק איסוף context; תיקון באג עובר בשלושת השלבים שוב ושוב; refactor עשוי לדרוש אימות נרחב. Claude מחליט מה כל שלב דורש בהתבסס על מה שלמד בשלב הקודם, ומשרשר עשרות פעולות ומתקן כיוון תוך כדי.
גם אתם חלק מהלולאה. אפשר לעצור ב-Esc בכל רגע ולהפנות את Claude לכיוון אחר, להוסיף context, או לבקש גישה שונה.
הלולאה מופעלת על ידי שני רכיבים: מודלים שמנמקים, וכלים שפועלים. Claude Code הוא המעטפת האגנטית (agentic harness) סביב Claude: היא מספקת את הכלים, ניהול ה-context וסביבת הביצוע שהופכים מודל שפה לעוזר קוד יעיל.
הכלים המובנים
הכלים הם מה שהופך את Claude Code לאגנטי. בלי כלים, Claude יכול רק להגיב בטקסט. עם כלים, Claude יכול לפעול: לקרוא את הקוד שלך, לערוך קבצים, להריץ פקודות, לחפש ברשת ולתקשר עם שירותים חיצוניים.
| קטגוריה | מה Claude יכול לעשות |
|:--|:--|
| פעולות קבצים | קריאת קבצים, עריכת קוד, יצירת קבצים חדשים, שינוי שם וארגון מחדש |
| חיפוש | מציאת קבצים לפי תבנית, חיפוש תוכן עם regex, חקירת codebases |
| ביצוע | הרצת פקודות shell, הפעלת שרתים, הרצת tests, שימוש ב-git |
| רשת | חיפוש ברשת, שליפת תיעוד, בדיקת הודעות שגיאה |
| מודיעין קוד | ראיית שגיאות ואזהרות אחרי עריכות, קפיצה להגדרות, מציאת הפניות (דורש plugins) |
Claude בוחר אילו כלים להשתמש בהתבסס על הprompt שלך ומה שלמד תוך כדי. כשאומרים "תקן את הtests הכושלים", Claude עשוי:
1. להריץ את test suite כדי לראות מה נכשל
2. לקרוא את output השגיאה
3. לחפש את קבצי המקור הרלוונטיים
4. לקרוא את הקבצים כדי להבין את הקוד
5. לערוך את הקבצים כדי לתקן את הבעיה
6. להריץ שוב את הtests לאימות
כל שימוש בכלי נותן ל-Claude מידע חדש שמנחה את הצעד הבא.
לאן Claude יכול לגשת
כשמריצים claude בתיקייה, Claude Code מקבל גישה ל:
- הפרויקט שלך — קבצים בתיקייה ובתת-תיקיות, ועם אישורך גם קבצים במקומות אחרים
- הטרמינל שלך — כל פקודה שאתה יכול להריץ: כלי build, git, package managers, scripts
- מצב git שלך — ענף נוכחי, שינויים לא-committed, וhistory commits אחרונים
- CLAUDE.md שלך — קובץ markdown לאחסון הוראות ספציפיות לפרויקט, קונוונציות ו-context ש-Claude צריך בכל session
- זיכרון אוטומטי — לימודים ש-Claude שומר אוטומטית תוך כדי עבודה, כמו דפוסי פרויקט והעדפות. 200 השורות הראשונות או 25KB של MEMORY.md נטענים בתחילת כל session
- הרחבות שתגדיר — שרתי MCP לשירותים חיצוניים, skills לworkflows, subagents לעבודה מואצלת, ו-Claude in Chrome לאינטראקציה עם הדפדפן
סביבות וממשקים
הלולאה האגנטית, הכלים והיכולות מתוארים לעיל זהים בכל מקום שבו משתמשים ב-Claude Code. מה שמשתנה הוא היכן הקוד רץ ואיך מתקשרים איתו.
| סביבה | היכן הקוד רץ | שימוש |
|:--|:--|:--|
| Local | המחשב שלך | ברירת מחדל. גישה מלאה לקבצים, כלים וסביבה |
| Cloud | VMs מנוהלים על ידי Anthropic, או self-hosted environments | הורדת עומס משימות, עבודה על repos שאין לך מקומית |
| Remote Control | המחשב שלך, נשלט מהדפדפן | שימוש בממשק הweb בזמן שהביצוע והקבצים נשארים מקומיים |
אפשר לגשת ל-Claude Code דרך הטרמינל, desktop app, extensions ל-IDE, claude.ai/code, Remote Control, Slack, ו-CI/CD pipelines.
עבודה עם סשנים
Claude Code שומר את השיחה שלך מקומית תוך כדי עבודה. כל הודעה, שימוש בכלי ותוצאה נכתבים לקובץ JSONL תחת ~/.claude/projects/, מה שמאפשר rewind, המשך ופיצול (fork) של סשנים. לפני שינויים בקוד, Claude גם מצלם snapshot של הקבצים הרלוונטיים לצורך ביטול.
סשנים הם עצמאיים. כל סשן חדש מתחיל עם context window טרי, בלי היסטוריית שיחות מסשנים קודמים. Claude יכול לשמר לימודים בין סשנים דרך זיכרון אוטומטי, ואפשר להוסיף הוראות קבועות ב-CLAUDE.md.
כדי להמשיך סשן:
claude --continue
claude --resumeלפיצול סשן לנתיב חדש:
claude --fork-sessionניהול Context Window
ה-context window של Claude מכיל את היסטוריית השיחה, תכני קבצים, outputs של פקודות, CLAUDE.md, זיכרון אוטומטי, skills שנטענו והוראות מערכת. תוך כדי עבודה, הcontext מתמלא.
Claude Code מנהל context אוטומטית כשמתקרבים למגבלה — מנקה outputs ישנים של כלים קודם, ואז מסכם את השיחה אם נדרש. בקשות ומקטעי קוד מרכזיים נשמרים; הוראות מפורטות מתחילת השיחה עשויות ללכת לאיבוד. שימו הוראות קבועות ב-CLAUDE.md ולא בהיסטוריית השיחה.
להצגת מה אוכל מקום: /context
לניהול context, שתי אסטרטגיות נוספות:
- Skills — נטענים לפי דרישה. Claude רואה תיאורים של skills בתחילת session, אך התוכן המלא נטען רק כשמשתמשים בskill
- Subagents — מקבלים context window טרי ומנותק לחלוטין מהשיחה הראשית. העבודה שלהם לא מנפחת את הcontext שלך; כשמסיימים, הם מחזירים סיכום
בטיחות — Checkpoints והרשאות
ל-Claude Code שני מנגנוני בטיחות: checkpoints מאפשרים ביטול שינויי קבצים, והרשאות שולטות במה שClaude יכול לעשות בלי לשאול.
ביטול שינויים עם Checkpoints
עריכות קבצים הפיכות. לפני עריכת קובץ, Claude מצלם את התוכן הנוכחי. אם משהו לא בסדר, לוחצים Esc פעמיים כדי לחזור למצב קודם, או מבקשים מClaude לבטל.
Checkpoints נפרדים מ-git ונשארים זמינים כשממשיכים שיחה. הם מכסים רק שינויי קבצים; פעולות שמשפיעות על מערכות חיצוניות (databases, APIs, deployments) לא ניתנות לcheckpoint.
שליטה במה שClaude יכול לעשות
לחיצה על Shift+Tab מחזורת בין מצבי הרשאות:
| מצב | התנהגות |
|:--|:--|
| Manual | Claude שואל לפני עריכות קבצים ופקודות shell |
| Accept edits | Claude עורך קבצים ומריץ פקודות filesystem נפוצות בלי לשאול, עדיין שואל על פקודות אחרות |
| Plan | Claude חוקר ומציע תוכנית בלי לערוך קבצי מקור |
| Auto | Claude מעריך את כל הפעולות עם בדיקות בטיחות ברקע |
טיפים לעבודה אפקטיבית
זה שיחה, לא prompt אחד. Claude Code הוא שיחתי. אין צורך בprompts מושלמים. אפשר להתחיל עם מה שרוצים, ואז לחדד:
תקן את באג ה-loginזה לא בדיוק נכון. הבעיה היא בטיפול ב-session.היו ספציפיים מראש. ציינו קבצים ספציפיים, אילוצים, ודפוסים לדוגמה:
תהליך ה-checkout שבור עבור משתמשים עם כרטיסים פגי תוקף.
תבדוק את src/payments/ לבעיה, בעיקר token refresh.
כתוב test כושל קודם, ואז תקן.תנו ל-Claude משהו לאמת מולו. Claude מצליח יותר כשהוא יכול לבדוק את עבודתו:
ממש validateEmail. test cases: 'user@example.com' → true, 'invalid' → false. הרץ את הtests בסוף.עצרו וכוונו. לוחצים Esc כדי לעצור את Claude מיד. או כותבים הוראה ושולחים Enter בלי לעצור — Claude קורא אותה כשהפעולה הנוכחית מסתיימת.
האצילו, אל תכתיבו. חשבו על האצלה לעמית מוכשר. תנו context וכיוון, סמכו על Claude להבין את הפרטים:
תהליך ה-checkout שבור עבור משתמשים עם כרטיסים פגי תוקף. הקוד הרלוונטי בsrc/payments/. תחקור ותתקן.