בקיצור
חלון ההקשר של Claude Code הוא כמו זיכרון לטווח קצר, יקר, מוגבל, ומצטבר מהר. ניהול נכון הוא קריטי כדי להשיג תוצאות טובות:
- CLAUDE.md – קצר, ממוקד, מתחת ל-200 שורות
- מודל ומצב עבודה – Sonnet לרוב המשימות, Plan Mode רק לפיצ’רים מורכבים
- רמות שמירה – כל הגדרה שמשרתת פרויקט אחד נשמרת ברמת הפרויקט
- Skills – גלובלית רק מה שרלוונטי לכל הפרויקטים
- הרשאות – כללים כלליים במקום רשומות ספציפיות
- MCP – גלובלי רק לשרתים שמשתמשים בהם בכל מקום
התוצאה, Claude ״מבין״ את ההקשר טוב יותר, בלי להיות עמוס בעשרות הגדרות שאין לו שום שימוש בהן.
רגע, מה זה בכלל טוקן?
לפני שאנחנו מדברים על בזבוז, בואו נבין איך זה עובד.
כשאנחנו שולחים הודעה ל־Claude, הטקסט שאנחנו כותבים לא מועבר כמילים, הוא מפורק ל”חתיכות” קטנות שנקראות טוקנים. הטקסט “context window” לדוגמה מתפרק ל־2 טוקנים באנגלית, אבל בעברית הוא מתפרק ל־4 טוקנים כמו שאתם רואים בתמונות שצרפתי. אתם יכולים לנסות בעצמכם באתר הזה.

הנה סרטון הסבר שהכנתי בנושא 👇
כשאנחנו עובדים עם Claude Code וכותבים פרומפט, הוא לא קורא רק את מה שכתבנו. לפני שהוא קורא את ההודעה שלנו, מוזרקות אוטומטית הנחיות מערכת, היסטוריית שיחה, תיאורי כלים, קבצי הגדרות וכל זה נספר כחלק מהטוקנים. מה שחשוב לדעת זה שלמודלי שפה יש מגבלה על ״חלון ההקשר״ וככל שהוא מתמלא ככה התוצאות שאנחנו מקבלים הופכות פחות טובות. אגב לכל מודל יש מגבלת טוקנים גם ברמת השיחה, השימוש היומי והשבועי. אם לא ננהל את חלון ההקשר נכון, נמצא את עצמנו מגיעים למגבלת השימוש מהר מאוד.
מה נטען לחלון ההקשר עוד לפני שכתבנו אות אחת?
כשאנחנו פותחים שיחה חדשה ב־Claude Code, נטענים באופן אוטומטי עשרות רכיבים לתוך חלון ההקשר גם אם לא ביקשנו.
| רכיב | גודל משוער |
|---|---|
| הוראות המערכת של Claude Code | ~4,000 טוקנים |
| רשימת הכלים הזמינים (MCP, כלים מובנים) | ~300–500 טוקנים |
| קובץ CLAUDE.md של הפרויקט | משתנה (בד״כ 1,500–3,000) |
| זיכרון (Memory) משיחות קודמות | עד ~25KB בהפעלה |
| סנאפשוט של git status | ~300 טוקנים |
| תיאורי Skills מותקנים | ~50–100 טוקנים לכל Skill |
| הגדרות permissions (settings.json) | משתנה |
לדוגמה, אם התקנו skills גלובליים, או MCP כל שיחה תתחיל עם תיאורי ה-skills וכל פקודות ה-MCP נטענים, גם אם אנחנו עובדים על פרויקט שאין לו שום קשר לאף אחד מהם. אם אתם רוצים לראות איך זה נראה תקלידו /context ותקבלו את זה 👇
$ /context
Estimated usage by category
הנתונים מתוך פלט /context אמיתי של Claude Code
מאיפה מגיעים הטוקנים העיקריים?
1. סקילים גלובליים (Skills)
קבצי Skills הם קבצי הנחיות (SKILL.md) שמלמדים את Claude איך לעבוד בתחום מסוים. כל skill שמותקן גלובלית (~/.claude/skills/) טוען את התיאור שלו (Frontmatter) לכל שיחה, בכל פרויקט גם אם הוא לא רלוונטי.
אז אם אנחנו משתמשים ב-skills ספציפיים לפרויקט אחד שמים אותם ברמת הפרויקט ולא בתיקייה הגלובלית.
2. פלאגינים (Plugins)
פלאגינים (כמו Vercel, Superpowers) מכילים עשרות סקילים. כל תת סקיל מזריק שורת תיאור לרשימת ה־skills בכל שיחה, גם אם הפרויקט שלנו לא משתמש בשום דבר מהפלאגין.
תחשבו על זה כמו ארגז כלים שמכיל כלים לכל מצב אפשרי, למשל חשמאלי שסוחב מסור, רוב הסיכויים שהוא לא ישתמש במסור וזה סתם מכביד לו על ארגז הכלים.
3. קובץ ההגדרות שמתנפח לאט
Claude Code שומר את כל ה”אישורים” שנתנו לו בקובץ הגדרות (settings.json). בכל פעם שאנחנו מאשרים לו לבצע פעולה מסוימת, הוא שומר אותה בנפרד. אחרי כמה חודשים הקובץ הזה מתמלא במאות רשומות שתופסת מקום בחלון ההקשר. הרשומות האלה יכולות להיות מוחלפות בכמה כללים כלליים פשוטים.
4. סוכני משנה (Subagents)
כשאנחנו מבקשים מ־Claude לחקור נושא רחב, לתכנן פיצ’ר מורכב, או לבצע מספר משימות במקביל – הוא מפעיל סוכני משנה (subagents). כל סוכן כזה הוא שיחה עצמאית חדשה עם כל ה־system prompt מחדש, כולל כל ההגדרות, הזיכרון, ותיאורי ה-skills. מה שנשמע כחקירה פשוטה יכול לצרוך כמות עצומה של טוקנים.
| רמה | מה זה אומר בפועל | טוען ב… |
|---|---|---|
| גלובלי | הגדרות שחלות על כל הפרויקטים | כל שיחה, בכל פרויקט |
| פרויקט | הגדרות ספציפיות לפרויקט הזה | רק כשעובדים על הפרויקט הזה |
| לוקלי | הגדרות אישיות שלא עולות ל-Git | פרויקט זה, לא משותפות לצוות |
6 עקרונות לניהול חלון הקשר רזה
עיקרון 1 – שומרים את קובץ ההוראות קצר וממוקד
כשאנחנו מתחילים לעבוד עם Claude Code על פרויקט, אנחנו יכולים ליצור קובץ CLAUDE.md, זה קובץ הנחיות שנטען לכל שיחה ומספר ל-Claude מה חשוב לדעת על הפרויקט שלנו. זה כמו לכתוב לעובד חדש תדריך ראשוני לפני שמתחילים לעבוד יחד.
הבעיה היא שהקובץ הזה נטען במלואו לכל שיחה, גם אם אנחנו עובדים על משהו שאין לו שום קשר לרוב ההנחיות שכתבנו. על פי ה-Best Practice של אנתרופיק הקובץ הזה צריך להכיל מקסימום 200 שורות.
מה כן לשים:
- פקודות הרצה בסיסיות של הפרויקט
- החלטות ארכיטקטוניות שלא ניתן לגזור ישירות מהקוד
- כללי עבודה שחשוב ש-Claude יזכור תמיד
מה לא לשים:
- היסטוריה של החלטות ישנות
- הסברים על טכנולוגיות מוכרות שClaude כבר יודע אותן
- תיעוד שכבר קיים בקוד עצמו
טיפ מתקדם: אפשר לפצל כללים לקבצים נפרדים בתיקיית .claude/rules/ ולציין לאיזה חלק בפרויקט הם רלוונטיים – אז הם נטענים רק כשעובדים על החלק הזה, לא תמיד.
עיקרון 2 – מתכננים ומבצעים עם המודל הנכון
ב-Claude Code יש מספר מודלים זמינים, והם שונים זה מזה בעלות ובעוצמת החשיבה. Sonnet מתמודד טוב עם רוב משימות הקידוד ועולה פחות. Opus חזק יותר במשימות שדורשות תכנון עמוק שכולל הרבה שלבים, אבל גם צורך יותר טוקנים. אז תכננו עם Opus ובצעו עם Sonnet. אפשר לשנות מודל תוך כדי עבודה באמצעות הפקודה /model, או להגדיר ברירת מחדל ב-/config.
כשמפעילים Plan Mode (מצב תכנון), Claude Code נוטה להפעיל מספר סוכני חקירה במקביל, כל אחד עם system prompt מלא מחדש. כלל האצבע: Plan Mode לפיצ’רים שנוגעים בהרבה חלקים שונים בפרויקט. לתיקוני באגים ושינויים קטנים, עובדים ישירות בלי plan.
אותו עיקרון לשיחות בכלל: שיחה אחת = יעד אחד. אם התחלתם שיחה בתיקון באג, ועברתם לשינוי עיצוב ואחר כך לתיעוד, השיחה מכילה המון מידע היסטורי שנשלח כל פעם מחדש וסותם את חלון ההקשר. אז כשאנחנו מסיימים יעד, עושים /clear conversation ופותחים שיחה חדשה.
עיקרון 3 – מבינים איפה כל דבר נשמר
ב-Claude Code יש שלוש רמות שמירה לכמעט כל הגדרה. על-פי התיעוד הרשמי:
זה חל על skills, הגדרות, זיכרון, ו-MCP servers. הכלל הפשוט: אם משהו רלוונטי לפרויקט אחד בלבד, שומרים אותו ברמת הפרויקט, לא גלובלית.
עיקרון 4 – Skills שייכים לפרויקט, לא לעולם
לפי התיעוד, skills גלובליים טוענים את תיאורם לכל שיחה – גם כשאין להם שום קשר למה שאנחנו עושים כרגע.
תחשבו על זה כמו אפליקציות שרצות ברקע בטלפון: כולן צורכות סוללה, גם אם לא פתחנו אותן. Skills גלובליים עובדים בדיוק ככה.
הפיזור הנכון: skills שמשמשים אותנו בכל פרויקט – שומרים גלובלית. כל skill שרלוונטי לפרויקט אחד בלבד – שומרים רק בתיקיית ה-.claude של הפרויקט הזה.
עיקרון 5 – מנקים את רשימת ההרשאות
כשנותנים ל-Claude Code אישור לבצע פעולה מסוימת, הוא שומר אותה כרשומה ספציפית. התיעוד הרשמי מסביר שניתן להשתמש בכללים כלליים שמכסים משפחה שלמה של פעולות בבת אחת – במקום לצבור מאות רשומות ספציפיות.
במקום לאשר כל פעולה בנפרד ולצבור רשימה ארוכה, אפשר לאשר קטגוריה שלמה של פעולות דומות עם כלל אחד. זה מקצר את קובץ ההגדרות באופן משמעותי ומונע הצטברות עתידית.
עיקרון 6 – בודקים אילו כלי MCP אנחנו באמת משתמשים
MCP servers הם חיבורים לשירותים חיצוניים שמוסיפים יכולות ל-Claude, לחבר אותו ל-Notion, ל-GitHub, לבסיסי נתונים וכו’. כל MCP server שמוגדר גלובלית נטען לכל שיחה, גם אם הוא לא קשור למה שאנחנו עושים.
לפני שמשאירים חיבור גלובלי, כדאי לשאול: “כמה פעמים השתמשנו בו בחודש האחרון?” אם שירות מסוים לא נוגע לפרויקטים הנוכחיים – מגדירים אותו רק ברמת הפרויקט הרלוונטי.
טיפ נוסף: כשיש כלי שורת פקודה (CLI) זמין לאותו שירות, עדיף להשתמש בו ישירות. כלי שורת פקודה לא מוסיפים שום דבר לחלון ההקשר, בניגוד ל-MCP.
טיפים נוספים מהתיעוד הרשמי
השתמשו בפקודה /context שמציגה את השימוש הנוכחי בטוקנים, אפשר גם להגדיר את ה-status line, למי שעובד ב-Terminal כדי שיציג את זה כל הזמן.
כשרוצים להתחיל מחדש משתמשים בפקודה /clear conversation — זה מנקה את חלון ההקשר.
כשמשתמשים ב-/compact עם הנחיות מותאמות אפשר להגיד ל-Claude מה לשמור כשהוא מסכם את השיחה. אפשר גם להגדיר הנחיות כיווץ קבועות ישירות ב-CLAUDE.md.
אם Claude הולך בכיוון לא נכון, לוחצים Escape מיידית כדי ״להפריע״ לו, ומשתמשים ב-/rewind (או לחיצה כפולה על Escape) כדי לחזור לנקודה הקודמת, שם אפשר לבחור אם לשחזר קוד, שיחה, או את שניהם.
והכי חשוב כותבים פרומפטים ספציפיים וחוסכים הרבה טוקנים. כשאתם מבקשים בקשה כללית זה גורם לכך שקלוד יצטרך לעשות סריקה רחבה. הקפידו לכתוב בקשות ממוקדות שמציינות בדיוק מה ואיפה צריך לשנות משהו וככה קלוד נדרש לקרוא רק את הקבצים הרלוונטיים.
טבלת אבחון מהירה
$ diagnose –context-issues
טבלת אבחון מהירה לניהול חלון ההקשר
אם גם לכם יש טיפים, שתפו אותי…