Sade anlatım
Uzun bir çalışma oturumu modelin penceresini doldurur: mesajlar, okunan dosyalar, araç sonuçları, çıkmaz sokaklar. Compaction, ipin ucunu kaçırmadan masayı toplamaktır. O ana kadarki geçmiş, önemli olanı (alınan kararları, mevcut durumu ve kalan işleri) koruyan bir özete indirilir; oturum özetten, yeniden çalışacak yer açılmış halde devam eder.
Neden önemli
Ajanların, her pencereyi taşıracak bir görev üzerinde saatlerce çalışabilmesini compaction sağlar. Aynı zamanda bilginin bilerek atıldığı bir noktadır; bu yüzden kalitesi önemlidir: tek bir kısıtı düşüren bir özet, o kısıtı sonradan kendinden emin biçimde çiğneyen bir ajan üretir. Uzun ajan oturumları çalıştıran herkes compaction'ın ne zaman gerçekleştiğini ve neyi koruduğunu bilmelidir.
Örnek
Bir kodlama ajanı iki saattir bir modülü yeniden düzenliyor ve bağlamının yüzde 90'ı dolu. Sistem sıkıştırma yapıyor: 180.000 token'lık geçmiş, değiştirilen dosyaları, tasarım kararlarını, başarısız iki testi ve sıradaki adımı listeleyen 4.000 token'lık bir özete dönüşüyor. Ajan, hâlâ ihtiyaç duyduğu üç dosyayı diskten yeniden okuyarak devam ediyor.
Bununla en çok karıştırılan kavram
Compaction ve Truncation (kırpma) arasındaki fark
Kırpma, pencere dolunca en eski mesajları atar: ucuzdur ve içlerindeki her şeyi kaybeder; dikkat etmezseniz ilk talimatları da. Compaction ise önce geçmişi yoğunlaştırmak için bir model çağrısı harcar. Daha pahalıdır, ama ipi koparmaz.
Teknik katman
Bir token eşiğinde ya da alt görevler arasındaki doğal duraklarda tetiklenir. Özeti bir model, neyin korunacağına dair talimatlarla yazar: hedefler ve kısıtlar, gerekçeleriyle kararlar, mevcut durum, açık işler ve yeniden getirilebilecek dosya ya da kayıtlara referanslar. Daha hafif türleri yalnızca eskimiş araç sonuçlarını kaldırır, diyaloğu korur (context editing). Ödünleşimler: özetler ayrıntı kaybeder ve hata ekleyebilir; geçmişi değiştirmek prompt cache'i geçersiz kılar. Tamamlayıcı teknikler: compaction'dan etkilenmeyen dış notlar ya da bellek dosyaları ve keşif işini baştan ana bağlamın dışında tutan alt ajanlar.