# Prompt Caching in Claude Code: איך לשמור את הקאש חי לאורך כל הסשן ולהפסיק לשלם פי 10

> מה שמציל אתכם מלשלם על זה מחיר מלא בכל פעם זה ה-Prompt Caching. ה-API שומר את מה שהוא כבר עיבד, ובבקשה הבאה הוא מזהה שהתחילת הבקשה זהה, קורא אותה מהקאש בערך בעשירית מהמחיר, ומעבד במחיר מלא רק את מה שהשתנה.

מאת קווין ליאקס. פורסם 2026-08-15. נושא: Claude ו-Claude Code.
העמוד המלא: https://kevinliaks.ai/guides/claude-cache

## מה זה הקאש ולמה אכפת לכם

המודל לא זוכר כלום בין בקשה לבקשה. כל הודעה שאתם שולחים ל-Claude Code מייצרת בקשה חדשה לגמרי ל-API, וכדי שהמודל יבין על מה מדובר, Claude Code שולח מחדש את כל ההקשר: את הפרומפט המערכתי, את CLAUDE.md, כל הודעה קודמת, כל תוצאת כלי, ורק אז את ההודעה החדשה שלכם.

**כלומר: הודעה מספר 40 בשיחה קוראת מחדש את 39 ההודעות שלפניה.**

מה שמציל אתכם מלשלם על זה מחיר מלא בכל פעם זה ה-Prompt Caching. ה-API שומר את מה שהוא כבר עיבד, ובבקשה הבאה הוא מזהה שהתחילת הבקשה זהה, קורא אותה מהקאש בערך בעשירית מהמחיר, ומעבד במחיר מלא רק את מה שהשתנה.

המשל הכי מדויק הוא שולחן שמורכב במסעדה: כל עוד אתם יושבים, אתם משלמים עשירית. ברגע שקמתם, עורכים לכם את כל השולחן מחדש, במחיר מלא.

## איך הקאש בנוי: שכבות

ההתאמה של הקאש היא לפי **תחילית מדויקת** (prefix). המערכת משווה את תחילת הבקשה מול מה שהיא עיבדה לאחרונה, וההשוואה היא בייט-לבייט. שינוי אחד באמצע התחילית מבטל את כל מה שבא אחריו. אין קאש נפרד לכל קובץ ואין קאש לכל קטע.

לכן Claude Code מסדר כל בקשה כך שמה שהכי פחות משתנה יופיע ראשון:

| שכבה | מה יש בה | מתי היא משתנה |
|---|---|---|
| **פרומפט מערכתי** | הוראות ליבה, הגדרות כלים, סגנון פלט | כשמשתנות הגדרות הכלים, או כשמשדרגים את Claude Code |
| **הקשר הפרויקט** | CLAUDE.md, זיכרון אוטומטי, חוקים | בתחילת סשן, או אחרי clear/ ו-compact/ |
| **השיחה** | ההודעות שלכם, התשובות, תוצאות הכלים | בכל תור |

שינוי בשכבת השיחה משאיר את שתי השכבות שמעליה בקאש, וזה המצב הרגיל והבריא. שינוי בפרומפט המערכתי מבטל **הכל**, כי כל מה שאחריו יושב עכשיו מאחורי תחילית אחרת.

## שני דברים שנמצאים במפתח הקאש ולא רואים אותם

שתי הגדרות הן חלק ממפתח הקאש למרות שהן בכלל לא טקסט בתוך הפרומפט:

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

זו בדיוק הסיבה שהחלפת מודל באמצע שיחה מרגישה בחינם, עד שאתם מרגישים את התור האיטי שבא אחריה. Claude Code אפילו מציג לכם דיאלוג אישור לפני שינוי אפרט שיבטל את הקאש.

## מה שובר את הקאש

הפעולות הבאות גורמות לבקשה הבאה לפספס חלק מהקאש או את כולו. אתם משלמים תור אחד איטי ויקר יותר, ואז התחילית החדשה נכנסת לקאש:

| פעולה | מה קורה |
|---|---|
| **החלפת מודל (model/)** | קורא את כל היסטוריית השיחה בלי אף פגיעה בקאש. גם opusplan נחשב: כל מעבר לפלאן מוד הוא החלפת מודל |
| **שינוי אפרט (effort/)** | הקאש ממופתח גם לפי רמת אפרט, אז הבקשה הבאה קוראת הכל מחדש |
| **הפעלת Fast Mode** | מוסיף כותרת בקשה שהיא חלק ממפתח הקאש. העלות היא חד-פעמית לשיחה, ולכן להפעיל בהתחלה זול בהרבה מלהפעיל באמצע |
| **חיבור או ניתוק של MCP** | רק אם הכלים נטענים לתוך התחילית. כברירת מחדל הם נדחים (tool search) ואז אין נזק |
| **הפעלת או כיבוי תוסף** | רק תוסף שמספק שרת MCP. סקילז, פקודות, סוכנים, הוקים ותימות לא שוברים כלום |
| **חסימת כלי שלם** | חוק deny על שם כלי חשוף כמו Bash מסיר אותו מההקשר, וזה יושב בשכבת הפרומפט המערכתי |
| **compact/** | מחליף את ההיסטוריה בסיכום, אז שכבת השיחה מתבטלת מעצם ההגדרה |
| **שדרוג Claude Code** | גרסה חדשה בדרך כלל משנה את הפרומפט המערכתי. השדרוג נכנס לתוקף בהפעלה הבאה, לא באמצע סשן |

## מה לא שובר את הקאש

שווה להכיר גם את הצד השני, כי הרבה אנשים נזהרים סתם:

- עריכת קבצים בריפו: תוכן קובץ נכנס להקשר רק כשקלוד קורא אותו, והקריאה מתווספת בסוף השיחה
- עריכת CLAUDE.md באמצע סשן: לא שוברת את הקאש, אבל גם לא נכנסת לתוקף. הקובץ נקרא פעם אחת בתחילת הסשן
- שינוי סגנון פלט: אותו סיפור בדיוק: לא שובר, וגם לא חל עד clear/ או הפעלה מחדש
- מעבר בין מצבי הרשאה: בטוח לקאש (חוץ מפלאן מוד עם opusplan)
- הפעלת סקילז ופקודות: ההוראות מוזרקות כהודעת משתמש בנקודת ההפעלה
- recap/: מייצר סיכום לתצוגה בלבד, בלי להחליף את ההיסטוריה
- rewind/: חוזר אחורה לתחילית שכבר נמצאת בקאש
- הרצת סאב-אייג'נט: הסוכן פותח שיחה משלו, וההקשר של ההורה נשאר שלם

## כמה זמן הקאש חי

הקאש פג אחרי תקופה של חוסר פעילות. כל בקשה שפוגעת בקאש מאפסת את השעון, אז כל עוד אתם עובדים, הקאש נשאר חם. אחרי הפסקה ארוכה מספיק, התור הראשון בחזרה מחשב הכל מחדש, וזו בדיוק הסיבה שהוא מרגיש איטי.

| איך אתם מחוברים | אורך חיי הקאש | איך משנים |
|---|---|---|
| **מנוי Claude (Pro / Max / Team)** | **שעה** | אוטומטי |
| **מנוי שחרג ועובר על Usage Credits** | **5 דקות** | `ENABLE_PROMPT_CACHING_1H=1 מחזיר לשעה` |
| **מפתח API או ספק צד שלישי** | **5 דקות** | `ENABLE_PROMPT_CACHING_1H=1 מעלה לשעה` |
| **סאב-אייג'נטים** | **5 דקות** | תמיד, גם על מנוי |

רוצים לכפות 5 דקות לצורכי בדיקה או השוואה:

```
FORCE_PROMPT_CACHING_5M=1
```

## שלושת ההרגלים שמייקרים לכם את השיחה

שלושת אלה נעשים דווקא מתוך תחושת חיסכון, ובפועל עושים בדיוק הפוך:

### 1. להחליף מודל או אפרט באמצע

זו בדיוק הקימה מהשולחן. אתם מורידים אפרט כדי לחסוך, ומשלמים על קריאה מחדש של כל השיחה במחיר מלא, שזה בדרך כלל הרבה יותר ממה שחסכתם.

**מה לעשות במקום: תקבעו מודל ואפרט פעם אחת בתחילת הסשן ותעזבו.**

```
/model      # בתחילת הסשן
/effort     # בתחילת הסשן
/config     # להגדיר ברירת מחדל קבועה
```

### 2. להריץ compact/ אחרי שהקאש כבר פג

הנקודה העדינה כאן: כדי לייצר את הסיכום, Claude Code שולח בקשה נפרדת עם אותו פרומפט מערכתי, אותם כלים ואותה היסטוריה. כשהקאש חם, הבקשה הזו קוראת את התחילית מהקאש, ולכן compact/ באמצע סשן עולה שבריר ממה שגודל ההקשר מרמז.

אחרי הפסקה ארוכה מאורך חיי הקאש, אין מה לקרוא, ובקשת הסיכום מעבדת את כל ההיסטוריה כקלט לא מקושר. לכן compact/ הכי יקר כשחוזרים לסשן ישן.

**מה לעשות במקום: תריצו compact/ לפני שאתם קמים, לא אחרי.**

ואם ירדתם למסלול שאתם רוצים לזרוק לגמרי, rewind/ עדיף על compact/. הוא חותך אחורה לתחילית שכבר בקאש, במקום לבנות אחת חדשה.

```
/compact                                  # בהפסקה טבעית בין משימות
/compact Focus on code samples and API usage   # עם הוראות סיכום משלכם
/rewind                                   # לזרוק מסלול שלם - זול יותר
```

### 3. לא לעשות clear/ למשימה חדשה

Claude Code שולח את השיחה המלאה בכל בקשה. גם שאלה של שורה אחת בסשן שפתוח כל היום גוררת את כל ההיסטוריה, במחיר מוזל, אבל היא שם. אם התחלתם משימה חדשה לגמרי, אתם משלמים שוב ושוב על כל מה שגררתם מתחילת השיחה.

**מה לעשות במקום: משימה חדשה = clear/. הוא לא עולה כלום.**

טיפ קטן: תריצו rename/ לפני שאתם מנקים, כדי שתוכלו למצוא את הסשן אחר כך עם resume/.

```
/rename my-auth-refactor
/clear
/resume     # לחזור לסשן קודם
```

## clear מול compact מול rewind

| פקודה | מה היא עושה | מתי להשתמש |
|---|---|---|
| `/clear` | מתחיל סשן נקי לגמרי | משימה חדשה שאין לה קשר לקודמת. לא עולה כלום |
| `/compact` | מחליף את ההיסטוריה בסיכום | ממשיכים את אותה משימה אבל ההקשר תפח. להריץ בהפסקה טבעית |
| `/rewind` | חותך את השיחה אחורה לתור מוקדם יותר | ירדתם למסלול שגוי ורוצים לזרוק אותו. חוזר לתחילית שכבר בקאש |

## איך בודקים שזה בכלל עובד

ה-API מחזיר שני מספרים בכל תשובה:

| שדה | משמעות |
|---|---|
| `cache_creation_input_tokens` | טוקנים שנכתבו לקאש בתור הזה, מחויבים בתעריף כתיבה |
| `cache_read_input_tokens` | טוקנים שהוגשו מהקאש, מחויבים בערך ב-10% מתעריף הקלט הרגיל |

**יחס קריאה-לכתיבה גבוה = הקאש עובד טוב.** אם הכתיבה נשארת גבוהה תור אחרי תור, משהו בתחילית שלכם משתנה כל הזמן, תחזרו לטבלת מה שובר את הקאש.

שלוש דרכים לראות את זה בפועל:

- usage/: מציג שימוש בטוקנים, ובתוכניות בתשלום גם דגלי התנהגות שמסמנים cache misses או long context כשאחד מהם אחראי ל-10% ומעלה מהשימוש
- context/: מראה מה תופס מקום בחלון ההקשר שלכם
- סטטוסליין מותאם אישית שקורא את האובייקט current\_usage ומציג את המספרים בזמן אמת

## דברים שכדאי לדעת

- הקאש מוגבל למכונה ולתיקייה. הפרומפט המערכתי מכיל את תיקיית העבודה, הפלטפורמה, השל ומערכת ההפעלה, אז שני סשנים בתיקיות שונות לא יראו את הקאש אחד של השני. זה כולל worktrees של אותו ריפו
- סשנים מקבילים באותה תיקייה כן קוראים את הקאש אחד של השני
- המשך סשן (resume/) אחרי שדרוג של Claude Code מעבד מחדש את כל ההיסטוריה, התור הראשון בחזרה לסשן ארוך יכול להיות הבקשה הכי יקרה ששלחתם
- המינימום לקאש הוא 512 טוקנים ב-Opus 5 ו-1024 ב-Sonnet 5. פרומפט קצר יותר פשוט לא נכנס לקאש, בלי שום הודעת שגיאה
- בתוכניות Pro ו-Max, כשחוזרים לסשן גדול אחרי הפסקה ארוכה, Claude Code מציע להמשיך מסיכום כדי שהבקשות הבאות לא יגררו את כל ההיסטוריה

## צ'קליסט: איך לשמור את הקאש חי

- תקבעו מודל ואפרט בתחילת הסשן, ואל תיגעו בהם באמצע משימה
- אם אתם מפעילים Fast Mode, תפעילו אותו בהתחלה, לא באמצע
- תריצו compact/ בהפסקה טבעית בין משימות, לא כשחוזרים אחרי שעתיים
- משימה חדשה שאין לה קשר לקודמת = clear/ (rename/ קודם, אם תרצו לחזור)
- מסלול שגוי = rewind/, לא compact/
- כבו שרתי MCP שאתם לא באמת משתמשים בהם
- אל תערכו את CLAUDE.md באמצע סשן ותצפו שזה יעבוד, זה נטען רק בהתחלה
- עובדים מול API ולא מנוי? שקלו ENABLE\_PROMPT\_CACHING\_1H=1

## לינקים

- איך Claude Code משתמש בקאש (התיעוד הרשמי): [code.claude.com/docs/en/prompt-caching](https://code.claude.com/docs/en/prompt-caching)
- ניהול עלויות ב-Claude Code: [code.claude.com/docs/en/costs](https://code.claude.com/docs/en/costs)
- המנגנון עצמו ב-API: [platform.claude.com/docs/en/build-with-claude/prompt-caching](https://platform.claude.com/docs/en/build-with-claude/prompt-caching)
- חלון ההקשר: מה נטען ומתי: [code.claude.com/docs/en/context-window](https://code.claude.com/docs/en/context-window)
- Prompt caching is everything (הבלוג של Anthropic): [claude.com/blog/lessons-from-building-claude-code-prompt-caching-is-everything](https://claude.com/blog/lessons-from-building-claude-code-prompt-caching-is-everything)

---
קווין ליאקס מעביר סדנאות AI, הרצאות והטמעה לארגונים: https://kevinliaks.ai/workshops
