زیر کاپوت Claude Code: پنج لایهای که یه ایجنت رو میسازن
خلاصهٔ کاملتر
نویسنده تو این مقاله ابزارهای کدنویسی هوش مصنوعی رو از پایین میسازه: از یه مدل زبانی خالی شروع میکنه و لایهبهلایه چیزی شبیه Claude Code درمیاره. حرف اصلیش اینه که وقتی این پنج لایه رو ببینی، رفتارهای عجیب این ابزارها یهو منطقی و قابلپیشبینی میشن.
لایهٔ اول خود مدله. مدل روی توکن کار میکنه — تکههای کلمه — و جوابش رو هم توکنبهتوکن میسازه: هر بار همهچیز قبلی رو میخونه و محتملترین توکن بعدی رو انتخاب میکنه. نویسنده تأکید میکنه که هیچ حافظهٔ ماندگاری بین درخواستها وجود نداره؛ هر چی به اسم «حافظه» میبینی، کار نرمافزار اطرافه که پیامهای قبلی رو دوباره تو پرامپت میذاره.
همین مکانیزم، توهم مدل رو هم توضیح میده. مدل واقعیت رو جستوجو نمیکنه، فقط به ادامهها احتمال میده؛ وقتی چیزی دربارهٔ سیستم تو نمیدونه، باز هم یه ادامهٔ محتمل مینویسه و با همون اطمینان ادامه میده. رایجترین شکلهاش هم فرضهای غلط دربارهٔ کد تو، APIهای منسوخ یا ساختگی، و اعمال کورکورانهٔ الگوهای آشناست.
یه نکتهٔ مهم دیگه: دفترچهٔ پنهانی وجود نداره و استدلال دقیقاً تو همون توکنهای خروجی اتفاق میافته. مدل برای هر توکن تقریباً به یه اندازه محاسبه میکنه، پس نمیتونه «بیشتر فکر کنه» مگه اینکه بیشتر بنویسه. نتیجهش اینه که هر توضیحی بعد از جواب بیاد، توجیه بعد از تصمیمه؛ اگه از ایجنت بپرسی «چرا این کارو کردی؟»، چیزی میسازه که با کانتکست فعلی جور دربیاد، نه بازپخش استدلال اصلی.
لایهٔ دوم پرامپت مونتاژشدهست. چیزی که تو مینویسی ته یه بستهٔ خیلی بزرگتر میشینه: پیام سیستمی، تعریف ابزارها، فایل کانتکست پروژه مثل CLAUDE.md یا AGENTS.md، و کل تاریخچهٔ مکالمه. مدل همهٔ اینها رو یه دنبالهٔ پیوستهٔ توکن میبینه و هیچ بخشی رو ذاتاً متفاوت با بقیه حساب نمیکنه.
لایهٔ سوم فراخوانی ابزاره. مدل همچنان فقط متن تولید میکنه؛ وقتی خروجیش به شکل یه فراخوانی ساختاریافته باشه، نرمافزار میزبان اون رو میگیره، ابزار رو اجرا میکنه و نتیجه رو بهعنوان پیام جدید برمیگردونه تو کانتکست. اینجاست که هزینه ضرب میشه: مدل هر نوبت کل مکالمه رو از نو میخونه، پس ممکنه ۳۰ هزار توکن محتوای تازه در نهایت بیشتر از ۱۰۰ هزار توکن ورودی قابلصورتحساب بشه.
لایهٔ چهارم حلقهٔ ایجنته: همون فراخوانی ابزار، ولی تکرارشونده. مدل وضعیت فعلی رو میبینه، ابزار صدا میزنه، نتیجه برمیگرده و دوباره ارزیابی میکنه؛ حلقه وقتی تموم میشه که مدل بدون فراخوانی ابزار جواب متنی بده. برای اضافه کردن ابزار جدید هم سه راه هست: خط فرمان که سادهترینه، MCP که دسترسی رو محدود و ساختاریافته میکنه، و در آخر یکپارچهسازی مستقیم با API که بیشترین کار رو میبره.
لایهٔ پنجم مدیریت کانتکسته. نویسنده به مستندات آنتروپیک اشاره میکنه که از «پوسیدگی کانتکست» میگه: با زیاد شدن توکنها، دقت و بازیابی افت میکنه و مدلها اطلاعات ابتدا و انتهای کانتکست رو بهتر از وسطش پیدا میکنن. برای همینه که ابزارها اول جستوجو میکنن و بعد میخونن، خروجی ابزارهای قدیمی رو هرس میکنن و تاریخچه رو فشرده میکنن — و برای همینه که دستور مهم باید تو فایل کانتکست پروژه باشه، نه تو پیام اول مکالمه.
نکات کلیدی:
- مدل بین درخواستها حافظه نداره؛ هر «بهخاطر آوردن» کار نرمافزار اطرافه
- استدلال تو خود توکنهای خروجی اتفاق میافته، پس توضیح بعد از تصمیم یعنی توجیه
- پیام تو ته یه پرامپت بزرگ میشینه: سیستمپرامپت، تعریف ابزارها، فایل پروژه و کل تاریخچه
- چون هر نوبت همهچی دوباره خونده میشه، توکن قابلصورتحساب چند برابر محتوای تازهست
- پنجرهٔ کانتکست بزرگتر مساوی نتیجهٔ بهتر نیست؛ کیفیت چیزی که داخلشه مهمتره




