مدل چهار لایهی حافظه در Claude Code
خلاصهٔ کاملتر
آلبرتو آرنا تو پست قبلیش نوشته بود CLAUDE.md مثل رَمه: اول هر سشن کامل لود میشه و تا آخر رزیدنت میمونه، پس هر خطش هزینهی هر تِرنه. راهحل اون موقع دو طبقه بود — CLAUDE.md فقط برای چیزهای همیشگی مثل استک، دستورها و اصول تغییرناپذیر، و بقیه تو docs/. حالا میگه از وقتی اسکیلهای سفارشی وارد کار شدن، این تقسیمبندی کم میاره و باید به چهار لایه گسترش پیدا کنه.
به گفتهی نویسنده ایراد مدل قبلی تو خودِ سؤالش بود: «هر تِرن لازمه یا فقط بعضی وقتا؟». چون دو جور «بعضی وقتا» وجود داره. یه رول مسیرمحور وقتی لود میشه که مسیر فایلی که Claude باز کرده با گلاب توش جور دربیاد — قطعی و قابل پیشبینی. ولی یه اسکیل وقتی فایر میشه که Claude توضیح تسک رو با اسم و توضیح اسکیل تطبیق بده، و این احتمالیه؛ معمولاً میگیره، گاهی هم نه.
لایهی دوم فایلهای .claude/rules/*.md هستن که تو فرانتمتر کلید paths: دارن، و آرنا اونا رو جایگزین تمیزتر ترفند CLAUDE.md تودرتو میدونه: گلاب میتونه درخت پوشهها رو قیچی کنه و همهی رولها هم یه جا جمعن. اگه paths: رو ننویسی، فایل موقع لانچ با همون اولویت CLAUDE.md لود میشه — یعنی مکانیزم لایه رو تعیین نمیکنه، رفتار لود شدن تعیین میکنه.
---
paths:
- "app/Domains/**/*.php"
---
# Domain layer rulesلایهی سوم اسکیلهاست. فقط اسم و توضیح هر اسکیل از اول تو یه لیست حاضره که بودجهاش حدود ۱٪ کانتکسته، برای همین سی تا اسکیل خیلی ارزونتر از سی پاراگراف تو CLAUDE.md درمیاد. ولی بهمحض فایر شدن، کل بدنهی SKILL.md میاد تو کانتکست و تا آخر سشن با همون هزینهی هر تِرن میمونه. نویسنده میگه بعد از /compact هم فقط ۵۰۰۰ توکن اول هر اسکیل، اون هم تو یه سقف مشترک ۲۵۰۰۰ توکنی، زنده میمونه.
دو چیز اسکیل رو از رَم و دیسک جدا میکنه: میتونه اسکریپت همراه داشته باشه که کدش هیچوقت وارد کانتکست نمیشه و فقط خروجیش میاد، و با disable-model-invocation: true کلاً از لیست بیرون میاد تا فقط دستی صدا زده بشه. جمعبندی نویسنده اینه که گذاشتن یه رویه یا اسکریپت پشت تریگر اسکیل مشکلی نداره، ولی یه اصل تغییرناپذیر نباید اونجا بشینه؛ چون اگه یه بار فایر نشه، اون قانون بیصدا اعمال نشده.
نکات کلیدی:
- CLAUDE.md لایهی یکه: همیشه لود میشه و بعد از /compact دوباره تزریق میشه
- رولهای .claude/rules/*.md با paths: فقط وقتی فایل منطبق خونده شه لود میشن
- فایر شدن اسکیل احتمالیه، پس اصول تغییرناپذیر رو نباید پشتش گذاشت
- allowed-tools باعث میشه اسکیل پروژه رو مثل فایل تنظیمات ریویو کنی، نه مثل یه داک
- @docs/DESIGN.md داخل CLAUDE.md ایمپورته نه اشارهگر؛ ارجاع متنی ساده روی دیسک میمونه




