Compaction
Compaction یعنی تبدیل یه Session طولانی به یه خلاصهی کوتاه تا اطلاعات مهم حفظ بشن، Context خلوت بشه و مدل بتونه با کیفیت بهتری ادامه کار رو انجام بده.
Compaction یعنی قبل از اینکه یه Session تموم بشه، مدل یه خلاصه از اطلاعات مهمش میسازه و همون خلاصه رو به Session بعدی منتقل میکنه.
یعنی برخلاف Clearing که همهچیز رو دور میریزه، Compaction سعی میکنه فقط چیزهای مهم رو نگه داره و بقیه رو حذف کنه.
دلیلش هم اینه که Context Window محدودیت داره.
هرچی بیشتر با مدل کار میکنی، خروجی Toolها، فایلهایی که خونده، تلاشهای ناموفق و کلی اطلاعات شاید بدرد نخور دیگه داخل Context جمع میشن.
و خب بعد از یه مدت این Context اونقدر شلوغ میشه که کیفیت جوابها کم میشه.
اینجاست که Compaction وارد عمل میشه.
مدل کل Session رو میخونه، یه خلاصه از نکات مهم مینویسه، بعد Session جدید فقط با همون خلاصه شروع میشه و بقیه تاریخچه کنار گذاشته میشه.
البته ممکنه این وسط یه سری جزئیات مهم موقع خلاصه شدن حذف بشن و دیگه داخل Context جدید وجود نداشته باشن.
بعضی سیستمها برای حل این مشکل، تاریخچه کامل رو روی دیسک نگه میدارن و داخل خلاصه یه Context pointer هم قرار میدن تا اگه بعداً به یه جزئیات نیاز شد، دوباره بشه رفت سراغ Primary source.
یه نکته باحال اینه که خود مدل این خلاصه رو مینویسه پس میتونی بهش بگی چه چیزهایی حتما داخل خلاصه بمونن و خب اینطوری احتمال اینکه اطلاعات مهم از بین برن خیلی کمتر میشه.
زمان انجام Compaction هم مهمه و بهتره وقتی یه مرحله از پروژه تموم شده انجامش بدی.