Stateless

Stateless یعنی Model هیچ حافظه‌ی دائمی نداره و هر بار فقط با اطلاعاتی که داخل Context دریافت می‌کنه کار می‌کنه و اگه بخوای چیزی بین Session ها حفظ بشه، باید خودت اون رو جایی ذخیره کنی.

Stateless یعنی یه سیستم هیچ چیزی رو از قبل یادش نمی‌مونه.

مدل ها ذاتا Stateless هستن. یعنی هر Model Provider Request براشون مثل اولین درخواسته. هیچ مموری از درخواست قبلی ندارن و فقط همون Context Windowـی رو می‌بینن که همون لحظه براشون ارسال شده.

به خاطر همین، Harness مجبور میشه قبل از هر درخواست بیاد دوباره کل Context رو برای مدل بفرسته. در واقع مدل چیزی رو به خاطر نمیاره و فقط هر بار دوباره همون اطلاعات رو از اول می‌خونه.

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

یه اشتباه رایج اینه که فکر کنیم مدل از اصلاحاتی که انجام دادیم، میتونه چیزی یاد بگیره. مثلا بعضیا انتظار دارن امروز به ایجنت بگن که همیشه از فلان الگوی خاص برای کدنویسی استفاده کنه و بعد فردا انتظار دارن که ایجنت خودش اون حرف دیروز رو یادش باشه و بره ازون فلان الگو پیروی کنه.

و خب این اتفاق هیچ‌وقت نمیفته چون موقع Inference هیچ تغییری داخل Parameters ایجاد نمیشه.

اگرم بعضی وقتا حس می‌کنی که مدل وسط یه Session یه سری چیزها رو یادشه، دلیلش این نیست که حافظه داره بلکه فقط و فقط Harness تاریخچه‌ی مکالمه رو نگه داشته و هر بار دوباره براش ارسال می‌کنه.

اگه هم می‌خوای چیزی بین Sessionهای مختلف حفظ بشه، باید بیای اون اطلاعات رو یه جایی سیو کنی که Harness دفعه‌ی بعد بتونه دوباره داخل Context قرارش بده.

و اصلا فایل‌هایی مثل AGENTS.md یا Memory System دقیقا برای همین ساخته شدن.