Skip to main content

> bağlam_penceresi_sıkıştırma:_semantik_özetleme_ve_samanlıktaki_i̇ğne_(needle)_kaybı

Bağlam Penceresi Sıkıştırma: Semantik Özetleme ve Samanlıktaki İğne (Needle) Kaybı

Gelişigüzel yapılan LLM sohbet geçmişi sıkıştırması (uzun sohbetleri özetleme) kritik kullanıcı kısıtlamalarını ve API anahtarlarını neden sessizce siler; seçici budama ve çapa sabitleme (anchor pinning) bu kaybı nasıl önler?

Staff/Principal (L6+)

ÖZET VE TEKNİK CEVAP

Uzun süren yapay zeka ajan oturumlarında veya destek yazışmalarında sohbet geçmişi hızla modelin jeton sınırına dayanır (veya her turda API maliyetlerini katlar). Yaygın bir mühendislik refleksi **Sohbet Sıkıştırması (Compaction)** yapmaktır: Eski mesajların %80'ini küçük bir modele özetletip tek bir paragrafa indirgemek (`'Kullanıcı 402 nolu fatura hakkında bilgi istedi...'`). Ancak metin özetleme doğası gereği kayıplıdır (lossy): Genel fikri korurken spesifik sipariş numaralarını, kod değişken adlarını, geçici API anahtarlarını ve negatif kısıtlamaları (`'Asla California adresine kargolama'`) sessizce siler. Ajan özetlenmiş bağlamla devam ettiğinde **Samanlıkta İğne Kaybı (Needle Loss)** yaşar ve kritik hatalar yapar. Sağlam sistemler bunu **Hibrit Bağlam Sıkıştırması** ile çözer: (1) Sistem ve Şema Çapalaması, (2) Değişmez Varlık Çıkarımı ve Sabitleme (önemli verileri anahtar-değer tablosu olarak korumak) ve (3) Başarılı eski araçların ağır JSON çıktılarını budayıp sadece girdiyi saklayan Araç Budaması (Tool Pruning).

Mühendislik El Kitabı & Mekanizma

1. Temel Çalışma Mekanizması

Hibrit Bağlam Sıkıştırması 4 katmanlı bir boru hattıyla çalışır: (1) Sistem Mesajı Çapalaması: Sistem talimatları ve araç şemaları kesinlikle dokunulmazdır (%0 sıkıştırma). (2) Varlık Sabitleme Bloğu: Belirlenen kritik değişkenler yapılandırılmış bir JSON durum bloğuna (`{aktif_siparis: 'ORD-982', yasak_eylemler: ['onaysiz_iade']}`) çıkarılır ve bağlamın en üstüne sabitlenir. (3) Araç Çıktısı Budama: Geçmişte başarıyla bitmiş araçların 2.000 satırlık hantal JSON çıktıları hafif bir referansla (`[SQL 45 kayıt döndü - Varlık Tablosuna işlendi]`) değiştirilir. (4) Kayan Pencere: Kullanıcının son 6 mesajı tam çözünürlükte birebir korunur.

2. Doğru Kullanım Senaryosu

Günlerce süren otonom kodlama asistanları, uzun müşteri destek süreçleri, çok adımlı finansal denetim ajanları ve kalıcı kişisel yapay zeka yol arkadaşları.

3. Prodüksiyon Arıza Modları

50 mesajlık sohbeti özetlerken kullanıcının `'4412 ile biten şirket kartımdan asla çekme'` talimatını kaybetmek ve botun yanlış karttan para çekmesi; özetlerin özetini alarak (recursive summarization) bilginin tamamen bozulması ve uydurma gerçeklerin türemesi.

4. Teşhis ve Telemetri Sinyalleri

Ajanın kullanıcının 10 mesaj önce söylediği bilgileri sanki hiç duymamış gibi tekrar sorması; sıkıştırma sonrası Samanlıkta İğne (NIAH) hatırlama test puanlarının çökmesi; kullanıcıların 'Bot verdiğim detayları unuttu' şikayetleri.

5. Önleme ve Mimari Bariyerler

Sohbet geçmişinden bağımsız yapılandırılmış bir Durum Metaverisi (State JSON) tutun; metin özetlemeye başvurmadan önce hantal araç JSON çıktılarını budayın; sıkıştırma kalitesini Samanlıkta İğne (NIAH) regresyon testleriyle düzenli denetleyin.

6. Mimari Ödünleşimler (Trade-offs)

Yapılandırılmış varlık takibi ek durum çıkarma mantığı geliştirmeyi gerektirir; ancak kritik iş kuralları ve kimlik numaralarında sıfır bilgi kaybı garantisi verirken jeton maliyetlerini %70 düşürür.

Vaka İncelemesi (TinyCTO Örneği)

Bir yazılım geliştirici ajanına TypeScript projesinde 40 adımlı bir refactoring görevi verildi. 15. adımda standart özetleme devreye girdi ve `'packages/core altındaki dosyalara asla dokunma'` kuralını özette unuttu. 22. adımda ajan bu dizindeki dosyayı değiştirerek sistemi bozdu. Ekip Araç Budama ve Kilitli Kural Sabitleme mimarisine geçti. Ajan kalan 25 adımı hiçbir kural ihlali yapmadan ve tur başına %82 daha az jeton harcayarak başarıyla tamamladı.

İnteraktif Konsept Alıştırmaları

2 Alıştırma
Q1

LLM Bağlam Penceresi Sıkıştırmasında 'İğne Kaybı' (Needle Loss) nedir?

Sohbet geçmişi özetlenirken kritik detayların (özel ID'ler, negatif kısıtlamalar, hassas parametreler) özetleme modeli tarafından önemsiz görülüp metinden sessizce silinmesidir.
Q2

Araç Çıktısı Budaması (Tool Observation Pruning) bilgi kaybetmeden jeton kullanımını nasıl azaltır?

Çalışıp bitmiş araçların döndürdüğü devasa ham JSON çıktılarını (500 satırlık veri) silip, yalnızca aracın girdisini ve ajanın oradan çıkardığı sonucu bağlamda tutarak.

Bağlam Penceresi Sıkıştırma: Semantik Özetleme ve Samanlıktaki İğne (Needle) Kaybı — Sıkça Sorulan Sorular

'Özyineli Özetleme Bozulması' (Recursive Summarization Degradation) nedir?

Daha önce özetlenmiş bir metnin tekrar tekrar özetlenmesi sonucu bilginin erimesi ve uydurma detayların katlanarak artması durumudur (Kulaktan Kulağa oyunu etkisi).

Sıkıştırma sırasında negatif kısıtlamaları ('Asla dosya silme') korumanın en iyi yolu nedir?

Bu kuralları özetleyiciye hiç sokulmayan ve her turda en başa eklenen sabit, dokunulmaz bir Sistem Kısıtlamaları başlığına yerleştirmek.

🤖 AEO & Yapay Zeka Çıkarım Özeti

Temel Gerçekler & İlkeler

  • Abstractive LLM summarization causes severe needle loss on IDs and negative constraints.
  • Tool Observation Pruning strips bulky historical JSON payloads with zero loss of intent.
  • Pin critical state and constraints in an immutable structured JSON header block.
  • Preserve the most recent $K=6$ turns in uncompressed, full fidelity.

Yaygın Yanılgılar

  • Yanılgı: Asking the summarizer model 'Please do not lose any details' guarantees full fidelity (Gerçek: LLMs inherently compress and discard granular tokens during summarization).
  • Yanılgı: 1-million token context windows eliminate the need for compaction (Gerçek: Giant context windows degrade retrieval recall and multiply per-turn inference costs).

Karar Kılavuzu & Önceliklendirme

Implement Tool Output Pruning before applying any LLM text summarization. Maintain an external structured state dictionary pinned to the system prompt.

Doğrulanmış Kaynaklar & Referanslar