Uzun süreli AI ajanları için bağlam mühendisliği
Uzun süreli AI ajanlarının bağlam taşmasını ve hedef kaybını önlemek için bütçeler, sıkıştırma ve işaretçilerle ajan çerçevesi düzeyinde bağlam mühendisliğine ihtiyacı vardır.

Bu sayfada
Uzun süreli ajanlar, sohbet botlarından çok bellek baskısı altındaki işletim sistemlerine benzer şekilde başarısız olur. Sorun çoğu zaman kötü bir cevap gibi görünmeden önce bağlam taşması veya hedef kaybı olarak ortaya çıkar. Arize’ın bağlam yönetimi analizi, bağlam penceresi taşması üzerine arXiv makalesi ve Redis ile Atlan’ın rehberliğinde görülen ortak desen, ajan çerçevesinin konuyu iki tanıdık belirti etrafında ele almasıdır. İlki, modelin kullanılabilir penceresinin tükenmesi anlamına gelen bağlam taşmasıdır; ikincisi ise görevin teknik olarak hâlâ dökümde bulunmasına rağmen ajanın bir sonraki hamlesini artık yönlendirmediği hedef kaybıdır.
Bu çerçeveleme, ajan geliştiricilerinin açık biçimde belgelediği deneyimlerle örtüşüyor. Arize’ın ajan çerçevelerinde bağlam yönetimi analizi, önemli sorunun artık yalnızca bir prompt’a neyin girdiği değil, ajan çerçevesinin bağlamı zaman içinde nasıl yönettiği olduğunu savunuyor. Bu da hangi durumun yakında tutulacağına, hangi verinin daha sonra sayfalara ayrılarak içeri alınacağına, hangi çıktıların sıkıştırılacağına ve hangi araç çağrılarının bağlam penceresine hiçbir zaman tam boyutuyla girmeyeceğine karar vermek anlamına geliyor.
Bağlam mühendisliği değişimi
Bölüme bağlantı: Bağlam mühendisliği değişimiBirlikte ele alındığında Arize’ın analizi, bağlam penceresi taşması üzerine arXiv makalesi, Redis’in üretim açıklayıcısı ve Atlan’ın çerçeve mühendisliği karşılaştırması, ajan tasarımında pratik bir değişime işaret ediyor. Uzun süre çalışan ajanlar artık modelin bağlam penceresinin boyutundan çok, onun etrafındaki kontrol katmanına göre değerlendiriliyor. Arize bu değişimi somutlaştırıyor. Pi, OpenClaw, Claude Code ve Letta dahil olmak üzere yayınlanmış ajan araçlarını ve bellek/ajan çerçevesi sistemlerini, çerçeve düzeyinde bağlam mühendisliği örnekleri olarak adlandırıyor ve 200K token’lık bir pencerenin nasıl dolduğunu gösteren etkileşimli bir simülatörü tarif ediyor.
Alıntılanan kaynaklarda herkese açık ayrıntılar eşit düzeyde değil. Arize; Pi, OpenClaw, Claude Code ve Letta için somut uygulama sayıları veriyor. AI ajanlarında bağlam penceresi taşmasını çözme üzerine bir araştırma makalesi, herhangi bir pratik pencereyi aşabilecek araç çıktılarını ele almak için daha genel bir mekanizma sunuyor. Redis’in bağlam penceresi taşması açıklaması, üretimdeki belirtileri özetliyor: sert API hataları, sessiz kalite düşüşü, araç çıktısı birikimi ve prompt’lar büyüdükçe uzayan gecikme. Atlan’ın prompt, bağlam ve çerçeve mühendisliği karşılaştırması ise kullanışlı yığın metaforunu sağlıyor: prompt mühendisliği mesajı şekillendirir, bağlam mühendisliği modelin ne gördüğünü şekillendirir, çerçeve mühendisliği ise tüm ajan ortamını şekillendirir.
Önemli haber, bağlam pencerelerinin çok küçük olması değil. Geliştiriciler bunu zaten biliyor. Daha faydalı nokta, alıntılanan ajan sistemlerinin, döküm güvenilir bir gerçeklik kaynağı olmaktan çıktıktan sonra işi canlı tutan dört ajan çerçevesi mekanizmasında birleşiyor olmasıdır.
Mekanizma 1: model herhangi bir şeyi görmeden önce katı bütçeler
Bölüme bağlantı: Mekanizma 1: model herhangi bir şeyi görmeden önce katı bütçelerYüzeysel bir ajan dosyaları okur, araçları çağırır, sonucu ekler ve modelin bununla başa çıkabileceğini umar. Çerçeve öncelikli bir ajan ise büyük girdileri modele ulaşmadan önce engeller veya yeniden şekillendirir.
İlk sınır setini okumanın daha temiz bir yolu şudur:
- Pi: dosya okumaları 2.000 satırda veya 50KB’da, hangisine önce ulaşılırsa orada durur. Döndürülen içerik, modele hangi satır aralığının gösterildiğini ve
offsetilelimitkullanarak nasıl devam edeceğini söyleyen bir devam ipucu içerir. OpenClaw bu davranışı devralır, ardından ayrı sınırlar ekler: bootstrap dosyaları dosya başına 12.000 karakter ve toplamda 60.000 karakterle sınırlıdır. Araç sonuçları için de 16.000 karakter veya bağlam penceresinin %30’u olmak üzere, hangisi daha küçükse o kadar ek bütçe ayrılır.
Claude Code iki kapılı bir tasarım kullanır. Arize’a göre bir dosyayı açmadan önce 256KB bayt sınırını kontrol eder, ardından okuma sonrasında sonucu 25.000 token’lık bütçeye göre token sayar. Sınırın altındaki dosyalar için bile varsayılan olarak baştan 2.000 satır döndürür ve 2.000 karakterden uzun satırları kırpar. Model aynı dosya aralığını yeniden okursa ve dosya değişmemişse, Claude Code tam içeriği tekrarlamak yerine bir stub döndürebilir.
Bu yalnızca optimizasyon değildir. Hata biçimini değiştirir. Tek bir büyük okumanın görevi arka plana itmesine izin vermek yerine, ajan çerçevesi “her şeyi oku” isteğini “kontrollü bir dilim oku” haline getirir. Modelin daha fazlasına ihtiyacı varsa bunu isteyebilir. Sıfırdan ajan çerçeveleri tasarlayan geliştiriciler için ilk savunma hattı budur: ham harici verinin varsayılan olarak dökümün kendisine dönüşmesine asla izin verme.
Mekanizma 2: sayfalama, arama ve yönetilen görünümler
Bölüme bağlantı: Mekanizma 2: sayfalama, arama ve yönetilen görünümlerSonraki desen, bağlamı depolama alanı gibi değil, bir görüntü alanı gibi ele almaktır.
Pi ve Claude Code, sayfalamayı offset ve limit üzerinden sunar. OpenClaw bazı yerlerde baş/son kırpması ekler; ortanın daha az önemli olma ihtimali olduğunda başlangıcı ve sonu korur. Arize, OpenClaw’ın aşırı büyük bootstrap dosyaları için %75 baş / %25 son bölünmesi kullandığını ve araç sonuçlarında da son bölüm önemli görünüyorsa, örneğin hatalar, kapanış JSON parantezleri veya özet benzeri anahtar kelimeler varsa, hem başı hem de sonu tutabildiğini söylüyor.
Letta, dosyaları prompt’un dışında yaşatarak daha da ileri gider. Yüklenen dosyalar ayrıştırılır, parçalara bölünür ve bir vektör deposuna embedding olarak eklenir; böylece ajan doğrudan görüntüleme, tam arama ve anlamsal arama yapabilir. Bir dosya bağlamda açık olduğunda Letta, boyutu model bağlamıyla ölçeklenen yönetilen bir görünüm gösterir: 8K bağlam için 5.000 karakter, 32K için 15.000, 128K için 25.000 ve 200K+ için 40.000. Aynı anda açık dosya sayısı da küçük modellerde 3’ten çok büyük modellerde 15’e kadar ölçeklenir; en son erişilmeyen dosyaları çıkaran bir LRU politikası kullanılır.
Bu, üretim RAG sistemlerinin arkasındaki aynı tasarım fikridir: tüm külliyatı prompt’a tıkıştırma; önemli kısmı getir. Fark şu ki ajan çerçeveleri bunu dosyalar, araç çıktıları, bellek ve ara planlar genelinde sürekli yapmak zorundadır. Aynı kısıt RAG sistemleri için de geçerlidir: retrieval yalnızca alaka düzeyiyle ilgili değildir; gerçek akıl yürütme adımı için yeterli bağlam bütçesini korumakla da ilgilidir.
Redis benzer bir noktaya değinir: daha büyük bağlam pencereleri bağlam yönetimi ihtiyacını ortadan kaldırmaz. System prompt’lar, getirilen belgeler, konuşma geçmişi ve araç çıktıları aynı alan için rekabet eder. Sert bir sınıra ulaşılmadan önce bile, ilgili bilgi uzun girdilerin içine gömüldükçe modellerin kalitesi düşebilir.
Mekanizma 3: görevi koruyan sıkıştırma
Bölüme bağlantı: Mekanizma 3: görevi koruyan sıkıştırmaTaşma bariz hatadır. Hedef kaybı daha sessizdir. Ajan hâlâ cevap verecek alana sahiptir, ancak asıl amacı unutur, bir kısıtı kaçırır veya yerel bir alt görevi optimize etmeye başlar.
Sıkıştırmanın önemli olduğu yer burasıdır. Kötü yapıldığında özetleme, dağınık ama sadık bir geçmişi düzenli fakat kayıplı bir hikâyeyle değiştirir. İyi yapıldığında ise görev durumunu, yakın tarihli çalışmayı, bekleyen maddeleri ve araç çağrısı bütünlüğünü korur.
Arize’ın aktardığına göre Pi, tahmini bağlam token’ları bağlam penceresinden ayrılmış token’lar çıkarıldıktan sonra kalan sınırı aştığında sıkıştırmayı tetikler; varsayılan rezerv 16.384 token’dır. En yeni yaklaşık 20.000 token’ı korur ve daha eski içeriği, korunan kuyruğun başına eklenen sentetik bir kullanıcı mesajı halinde özetler. Ayrıca araç çağrısı/araç sonucu çiftlerini kesmekten kaçınır.
OpenClaw daha agresif bir geçmiş politikası ekler. Geçmiş bağlam penceresinin %50’sini aştığında mesajları eş kütleli token parçalarına böler, en eski parçayı atar, atılan içeriği aşamalı çok geçişli özetleme ile özetler ve araç çağrısı/sonuç eşleşmesini onarır. Ayrıca sıkıştırma öncesi bir flush yapar: sessiz bir agentic tur, geçmiş kaybolmadan önce ajana durumu bellek dosyalarına kalıcı hale getirme şansı verir. Ayrı olarak, 5 dakikalık cache TTL üzerinde soft-trim ve hard-clear davranışıyla bellekteki araç sonuçlarını budar.
Claude Code pencerenin sonuna yakın sıkıştırır. Arize, tetikleyicisinin etkin bağlam penceresinden 13.000 token’lık tampon çıkarılması olduğunu söylüyor; bu da 200K bağlamlı bir model için sıkıştırmayı yaklaşık 167K token civarına koyuyor. Özetleme prompt’u; birincil istek, teknik kavramlar, dosyalar ve kod, hatalar ve düzeltmeler, problem çözme, kullanıcı mesajları, bekleyen görevler, mevcut çalışma ve sonraki adımı kapsayan yapılandırılmış bölümler ister. Sıkıştırmadan sonra, token bütçesi içinde yakın zamanda okunmuş en fazla 5 dosyayı yeniden iliştirebilir.
Desen net: sıkıştırma “sohbeti özetlemek” değildir. Checkpoint almaktır. Uzun süre çalışan bir ajanın kayıt dosyasının eşdeğerine ihtiyacı vardır: hedef, kısıtlar, kararlar, açık tutamaçlar, yakın tarihli kanıtlar ve bir sonraki eylem.
Mekanizma 4: ham araç çıktıları yerine işaretçiler
Bölüme bağlantı: Mekanizma 4: ham araç çıktıları yerine işaretçilerBazı çıktılar bağlam penceresine hiçbir zaman yerleştirilmemelidir.
arXiv makalesi bunu bir malzeme bilimi iş akışıyla somutlaştırıyor. Bir araç, bir molekül için elektronik ızgara yapısı üretir: 128 × 128 × 128 boyutlarında, toplam 2.097.152 float32 öğeden oluşan 3D matris. Bu çıktı, yaygın kullanılan LLM’lerin bağlam penceresini fazlasıyla aşar. Ancak sonraki aracın girdisi olarak ızgaraya ihtiyacı vardır.
Önerilen çözüm, büyük değerleri model bağlamının dışında saklamak ve kısa tanımlayıcılar, yani işaretçiler döndürmektir. Araç sarmalayıcıları girdileri inceleyerek bunların ham değer mi yoksa bellek yolu mu olduğunu görür. Çok büyük çıktılar runtime belleğinde bir yol altında saklanır ve sonraki araçlar işaretçiyi alıp bunu içeride çözümleyebilir. Model referansları işlerken ajan çerçevesi verinin tamamını korur. Makaleye göre, iki yöntemin de başarılı olduğu karşılaştırmalı bir deneyde işaretçi tabanlı yaklaşım geleneksel iş akışına kıyasla yaklaşık yedi kat daha az token kullandı.
Bu, akıl yürütme ile veri taşıma arasındaki en temiz ayrımdır. Modelin 2 milyon öğelik bir matrisi başka bir araca geçirmek için onu “görmesi” gerekmez. Matrisin var olduğunu, neyi temsil ettiğini ve sıradaki hangi işlemin onu tüketmesi gerektiğini bilmesi yeterlidir.
Aynı mantık bilimsel dizilerin ötesinde de geçerlidir. Büyük JSON yanıtları, PDF’ler, log’lar, embedding’ler, medya dosyaları ve veritabanı dışa aktarımları çoğu zaman prompt’ta değil depolamada yer almalıdır. MCP araçları veya özel API connector’ları etrafında kurulan sistemlerde işaretçi aktarımı, ilk taşmadan sonra yapılan bir yama değil, birinci sınıf bir tasarım tercihi olmalıdır.
Büyük bağlam pencereleri neden hâlâ dolar?
Bölüme bağlantı: Büyük bağlam pencereleri neden hâlâ dolar?200K token’lık bir bağlam penceresi, ajan harekete geçene kadar büyük hissettirir. Bir system prompt, araç tanımları, birkaç getirilen belge, dosya okumaları, log’lar, hata izleri ve özetler beklenenden hızlı tüketebilir. Pratik çerçeve, pencerenin kâğıt üzerinde ne kadar büyük göründüğü değil, ajanların runtime sırasında onu ne kadar hızlı harcadığıdır. Redis’in ajan belleği rehberliği, çağrılar boyunca kalması gereken durum için harici ve dayanıklı belleğe işaret ederken Atlan’ın bağlam mühendisliği çerçevesi daha iyi prompt’ları daha iyi bağlam derlemesinden ayırır. Birlikte ele alındığında, bağlam penceresini bir depodan çok sınırlı bir çalışma kümesi gibi değerlendirirler.
Daha derin ders şudur: bağlam penceresi kıt bir runtime kaynağıdır. Onu “bellek” olarak görmek faydalıdır, ancak yalnızca ajan çerçevesi bir işletim sistemi gibi davranırsa: ayırır, çıkarır, sayfalar, sıkıştırır, tekilleştirir ve kalıcı hale getirir. Atlan’ın katman ayrımı burada kullanışlıdır. Prompt mühendisliği, bir dosya okuyucunun bir sonraki çağrıya 80.000 alakasız token dökmesini düzeltemez. Bağlam mühendisliği çalışma kümesini iyileştirebilir. Çerçeve mühendisliği ise bu çalışma kümesinin en başta korunup korunmadığına karar verir.
Bu durum ekiplerin ajanları nasıl değerlendirmesi gerektiğini de değiştirir. Bir demo prompt’u yeterli değildir. Uzun süreli değerlendirme; büyüyen dökümleri, tekrarlanan dosya okumalarını, büyük araç çıktılarını, başarısız araç çağrılarını, sıkıştırmadan sonra devam etmeleri ve doğru sonraki adımın erken bir kısıta bağlı olduğu görevleri içermelidir. Ajanlar için bağlam mühendisliği rehberimiz bu sorunun model tarafındaki versiyonunu ele alıyor; ajan çerçevesi katmanı ise bunun operasyonel hale geldiği yerdir.
Geliştiriciler şimdi ne yapmalı?
Bölüme bağlantı: Geliştiriciler şimdi ne yapmalı?İlk olarak, her bağlam kaynağına bütçe koy. Dosyalar, araç çıktıları, getirilen parçalar, bellek eklemeleri ve konuşma geçmişinin her birinin açık sınırları olmalıdır. Tek bir global maksimum token sayısı fazla kaba kalır.
İkinci olarak, kırpmayı eyleme dönüştürülebilir hale getir. Ajan çerçevesi içeriği kesiyorsa model hangi aralığı gördüğünü ve daha fazlasını nasıl isteyeceğini bilmelidir. Sessiz kırpma, reddetmeden daha kötüdür çünkü eksik veri üzerinde kendinden emin çalışma üretir.
Üçüncü olarak, düzyazı etrafında değil durum etrafında sıkıştır. Özetler kullanıcının hedefini, kısıtlarını, kararlarını, bekleyen görevleri, dokunulan dosyaları, önemli araç sonuçlarını ve hemen sonraki adımı korumalıdır. Araç çağrısı çiftleri bozulmadan kalmalıdır.
Dördüncü olarak, büyük değerleri prompt’un dışına taşı. Onları sakla, adlandır ve araçlar arasında işaretçiler geçir. Bu özellikle API çağıran, belge işleyen veya çok ajanlı sistemleri koordine eden ajanlar için önemlidir.
Son olarak, hedef kaybını taşmadan ayrı test et. Bir ajan sert pencerenin altında kalıp yine de yoldan sapabilir. Doğru soru yalnızca “API prompt’u kabul etti mi?” değildir. “Bir sonraki eylem hâlâ asıl göreve hizmet ediyor mu?” sorusudur.
Aşağıdaki özet, bu desenleri FAQ’dan önce hızlı bir kontrol listesine dönüştürür.
Öne çıkanlar
Bölüme bağlantı: Öne çıkanlar- Uzun süreli ajanlar hem bağlam taşması hem de hedef kaybı yoluyla başarısız olur; bu yüzden ajan çerçevesi prompt uzunluğundan fazlasını yönetmelidir.
- Üretimdeki ajan sistemleri, ham veri modele ulaşmadan önce dosyalar, araç çıktıları ve geçmiş üzerinde katı bütçeler kullanır.
- Sayfalama, arama ve yönetilen görünümler bağlamı kalıcı depolama yerine sınırlı bir görüntü alanı olarak ele alır.
- Sıkıştırma en iyi checkpoint alma olarak çalışır: hedefleri, kısıtları, kararları, bekleyen işleri ve araç çağrısı bütünlüğünü korur.
- Büyük araç çıktıları çoğu zaman prompt’ta tam değerler olarak yer almak yerine, araçlar arasında kısa işaretçilerle aktarılan harici depolamada bulunmalıdır.
Bu bölüm, uzun süreli ajanlar için bağlam mühendisliğinin arkasındaki pratik soruları yanıtlar: ne taşar, hedefler nasıl kaybolur ve hangi ajan çerçevesi desenleri işi yolunda tutar.
AI ajanlarında bağlam taşması nedir?
Bölüme bağlantı: AI ajanlarında bağlam taşması nedir?Bağlam taşması, bir ajanın birikmiş prompt’u, geçmişi, getirilen verisi, dosyaları ve araç çıktıları modelin kullanılabilir bağlam penceresini aştığında veya sert sınıra ulaşılmadan önce kaliteyi düşürdüğünde gerçekleşir.
Uzun süreli bir ajanda hedef kaybı nedir?
Bölüme bağlantı: Uzun süreli bir ajanda hedef kaybı nedir?Hedef kaybı, orijinal görev dökümün bir yerinde hâlâ bulunmasına rağmen ajanın bir sonraki eylemini artık yönlendirmediğinde, çoğu zaman uzun geçmişlerden veya kötü özetlemeden sonra gerçekleşir.
Ajan çerçeveleri bağlam taşmasını nasıl azaltır?
Bölüme bağlantı: Ajan çerçeveleri bağlam taşmasını nasıl azaltır?Kaynak başına bütçeler belirler, dosya okumalarını sayfalar, yalnızca ilgili görünümleri getirir, geçmişi durum etrafında sıkıştırır, tekrarlanan okumaları tekilleştirir ve büyük çıktıları prompt’un dışında saklarlar.
İşaretçiler araç çıktıları için neden kullanışlıdır?
Bölüme bağlantı: İşaretçiler araç çıktıları için neden kullanışlıdır?İşaretçiler, modelin matrisler, log’lar veya PDF’ler gibi runtime belleğinde saklanan büyük değerlere referans vermesini sağlar; aşağı akıştaki araçlar ise tam veriyi bağlam penceresine yerleştirmeden çözümler.
Daha büyük bağlam pencereleri uzun süre çalışan ajanlar için yeterli mi?
Bölüme bağlantı: Daha büyük bağlam pencereleri uzun süre çalışan ajanlar için yeterli mi?Hayır. Daha büyük pencereler yardımcı olur, ancak system prompt’lar, araç tanımları, getirilen belgeler, log’lar ve geçmiş hâlâ alan için rekabet eder; ilgili bilgiler sert sınıra ulaşılmadan önce gömülebilir.