ai for designersJune 25, 20269 min read

مدیریت Context در Claude Code: /clear در مقابل /compact و بقیه

نحوه مدیریت پنجره context در Claude Code. تفاوت واقعی بین /clear و /compact، به علاوه /context، /rewind، فشرده‌سازی خودکار، و فایل‌های حافظه‌ای که از هر ریست جان سالم به در می‌برند.

By Boone
XLinkedIn
claude code context management

دو دستور کار اصلی را انجام می‌دهند. /clear یک مکالمه تازه با پنجره‌ای خالی شروع می‌کند. /compact مکالمه جاری را به یک خلاصه فشرده می‌کند و ادامه می‌دهد. هر دستور context دیگری در Claude Code یا به بررسی محتوای پنجره می‌پردازد یا وقتی همه چیز اشتباه می‌رود، آن را بازیابی می‌کند.

این کل نقشه است. مهارت این است که بدانید کدام یک را نیاز دارید قبل از اینکه نشانگر قرمز شود.

اگر می‌خواهید ابتدا اصول اولیه را بدانید، اینجا توضیح داده شده که context window واقعاً چیست. این مقاله نسخه اپراتوری است: کدام دستور، چه وقت، و چه هزینه‌ای برایتان دارد.

چه چیزی واقعاً پنجره context شما را پر می‌کند

فقط چت شما نیست. Claude Code پنجره را با خواندن فایل‌ها، CLAUDE.md پروژه شما، ورودی‌های حافظه، بدنه skill های فراخوانی‌شده، تعریف‌های ابزار MCP، خروجی hook، و خود مکالمه پر می‌کند.

/context (یا /context all) را اجرا کنید تا ببینید. یک شبکه رنگی از مصرف توکن بر اساس دسته‌بندی، به علاوه راهنمایی‌های بهینه‌سازی و هشدارهای ظرفیت نمایش می‌دهد.

اینجاست که اهمیت پیدا می‌کند. اگر سرورهای MCP و تعریف skill های شما نصف پنجره را قبل از اینکه یک کلمه تایپ کنید می‌خورند، فشرده کردن مکالمه کمک چندانی نخواهد کرد. باید بدانید چه چیزی سنگین است قبل از اینکه تصمیم بگیرید چطور کاهش دهید.

نمودار voxel که چندین نوع ورودی را نشان می‌دهد که روی هم انباشته می‌شوند تا یک پنجره context را پر کنند.
نمودار voxel که چندین نوع ورودی را نشان می‌دهد که روی هم انباشته می‌شوند تا یک پنجره context را پر کنند.

/clear در مقابل /compact، تنها انشعابی که اهمیت دارد

/clear فراموش می‌کند. /compact خلاصه‌ای را به خاطر می‌سپارد.

/clear یک مکالمه کاملاً جدید با پنجره context خالی شروع می‌کند. چت قبلی شما از بین نمی‌رود. از طریق /resume قابل دسترسی می‌ماند.

با /clear <name> یک نام پاس دهید تا جلسه جدید را برچسب بزنید. CLAUDE.md پروژه شما و حافظه از دیسک در جلسه جدید بارگذاری می‌شوند.

/compact شما را در همان جلسه نگه می‌دارد. هر چیزی تا اینجا را به یک پایه فشرده خلاصه می‌کند و از آنجا ادامه می‌دهد. طبق مستندات رسمی Claude Code، این تقسیم است: clear برای یک کار جدید، compact برای آزاد کردن توکن‌ها در همان کار جاری.

پیش‌فرض باید /clear باشد. سریع‌تر و تمیزتر از کشیدن سر و صدای انباشته از یک کار به کار بعدی است. تیم Claude Code با صدای بلند موافق است. "@trq212 از تیم Claude Code نوشت: "STOP COMPACTING, use /clear"، که شکاف بین نحوه کار تیم و نحوه کار جامعه را عمدتاً موضوع تعداد دفعاتی دانست که هر کدام پاک می‌کنند.

نویسنده Medium، Mubashar، به همان قانون می‌رسد: "به طور پیش‌فرض clear کن، وقتی تداوم اهمیت دارد compact را انتخاب کن."

Clear فراموش می‌کند. Compact خلاصه‌ای را به خاطر می‌سپارد. دانستن اینکه کدام یک را نیاز دارید کل مهارت است.

می‌خواهید از هوش مصنوعی در یک تمرین طراحی استفاده کنید؟ Brainy به طراحان کمک می‌کند بدون از دست دادن حرفه، این کار را انجام دهند. ببینید برای سازندگان چه می‌سازیم.

چطور یک compact را هدایت کنید

/compact دستورالعمل‌های متن آزاد می‌پذیرد. از آن‌ها استفاده کنید.

/compact ساده می‌گذارد Claude تصمیم بگیرد چه چیزی مهم است. /compact focus on the auth bug یا /compact keep the database schema به آن می‌گوید چه چیزی را محافظت کند. یک خلاصه هدایت‌شده بسیار قابل اطمینان‌تر از یک خلاصه عمومی است.

این اهمیت دارد چون فشرده‌سازی ذاتاً با اتلاف همراه است. یک compact کور می‌تواند جزئیاتی که نیاز داشتید را حذف کند، به همین دلیل یک handoff اغلب از یک cleanup بهتر است: آنچه نیاز دارید را در یک فایل markdown بریزید، /clear را اجرا کنید، سپس جلسه جدید را به آن فایل اشاره دهید.

برای اکثر کارهای همان وظیفه، یک /compact هدفمند کافی است. برای یک handoff حساس که نمی‌توانید جزئیات را از دست بدهید، ابتدا آن را بنویسید.

تصویر voxel که /clear را با شروع خالی در مقابل /compact که خلاصه را حفظ می‌کند نشان می‌دهد.
تصویر voxel که /clear را با شروع خالی در مقابل /compact که خلاصه را حفظ می‌کند نشان می‌دهد.

چه چیزی از compact جان سالم به در می‌برد، و چه چیزی آرام ناپدید می‌شود

برخی چیزها بعد از خلاصه دوباره تزریق می‌شوند. برخی دیگر ناپدید می‌شوند تا زمانی که دوباره آن‌ها را فعال کنید.

چه چیزیبعد از /compact
System prompt و سبک خروجیدوباره تزریق می‌شود (هرگز در تاریخچه پیام نبوده)
CLAUDE.md ریشه پروژه و قوانین بدون محدودهدوباره تزریق می‌شود
ورودی‌های auto-memoryدوباره تزریق می‌شود
بدنه skill های فراخوانی‌شدهدوباره تزریق می‌شود
قوانین محدوده‌دار به path (قوانین با فیلتر paths)حذف می‌شود تا زمانی که یک فایل مطابق دوباره خوانده شود
CLAUDE.md تو در تو در زیرشاخه‌هاحذف می‌شود تا زمانی که یک فایل مطابق دوباره خوانده شود
مکالمه کلمه به کلمه، خروجی‌های دقیق ابزار، متن دقیقاز بین می‌رود، در خلاصه له می‌شود

ردیف‌های خطرناک ردیف‌های ساکت هستند. قوانین محدوده‌دار به path و فایل‌های CLAUDE.md تو در تو بعد از compact از پنجره خارج می‌شوند و فقط وقتی یک فایل مطابق را بخوانید برمی‌گردند. اگر پروژه شما به قوانین محدوده‌دار متکی است، compact می‌تواند رفتار Claude را بدون اینکه به شما بگوید تغییر دهد.

فشرده‌سازی خودکار، تور ایمنی که نمی‌توانید خاموشش کنید

وقتی مکالمه به حد context نزدیک می‌شود، Claude Code به تنهایی فشرده می‌کند. همان رفتار مانند /compact دستی.

نمی‌توانید آن را غیرفعال کنید. هیچ تنظیمی وجود ندارد. دور آن برنامه‌ریزی کنید، نه علیه آن.

این خوب است، چون غریزه بهتر این است که زود فشرده کنید تا در لبه. کتاب آشپزی tool-use Anthropic نشان می‌دهد که فشرده‌سازی خودکار توکن‌های ورودی را در یک اجرای agent چند بلیتی حدود ۵۸ درصد کاهش داد، از تقریباً ۲۰۴ هزار به ۸۲ هزار. تحلیلی در hyperdev.matsuoka.com گزارش می‌دهد که فشرده‌سازی پیشگیرانه در حدود ۶۰ درصد ظرفیت، به جای انتظار تا ۹۵ درصد، به علاوه ویرایش بهتر context، تا ۳۹ درصد عملکرد بهتر نسبت به خط پایه داد.

درس ساده است. پنجره را تا دیوار نرانید. یک /clear تمیز یا /compact زودهنگام از یک auto-compact وحشتناک در میانه فکر بهتر است.

تصویر voxel از خلاصه context فشرده‌شده که جایگزین یک رشته مکالمه بلند می‌شود.
تصویر voxel از خلاصه context فشرده‌شده که جایگزین یک رشته مکالمه بلند می‌شود.

دیدن و ذخیره: /context، /cost، و /export

سه دستور برای بررسی و حفظ قبل از کاهش.

/context شبکه توکن را بر اساس دسته‌بندی نشان می‌دهد. هر وقت Claude کند به نظر می‌رسد آن را اجرا کنید. کندی معمولاً پنجره پر است، نه مدل کند.

/cost (نام مستعار /usage) هزینه جلسه و آمار استفاده از پلن را نشان می‌دهد. در پلن‌های Pro، Max، Team، و Enterprise استفاده را بر اساس skill، subagent، plugin، و سرور MCP تفکیک می‌کند. برای مشترکین Max و Pro، آن عدد دلاری استفاده از پلن است، نه یک صورت‌حساب جداگانه از جیب.

/export [filename] متن مکالمه را به متن ساده می‌نویسد، یا به یک فایل نام‌گذاری‌شده یا از طریق یک دیالوگ ذخیره. قبل از /clear آن را اجرا کنید وقتی می‌خواهید سابقه‌ای داشته باشید.

/rewind و /resume، بازیابی بدون شروع از صفر

وقتی اشتباه رفتید، مجبور نیستید از صفر شروع کنید.

/rewind (نام‌های مستعار /checkpoint، /undo) به یک checkpoint قبلی برمی‌گردد. می‌تواند حالت مکالمه، حالت کد، یا هر دو را بازگرداند، یا از یک پیامی که انتخاب می‌کنید خلاصه کند. یک میانبر صفحه‌کلید برای آن وجود دارد. برای دیدن binding جاری /keybindings را اجرا کنید به جای حدس زدن.

/resume (نام مستعار /continue) یک مکالمه قبلی را برمی‌گرداند، از طریق picker، session ID، یا نام. این تور ایمنی زیر /clear است. پاک کردن هرگز حذف نمی‌کند، پس یک clear اشتباه فقط یک /resume فاصله دارد.

پشته checkpoint voxel که بازگشت مکالمه به یک حالت جلسه قبلی را نشان می‌دهد.
پشته checkpoint voxel که بازگشت مکالمه به یک حالت جلسه قبلی را نشان می‌دهد.

فایل‌های حافظه از هر دو clear و compact جان سالم به در می‌برند

CLAUDE.md لایه پایدار است. از همه چیز جان سالم به در می‌برد.

CLAUDE.md پروژه شما و فایل‌های حافظه بعد از /clear دوباره بارگذاری می‌شوند و بعد از /compact دوباره تزریق می‌شوند. هر چیزی که هر جلسه دوباره توضیح می‌دهید باید آنجا باشد، نه در چت. /memory آن فایل‌ها را برای ویرایش باز می‌کند و می‌گذارد ورودی‌های auto-memory را فعال، غیرفعال، یا مشاهده کنید.

طبق مستندات Claude Code، به همین دلیل CLAUDE.md خانه مناسب برای ثابت‌هاست. قوانینی مثل "همیشه تست‌ها را اجرا کن" یا "هرگز schema را لمس نکن" در resets باقی می‌مانند و خلاصه‌های آینده را شکل می‌دهند. حقایق را به آن وارد کنید و دیگر هر جلسه مالیات توضیح مجدد نمی‌پردازید.

وقتی پنجره هنوز خیلی تنگ است

کوتاه کردن مکالمه تنها اهرم شما نیست. سه حرکت بقیه را حل می‌کنند.

Subagent ها بزرگترین هستند. یک کار مستقل را به یک subagent واگذار کنید که در context تازه خودش اجرا می‌شود و فقط نتیجه را برمی‌گرداند. thread اصلی لاغر می‌ماند در حالی که کار سنگین جای دیگری انجام می‌شود. برای یک کار بزرگ، هیچ چیز دیگری به اندازه آن فضا آزاد نمی‌کند.

CLAUDE.md محدوده‌دار به path و حافظه تو در تو قوانین را نزدیک فایل‌هایی که حاکم بر آن‌هاست نگه می‌دارند، تا فقط وقتی مرتبط هستند بارگذاری شوند به جای اینکه تمام جلسه در پنجره بنشینند.

پنجره بزرگتر کمک می‌کند اما بی‌نظمی را توجیه نمی‌کند. جدیدترین مدل‌های Claude، خانواده Opus 4.x و Sonnet 4.x و Fable 5، تا یک پنجره context یک میلیون توکنی پشتیبانی می‌کنند. یک پنجره پر همچنان کندتر و گران‌تر برای خواندن است، پس مدیریت همچنان اهمیت دارد. به همین دلیل است که استفاده کارآمد از context window اهمیت دارد، مهم نیست چقدر بزرگ شود.

قانون تصمیم، در یک جدول

یک جدول. کپی کنید.

وضعیتدستور
یک کار تمام شد، شروع یک کار غیر مرتبط/clear
باید روی همان کار طولانی ادامه دهید، فضا تنگ است/compact
می‌خواهید خلاصه چیز خاصی را نگه دارد/compact <instructions>
چیزها کند به نظر می‌رسند، مطمئن نیستید چه چیزی پنجره را می‌خورد/context
اشتباه رفتید، می‌خواهید کد یا مکالمه را undo کنید/rewind
نیاز به بازگرداندن مکالمه قبلی دارید/resume
می‌خواهید قبل از پاک کردن سابقه‌ای داشته باشید/export
همان حقیقت هر جلسه دوباره توضیح داده می‌شوداز طریق /memory در CLAUDE.md بگذارید
کار بزرگ مستقل که thread را پر کردهبه یک subagent واگذار کنید

به طور پیش‌فرض /clear را انتخاب کنید. فقط وقتی تداوم داخل یک کار موضوع اصلی است /compact را انتخاب کنید. وقتی چیزها کند می‌شوند /context را اجرا کنید، چون اگر سرورهای MCP و skill ها مشکل هستند، هیچ مقداری فشرده کردن چت آن را درست نمی‌کند.

سوالات متداول

باید /clear یا /compact را بیشتر استفاده کنم؟

/clear، با فاصله زیاد. عادت اعلام‌شده تیم Claude Code، که در r/ClaudeCode و یک یادداشت LinkedIn از jdfiscus بازتاب یافته، پاک کردن در تکمیل کار و نگه داشتن /compact برای ماندن داخل یک کار طولانی است. چت‌های طولانی که به فشرده‌سازی مکرر تکیه می‌کنند در هر دور جزئیات را از دست می‌دهند.

آیا /clear مکالمه‌ام را حذف می‌کند؟

نه. /clear یک پنجره تازه شروع می‌کند اما مکالمه قبلی را دست نخورده و از طریق /resume قابل دسترسی می‌گذارد. هیچ چیز حذف نمی‌شود.

می‌توانم فشرده‌سازی خودکار را خاموش کنم؟

نه. فشرده‌سازی خودکار وقتی مکالمه به حد نزدیک می‌شود اجرا می‌شود و هیچ تنظیمی برای غیرفعال کردن آن وجود ندارد. راه حل این است که قبل از رسیدن به آنجا به طور آگاهانه پاک یا فشرده کنید.

/compact واقعاً چه چیزی را از دست می‌دهد؟

جزئیات کلمه به کلمه. خروجی‌های دقیق ابزار، dump های طولانی فایل، و متن دقیق قبلی در خلاصه له می‌شوند. یک compact کور می‌تواند جزئیاتی که نیاز داشتید را از دست بدهد، به همین دلیل /compact <instructions> هدایت‌شده یا یک handoff markdown از پیش‌فرض بهتر است.

چطور ببینم چه چیزی context مرا پر می‌کند؟

/context (یا /context all) را اجرا کنید. یک شبکه رنگی از مصرف توکن بر اساس دسته‌بندی نشان می‌دهد: خواندن فایل‌ها، CLAUDE.md، حافظه، skill ها، تعریف‌های MCP، خروجی hook، و مکالمه، با راهنمایی‌های بهینه‌سازی.

قوانین را کجا بگذارم تا از ریست جان سالم به در ببرند؟

CLAUDE.md، ویرایش شده از طریق /memory. CLAUDE.md پروژه و حافظه بعد از /clear دوباره بارگذاری و بعد از /compact دوباره تزریق می‌شوند، پس تنها context ای هستند که تضمیناً باقی می‌مانند.

دیگر اجازه ندهید context شما پوسیده شود

پنجره پر می‌شود چه آن را مدیریت کنید چه نکنید. تنها سوال این است که آیا عمداً آن را کوتاه می‌کنید یا می‌گذارید یک auto-compact در میانه فکر آن را برای شما انجام دهد.

به طور پیش‌فرض بین کارها /clear کنید. از /compact با دستورالعمل داخل یک کار استفاده کنید. وقتی کند می‌شود /context را اجرا کنید، حقایق پایدار را به CLAUDE.md وارد کنید، و برای کارهای سنگین به subagent ها تکیه کنید. این کل انضباط است.

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

Brainy به طراحان کمک می‌کند از هوش مصنوعی بدون از دست دادن حرفه استفاده کنند. ببینید برای سازندگان چه می‌سازیم.

Brainy helps designers put AI to work without losing the craft. See what we are building for creators.

Get Started

More from Brainy Papers

Keep reading