# مدیریت زمینه

> **آخرین بازبینی**: 2026-11-12 · 📄 بر اساس مستندات رسمی (مستندات Claude Code درباره پنجره زمینه و پیکربندی مدل، مرور مدل‌های Anthropic؛ بخش‌های پنجره زمینه و فهرست مدل‌ها این بار بررسی شدند)

هر جلسه Claude Code در یک **پنجره زمینه** اجرا می‌شود. درک نحوه کار زمینه به شما کمک می‌کند از Claude کارآمدتر استفاده کنید و از خطاهای ناشی از سرریز زمینه جلوگیری کنید.

## درک پنجره زمینه

تا تاریخ 2026-11-12، بر اساس مستندات Claude Code و مرور مدل‌های Anthropic: Fable 5.2 (منتشر‌شده در 9 نوامبر 2026)، Fable 5.1، Fable 5، Sonnet 5 و جدیدتر، Haiku 5.5، و Opus 4.7 و جدیدتر به‌طور پیش‌فرض با پنجره زمینه **1,000,000 توکن (1M)** اجرا می‌شوند، بدون نیاز به پسوند `[1m]`. Opus 4.6 و Sonnet 4.6 تنها از طریق گونه `[1m]` خود به 1M می‌رسند؛ در غیر این صورت با 200K اجرا می‌شوند. در QCode، `claude-fable-5-2` و `claude-fable-5-1` که هنوز در دسترس است، همراه با `claude-opus-5-5`، `claude-sonnet-5-5` و `claude-haiku-5-5` که معمولاً استفاده می‌شوند، به گروه اول تعلق دارند. برای نگه‌داشتن جلسه‌ها در پنجره 200K، متغیر محیطی `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` را تنظیم کنید.

زمینه شامل موارد زیر است:
- تمام تاریخچه گفتگو (پیام‌های شما + پاسخ‌های Claude)
- محتوای فایل‌هایی که با `@` ارجاع داده شده‌اند
- ورودی‌ها و خروجی‌های فراخوانی ابزار
- promptهای سیستمی و محتوای CLAUDE.md

با پیشرفت گفتگو، زمینه به‌طور پیوسته رشد می‌کند. وقتی زمینه به حد خود نزدیک می‌شود، سرعت پاسخ Claude ممکن است کاهش یابد و در نهایت فشرده‌سازی خودکار فعال می‌شود یا خطا رخ می‌دهد.

## فشرده‌سازی زمینه: /compact

دستور `/compact` تاریخچه گفتگوی فعلی را به خلاصه‌ای کوتاه فشرده می‌کند و ضمن حفظ اطلاعات مهم، فضای زمینه را آزاد می‌کند.

```
/compact
```

همچنین می‌توانید دستورالعمل‌های سفارشی اضافه کنید تا کنترل کنید فشرده‌سازی بر چه چیزی تمرکز کند:

```
/compact Keep all code examples and the completed task list
```

**فشرده‌سازی خودکار**: مگر اینکه پنجره خودتان را تنظیم کنید، Claude Code هم‌زمان با نزدیک‌شدن گفتگو به حد زمینه مدل، به‌طور خودکار فشرده‌سازی می‌کند؛ برای مدل‌هایی با پنجره 1M بومی، پیش‌فرض حدود **967K توکن** است (بر اساس مستندات رسمی). برای فشرده‌سازی زودتر، دستوری مانند `/autocompact 500k` را اجرا کنید تا پنجره را تنظیم کند (`auto` پیش‌فرض را بازمی‌گرداند؛ نیازمند Claude Code v2.1.221 یا جدیدتر است). همچنین می‌توانید وقتی زمینه به 70–80% می‌رسد، به‌صورت پیش‌دستانه `/compact` را اجرا کنید تا لازم نباشد تا آخرین لحظه صبر کنید.
## پاک کردن تاریخچه: /clear

فرمان `/clear` تمام تاریخچه گفتگو را پاک می‌کند و نشست تازه‌ای آغاز می‌کند:

```
/clear
```

> **نکته**: `/clear` تمام زمینه را حذف می‌کند، از جمله اطلاعات پروژه‌ای که Claude پیش‌تر یاد گرفته است. زمانی از آن استفاده کنید که به کاری کاملاً نامرتبط و جدید می‌روید.

## بررسی وضعیت زمینه: /context

از فرمان `/context` برای مشاهده مصرف فعلی زمینه استفاده کنید:

```
/context
```

## ارجاع به فایل با @

از نماد `@` برای افزودن محتوای فایل به زمینه استفاده کنید:

```
@src/main.ts Explain what this file does
@package.json Check dependency versions
@README.md
```

**بهترین شیوه‌ها**:
- فقط به فایل‌های مرتبط با کار جاری ارجاع دهید تا از افزودن زمینه غیرضروری پرهیز کنید
- فایل‌های بزرگ به‌سرعت فضای زمینه را مصرف می‌کنند — ارجاع به فایل‌های کلیدی را در اولویت قرار دهید
- از `CLAUDE.md` برای ارائه پیش‌زمینه پروژه استفاده کنید، به‌جای چسباندن مکرر آن در هر گفتگو

## ورودی از طریق پایپ

خروجی فرمان یا محتوای فایل را از طریق پایپ به Claude بدهید:

```bash
# Pipe file contents in
cat error.log | claude "Analyze this error"

# Pipe command output in
git diff | claude "Generate a commit message"

# Multi-line input
echo "Please analyze the following code:
$(cat src/utils.ts)" | claude
```

## جلوگیری از سرریز در نشست‌های طولانی

### نشانه: خطای داخلی سرور E015

هنگامی که زمینه گفتگو به محدودیت ظرفیت مدل (حدود 95%) نزدیک می‌شود، API مربوط به Anthropic خطای 500 برمی‌گرداند. QCode.cc این را به‌صورت پاسخ 429 بسته‌بندی می‌کند:

```
429 {"error":{"code":"E015","message":"Internal server error"},"status":500}
```

این رفتار شناخته‌شده API Anthropic است (نه ویژه QCode.cc). QCode.cc چنین خطاهای 5xx را به پاسخ‌های 429 بسته‌بندی می‌کند تا از مکانیزم تلاش مجدد داخلی Claude Code استفاده کند.

### مراحل رفع مشکل

1. **`/compact` را امتحان کنید**:
   - اگر موفق باشد، گفتگو می‌تواند به‌طور عادی ادامه یابد
   - اگر خود `/compact` خطا بدهد (درخواست فشرده‌سازی نیز مستلزم ارسال کل زمینه است)، به مرحله بعد بروید

2. **از Claude Code خارج شوید و دوباره راه‌اندازی کنید**:
   ```bash
   # Press Ctrl+C or type /exit
   # Then restart
   claude
   ```

### نکات پیشگیری

- **منظم فشرده‌سازی کنید**: زمانی که زمینه به 70–80% می‌رسد، به‌جای انتظار برای سرریز، پیش‌دستانه `/compact` را اجرا کنید
- **کارها را تقسیم کنید**: کارهای بزرگ را به کارهای کوچک‌تر تقسیم کنید و برای هر کدام از یک نشست جداگانه استفاده کنید
- **به‌جای چسباندن مکرر از CLAUDE.md استفاده کنید**: پیش‌زمینه پروژه را در `CLAUDE.md` بنویسید — Claude آن را هنگام راه‌اندازی به‌طور خودکار می‌خواند، بنابراین لازم نیست در هر گفتگو آن را تکرار کنید
- **از وارد کردن فایل‌های بزرگ پرهیز کنید**: ارجاع به یک فایل بزرگ زمینه زیادی مصرف می‌کند — ارجاع فقط به بخش‌های کلیدی را ترجیح دهید
- **پایش با `/cost`**: فرمان `/cost` مصرف توکن نشست جاری را نشان می‌دهد
## مرجع سریع فرمان‌ها

| فرمان | هدف |
|---------|---------|
| `/compact` | فشرده‌سازی زمینه (خلاصه را نگه می‌دارد) |
| `/clear` | پاک کردن همه زمینه |
| `/context` | مشاهده وضعیت زمینه |
| `/cost` | مشاهده مصرف توکن |
| `@<file path>` | ارجاع دادن یک فایل به زمینه |

## سلسله‌مراتب مهندسی زمینه

«مهندسی زمینه» یعنی سازمان‌دهی آگاهانه آنچه Claude در هر درخواست می‌خواند — قرار دادن اطلاعات پایدار و ارزشمند در ابتدا و دور نگه داشتن نویز. زمینه Claude Code از یک **سلسله‌مراتب اولویت** روشن پیروی می‌کند (از بالاترین به پایین‌ترین):

1. **سیاست سازمانی / مدیریت‌شده** — قوانینی که سازمان شما اعمال می‌کند. بالاترین اولویت؛ افراد نمی‌توانند آن‌ها را لغو کنند.
2. **حافظه پروژه `CLAUDE.md` / `AGENTS.md`** — دستورهای پروژه در ریشه مخزن که قراردادهای کد، فرمان‌های build و پیشینه پروژه را توصیف می‌کند.
3. **قواعد محدود به مسیر** — فایل‌های `CLAUDE.md` تودرتو یا `.claude/rules` در زیرپوشه‌ها که فقط روی کار زیر آن مسیر اعمال می‌شوند.
4. **تاریخچه گفتگوی جاری** — رفت‌وبرگشت‌های نشست فعلی. پایین‌ترین اولویت و بخشی که بیشترین احتمال بزرگ شدن را دارد.

درک این سلسله‌مراتب به شما کمک می‌کند دستورها را در **جای درست** قرار دهید: قراردادهای عمومی در `CLAUDE.md` سطح پروژه می‌روند، قواعد مخصوص هر دایرکتوری در قواعد محدود به مسیر — به‌جای تکرار آن‌ها در هر گفتگو.

### نکته‌های کاربردی

- **دستورها را مختصر و پرمحتوا نگه دارید**: هرچه `CLAUDE.md` شما لاغرتر باشد، پیروی از آن برای Claude آسان‌تر است؛ محتوای طولانی و بی‌ربط، دستورهای کلیدی را رقیق می‌کند.
- **`/compact` در نقاط توقف منطقی**: پس از پایان یک مرحله تاریخچه را فشرده کنید — گفتگوهای طولانی و بی‌تمرکز دقت را کاهش می‌دهند.
- **`/clear` بین کارهای نامرتبط**: هنگام تغییر به کاری کاملاً نامرتبط، تاریخچه را پاک کنید تا زمینه قدیمی نتواند تداخل ایجاد کند.
- **به‌جای چسباندن، با مسیر ارجاع دهید**: از `@<file path>` استفاده کنید تا Claude فایل‌ها را در صورت نیاز بخواند، به‌جای انباشتن بلوک‌های بزرگ در گفتگو — این کار در مصرف زمینه صرفه‌جویی می‌کند و دقت را بالا می‌برد.
- **محتوای پایدار را اول قرار دهید**: محتوای تغییرناپذیر مانند promptهای سیستمی، `CLAUDE.md` و بلوک‌های بزرگ پیشینه باید ابتدا بیایند و ویرایش نشوند تا مشمول **کش prompt** شوند (خواندن از کش حدود 10% ورودی عادی هزینه دارد). دقیقاً به همین دلیل، یک `CLAUDE.md` مختصر و پایدار به‌همراه استفاده مجدد از نشست‌ها در هزینه صرفه‌جویی می‌کند.

به‌طور خلاصه: محتوای پایدار و ارزشمند را به بالای سلسله‌مراتب ببرید و آن را بدون تغییر نگه دارید، و تاریخچه گفتگوی پرنوسان را به‌طور دوره‌ای مهار کنید. برای بررسی عمیق‌تر، [حافظه پروژه CLAUDE.md](/docs/usage/claude-md) و [بهینه‌سازی هزینه](/docs/usage/cost-optimization) را ببینید.
## جزئیات دستورهای متداول زمینه

در تاریخ 2026-10-15، بر اساس مرجع دستورهای Claude Code:

| دستور | آنچه مستندات می‌گوید |
|---|---|
| `/compact [instructions]` | گفتگو تا این لحظه را خلاصه می‌کند تا زمینه آزاد شود؛ می‌توانید دستورالعمل‌هایی درباره اینکه چه چیزی حفظ شود اضافه کنید |
| `/clear` | گفتگوی جدیدی با زمینه خالی آغاز می‌کند (نام‌های مستعار `/reset`، `/new`)؛ گفتگوی قبلی را می‌توانید دوباره با `/resume` پیدا کنید |
| `/context` | مصرف زمینه کنونی را به‌صورت یک شبکه رنگی همراه با پیشنهادهای بهینه‌سازی برای بزرگ‌ترین مصرف‌کننده‌ها نشان می‌دهد؛ برای گسترش جزئیات `all` را اضافه کنید |
| `/rewind` | گفتگو و کد را به یک نقطه پیشین برمی‌گرداند؛ همچنین می‌توانید «Summarize from here» یا «Summarize up to here» را انتخاب کنید تا فقط یک بخش فشرده شود و بخش دیگر حفظ گردد |
| `/autocompact [auto\|size]` | پنجره فشرده‌سازی خودکار را تنظیم می‌کند، مثلاً `/autocompact 500k`؛ `auto` به مقدار پیش‌فرض تنظیم‌شده برای مدل شما بازمی‌گردد |

بر اساس مستندات رسمی حافظه، `CLAUDE.md` ریشه پروژه پس از `/compact` دوباره از دیسک خوانده می‌شود و از دست نمی‌رود؛ دستورالعمل‌هایی که فقط در گفتگو داده شده‌اند ممکن است پس از فشرده‌سازی ناپدید شوند، بنابراین هر چیزی که باید پایدار بماند را در `CLAUDE.md` بنویسید.

## نکته‌ها هنگام استفاده از QCode

- **مدل‌های Claude** رده جداگانه‌ای برای زمینه بلند ندارند و بر اساس توکن‌های واقعی صورت‌حساب می‌شوند. برای **مدل‌های GPT**، وقتی ورودی یک درخواست واحد (شامل توکن‌های خوانده‌شده از کش) از 272K فراتر رود، کل درخواست با نرخ زمینه بلند صورت‌حساب می‌شود؛ این قاعده در [صورت‌حساب](/docs/reference/billing) آمده است. فشرده‌سازی پیش از آنکه یک نشست طولانی به 272K نزدیک شود، ارزان‌تر است.
- هر نوبت کل زمینه کنونی را دوباره به مدل می‌فرستد، بنابراین هرچه نشست طولانی‌تر باشد، هر نوبت توکن بیشتری مصرف می‌کند. یک پیشوند پایدار (`CLAUDE.md`، prompt سیستم) می‌تواند از کش ارائه شود، در حالی که تغییر محتوای ابتدایی اغلب آن را بی‌اعتبار می‌کند.
- برای مصرف نشست کنونی از `/usage` (نام مستعار `/cost`) استفاده کنید. QCode به‌ازای هر توکن صورت‌حساب می‌کند؛ نرخ‌های هر مدل در [qcode.cc/models](https://qcode.cc/models) فهرست شده‌اند.

## خطاهای متداول و روش عیب‌یابی

| نشانه | علت | رفع |
|---|---|---|
| `429` با `E015` / `Internal server error` در بدنه | زمینه نزدیک محدودیت مدل است (حدود 95%): سرریز یک نشست طولانی | ابتدا `/compact` را اجرا کنید؛ اگر آن هم شکست خورد، خارج شده و دوباره راه‌اندازی کنید، بخش «پیشگیری از سرریز نشست طولانی» در بالا را ببینید |
| خودِ `/compact` خطا می‌دهد | درخواست فشرده‌سازی هم باید کل زمینه را حمل کند، که دیگر جا نمی‌شود | از Claude Code خارج شده و دوباره راه‌اندازی کنید؛ در صورت نیاز از `/resume` برای بازگشت به گفتگویی پیشین استفاده کنید |
| Claude پس از فشرده‌سازی یک الزام را «فراموش کرد» | آن الزام فقط در گفتگو بیان شده بود | آن را در `CLAUDE.md` قرار دهید |
| می‌خواهید پنجره 200K را ثابت کنید | پنجره پیش‌فرض از قبل 1M است | متغیر محیطی `CLAUDE_CODE_DISABLE_1M_CONTEXT=1` را تنظیم کنید |
| زمینه به‌طور غیرعادی سریع رشد می‌کند | فایل‌های بزرگ ارجاع داده شده‌اند، یا خروجی ابزار طولانی است | از `/context` برای یافتن مصرف‌کننده‌های بزرگ استفاده کنید و فقط به بخش‌های مرتبط ارجاع دهید |

## پرسش‌های متداول

### از `/compact` استفاده کنم یا از `/clear`؟

وقتی روی همان موضوع به کار ادامه می‌دهید از `/compact` استفاده کنید، چون خلاصه‌ای را نگه می‌دارد. فقط زمانی که به کاری کاملاً بی‌ربط می‌روید از `/clear` استفاده کنید، چون از فضای خالی شروع می‌کند.

### آیا فشرده‌سازی `CLAUDE.md` را حذف می‌کند؟

خیر. `CLAUDE.md` ریشه پروژه پس از فشرده‌سازی دوباره خوانده می‌شود؛ فایل‌های `CLAUDE.md` تودرتو در زیرپوشه‌ها و قواعد محدود به مسیر، در صورت نیاز دوباره بارگذاری می‌شوند.

### چگونه کاری کنم که فشرده‌سازی خودکار زودتر فعال شود؟

پنجره را با دستوری مانند `/autocompact 500k` تنظیم کنید؛ `auto` به مقدار پیش‌فرض تنظیم‌شده برای مدل شما بازمی‌گردد. این دستور به Claude Code v2.1.221 یا بالاتر نیاز دارد. همچنین می‌توانید وقتی مصرف به 70% تا 80% رسید، خودتان `/compact` را اجرا کنید (یک قاعده سرانگشتی پیشنهادی، نه یک عدد رسمی).

### فشرده کردم و چیزی را از دست دادم. آیا می‌توانم برگردم؟

بله. از `/rewind` استفاده کنید و یک نقطه پیشین را انتخاب کنید تا گفتگو، کد یا هر دو بازیابی شوند. این کار به نقاط بازرسی نشست متکی است؛ [نکته‌های گردش کار](/docs/usage/workflow-tips) را ببینید.