Attention Budget

هر Token ظرفیت محدودی برای توجه داره و هرچی Context شلوغ‌تر بشه، پیدا کردن و دنبال کردن دستورهای مهم برای مدل سخت‌تر میشه.

هر Token یه مقدار محدود attention داره که باید بین بقیه Tokenهای داخل Context پخشش کنه.

یعنی یه Token نمی‌تونه به همه چیز با قدرت یکسان توجه کنه. اگه روی یه ارتباط خیلی تمرکز کنه، طبیعتاً برای بقیه ارتباط‌ها attention کمتری باقی می‌مونه.

نکته مهم اینه که این مقدار توجه ثابت می‌مونه.

مثلا شما فرض کن که دستورت رو با صدای بلند داخل یه اتاق گفتی.

وقتی اتاق خلوت باشه، خب همه راحت صداتو می‌شنون.

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

خب برای Model هم دقیقا همینه.

دستورت هنوز داخل Context هست و حتی یه کاراکترش هم حذف نشده، ولی چون هزاران Token جدید وارد شدن، مدل دیگه سخت‌تر می‌تونه روی اون تمرکز کنه.

به همین دلیل ممکنه اول چت به مدل بگی همیشه جواب‌ها رو فارسی بده و مدل هم قبول کنه ولی بعد از ۵۰ تا مسج، یهو یه جواب انگلیسی بده یا حالا اون قانونی که بهش گفتی رو رعایت نکنه.

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

به این اتفاق میگن Attention degradation .

خیلی وقت‌ها هم وقتی همون دستور رو دوباره Paste می‌کنی، مدل دوباره درست عمل می‌کنه.

دلیلش اینه که اون دستور دوباره به انتهای Context اضافه شده و الان سیگنالش دوباره تقویت شده.

به همین خاطرم هست که توی Agentic Coding یکی از مهم‌ترین کارها مدیریت Context هست.

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