Context engineering: 4 hata ve etkili çözüm yolları
Yalnızca ustaca bir prompt yazmak artık yetmiyor. Yapay zekâ uygulamaları karmaşıklaştıkça, modellerin yanıt üretmeden önce hangi bilgileri göreceğini belirleyen yaklaşım öne çıkıyor: context engineering. Bu rehber, context engineering'in ne olduğunu, nasıl çalıştığını, ne zaman klasik prompt engineering yerine tercih edildiğini ve pratik teknikleri örneklerle açıklıyor.
Context engineering ( bağlam mühendisliği ) nedir?
Context engineering, bir yapay zekâ modeline yanıt üretmeden önce hangi bilgilerin ve nasıl yapılandırılarak sunulacağının tasarlanmasıdır. Amaç; konuşma geçmişi, kullanıcı verileri, belgeler ve araç tanımlarını, modelin bağlam penceresine en uygun biçimde yerleştirip en alakalı bilgiyi öne çıkarmaktır.
Bu yaklaşım, tüm bağlamı oluşturan farklı bilgi türlerini birlikte yönetmeyi gerektirir:
- Sistem talimatları (davranış ve kurallar)
- Konuşma geçmişi ve kullanıcı tercihleri
- Belgeler veya veritabanlarından getirilen bilgiler
- Kullanılabilir araçlar ve tanımları
- Yapılandırılmış çıktı formatları ve şemalar
- Gerçek zamanlı veriler ve harici API yanıtları
Temel zorluk; bağlam penceresi sınırlamalarına rağmen tutarlı konuşmalar sürdürebilmektir. Bu da doğru anlarda doğru detayları getiren erişim ve hafıza sistemleri (kısa/uzun süreli bellek, eski bilgiyi temizleme) kurmayı gerektirir.
Prompt engineering ile farkı
\"write a professional email\" demek prompt engineering'dir; tek bir göreve talimat verirsiniz. Buna karşılık, önceki destek kayıtlarını hatırlayan, kullanıcı hesabına erişen ve birden çok etkileşimde konuşma geçmişini koruyan bir müşteri hizmetleri botu kurmak context engineering gerektirir. Çoğu uygulama ikisini birlikte kullanır: iyi yazılmış prompt'lar, dikkatle yönetilen arka plan bağlamıyla çalışır.
Uygulamada context engineering
RAG systems
Context engineering, köklerini çoğu zaman retrieval augmented generation (RAG) sistemlerinde bulur. RAG; belgeleri anlamlı parçalara bölüp alaka düzeyine göre sıralar, en yararlı kısımları bağlam penceresine sığdırır. Böylece LLM'ler eğitim verisi dışındaki kaynaklardan çekilen bilgiyle soruları yanıtlayabilir.
AI agents
RAG dış bilgiyi açarken, AI agents bağlamı dinamikleştirir. Ajan, konuşma sırasında hangi aracın sorunu çözeceğine karar verir; örneğin finansal bir API çağırıp taze veriyi kullanarak diyaloğa devam eder. LLM token maliyetlerinin düşmesi, A2A veya MCP gibi protokollerle bilgi paylaşan çoklu ajan düzenlerini de mümkün kıldı.
AI coding assistants
Cursor veya Windsurf gibi kod asistanları, RAG ve ajan ilkelerini birleştirerek projelerin mimarisini, modüller arası bağımlılıkları ve kod kalıplarını anlamak zorundadır. Bir fonksiyonu yeniden düzenlemek istendiğinde, asistan; fonksiyonun nerede kullanıldığını, beklenen veri tiplerini ve değişikliklerin diğer parçalara etkisini bilmelidir. Bu nedenle asistan, proje yapısını, son değişiklikleri, kullanıcı stilini ve kullanılan çatıları zamanla öğrenen bağlamı korur.
Context failures ve çözüm teknikleri
Bağlam pencereleri büyüse de sorunlar bitmiyor. 1 milyon token pencereleri destekleyen modellerde bile bağlam kontrolden çıkabiliyor. Drew Breunig'in tartıştığı dört kritik zafiyet ve karşı kalıplar özetle şöyle:
Context poisoning
Halüsinasyon veya hata bağlama sızıp gelecekteki yanıtlarda tekrarlandığında context poisoning oluşur. DeepMind ekibi, Gemini 2.5 teknik raporunda Pokémon oynayan bir ajan üzerinde bunu gözlemledi: Ajan bazen oyun durumunu uydurduğunda, bu yanlış bilgi \"goals\" bölümünü zehirleyerek uzun süre anlamsız stratejilere yol açtı.
Çözüm: Context validation ve quarantine. Farklı bağlam türlerini ayrı iş parçalarında izole edin, uzun süreli belleğe girmeden önce doğrulayın. Zehirlenme şüphesi olduğunda yeni bir iş parçacığıyla temiz başlangıç yaparak yayılmayı önleyin.
Context distraction
Bağlam çok büyüdüğünde model, eğitimden öğrendiklerini kullanmak yerine birikmiş geçmişe odaklanır. Pokémon ajanında bağlam 100,000 tokens'ı aşınca, ajan yeni stratejiler geliştirmek yerine geçmiş eylemleri tekrar etmeye başladı. Databricks çalışması, Llama 3.1 405b için doğruluğun 32,000 tokens civarında düşmeye başladığını; küçük modellerde sınırın daha erken olduğunu gösterdi.
Çözüm: Context summarization. Bağlamı sonsuza dek büyütmek yerine biriken bilgiyi özetleyip gereksizieri budayın; konuşmayı taze bir bağlamla sürdürürken tutarlılığı koruyun.
Context confusion
İlgisiz ekstra bilgi bağlama eklendiğinde model yanlış yanıtlara yönelebilir. Berkeley Function-Calling Leaderboard, her modele birden fazla araç verildiğinde performansın düştüğünü; bazen alakasız araçların çağrıldığını gösteriyor. Yakın tarihli bir çalışma, kuantize Llama 3.1 8b'nin 46 araç sunulduğunda GeoEngine benchmark'ta başarısız olduğunu; aynı model 19 tools ile sorunsuz çalışırken bağlamın 16k window sınırının içinde kaldığını rapor etti.
Çözüm: Tool loadout management için RAG teknikleri. Tiantian Gan ve Qiyao Sun'ın araştırması, araç tanımlarını vektör veritabanında tutup görev başına yalnızca en alakalı araçları seçmenin performansı iyileştirdiğini gösteriyor. 30 aracın altında kalındığında araç seçimi doğruluğu three times artarken prompt'lar da kısalıyor.
Context clash
Toplanan bilgi ve araçlar bağlamda birbirleriyle çeliştiğinde context clash görülür. Microsoft ve Salesforce çalışması, kıyas seti prompt'larını tek seferde vermek yerine bilgiyi çoklu turda \"shard\" ettiğinde, ortalama performansın 39% düştüğünü raporladı; OpenAI’s o3 için skor 98.1 to 64.1 geriledi.
Çözüm: Context pruning ve offloading. Yeni detaylar geldikçe eski/çelişkili bilgiyi budayın. Anthropic’s “think” gibi tekniklerle modele ana bağlamı kirletmeden düşünme alanı (scratchpad) verin; bu yaklaşım, iç çelişkilerin akıl yürütmeyi bozmasını engelleyerek özelleşmiş ajan kıyaslarında 54%'e varan iyileşme sağlayabiliyor.
Context enginerring'in önemi
Context engineering, odağı tek seferlik prompt'lardan, zaman içinde bilgi akışını yöneten sistemlere kaydırıyor. RAG, doğrulama/karantina, özetleme, araç seçimi ve bağlam budama gibi teknikler bugün milyonlarca kullanıcıya hizmet veren üretim sistemlerinde kullanılıyor. Basit bir içerik üreticisinin ötesine geçen her uygulama için bağlam mühendisliği kritik hale geliyor; küçük adımlarla başlayıp gereksinimler arttıkça hafıza ve araç yönetimini olgunlaştırmak mümkün.