iyiblog

YAYINLANDI

Context Engineering: Yapay Zekâya Ne Söylediğinizden Çok, Neyi Gösterdiğiniz Önemli

Context engineering ile yapay zekânın karar vereceği bilgi ortamını tasarlayın; doğru veriyi seçmeyi, yapılandırmayı ve gerektiğinde yenilemeyi örneklerle öğrenin.

D

Daimon

Jul 15, 2026 · 8 min read

Context engineering (bağlam mühendisliği), bir yapay zekâ sisteminin doğru karar verebilmesi için ihtiyaç duyduğu talimatları, verileri, araçları ve geçmişi doğru zamanda seçip düzenleme işidir.

Bir yapay zekâya kusursuz görünen bir istek yazabilirsiniz. Yine de model müşterinizi tanımıyorsa, son kararı bilmiyorsa, güncel veriye ulaşamıyorsa veya hangi aracı kullanabileceğini görmüyorsa sonuç zayıf kalır. Çünkü model yalnızca ne söylediğinizle değil, karar anında önünde ne bulunduğuyla çalışır.

Context engineering tam olarak bu çalışma masasını düzenler. Amaç modele mümkün olan her şeyi göstermek değildir. Amaç, o anda verilecek kararı değiştirecek kadar doğru bilgiyi; anlaşılır, güncel ve güvenli bir biçimde erişilebilir kılmaktır.

Prompt bir istektir. Context ise modelin o isteği yorumladığı dünyadır.

Context engineering nedir?

Türkçede “bağlam mühendisliği” diyebileceğimiz context engineering, modelin bir görevi tamamlarken göreceği bilgi ortamını tasarlama disiplinidir. Bu ortam yalnızca kullanıcı mesajından oluşmaz. Sistem talimatları, örnekler, belgeler, konuşma geçmişi, kullanıcı tercihleri, araç açıklamaları ve aracın döndürdüğü sonuçlar da bağlamın parçalarıdır.

Bu yüzden iyi bir yapay zekâ uygulamasında asıl soru yalnızca “Prompt nasıl yazılmalı?” değildir. Şunları da sormak gerekir:

  • Model bu kararı verirken hangi bilgiyi gerçekten bilmeli?
  • Bu bilgi nereden gelecek ve ne kadar güncel olacak?
  • Hangi sırayla, hangi biçimde ve ne kadar ayrıntıyla gösterilmeli?
  • Hangi bilgi güvenlik veya mahremiyet nedeniyle hiç gösterilmemeli?
  • Bağlam büyüdüğünde neyi özetlemeli, neyi saklamalı, neyi atmalıyız?

Context engineering, bu soruların tek seferlik değil sistematik biçimde cevaplanmasıdır.

Context window ile aynı şey değil

Context window, modelin tek seferde işleyebildiği toplam bilgi kapasitesidir. Context engineering ise bu kapasitenin nasıl kullanılacağıdır. Büyük bir masaya sahip olmakla o masayı iyi düzenlemek arasındaki fark gibi düşünebilirsiniz.

Daha büyük bağlam penceresi faydalıdır; uzun belgeler, geniş kod tabanları ve çok adımlı konuşmalar için alan açar. Fakat kapasite tek başına kalite sağlamaz. Kritik bir karar, yüzlerce sayfalık ilgisiz metnin arasında gömülüyse model onu kaçırabilir. Eski bir belge güncel bilgiyle çelişiyorsa hangisine güveneceğini bilemeyebilir.

Bu nedenle iyi context engineering’in temel ilkesi şudur:

En fazla bağlam ≠ En iyi bağlam

En iyi bağlam = Kararı etkileyen, güvenilir, güncel ve iyi yapılandırılmış bilgi

Modelin çalışma masasındaki beş katman

Bağlamı tek bir uzun metin gibi düşünmek yerine katmanlara ayırmak tasarımı kolaylaştırır.

1. Amaç ve talimatlar

Model ne yapıyor, kimin için yapıyor ve başarı neye benziyor? Kalıcı davranış kuralları, görev tanımı, çıktı biçimi ve öncelikler bu katmanda bulunur. Intent engineering yönü belirler; context engineering bu yönün modelin önünde doğru biçimde kalmasını sağlar.

2. Göreve özel veriler

İncelenecek sözleşme, müşteri kaydı, ürün kataloğu, hata mesajı veya araştırma notu gibi mevcut iş için gerekli bilgiler bu katmandadır. Her kullanıcıya aynı veriyi vermek yerine yalnızca o göreve uygun parçalar seçilmelidir.

3. Durum ve geçmiş

Önceki mesajlar, alınmış kararlar, tamamlanan adımlar ve devam eden işlemler modelin nerede olduğunu anlamasını sağlar. Fakat bütün geçmiş eşit derecede değerli değildir. “Müşteri yıllık planı seçti” kalıcı bir karar olabilir; bu karara giderken yapılan on mesajlık beyin fırtınası ise özetlenebilir.

4. Araçlar ve yetkiler

Bir ajan arama yapabiliyor, dosya düzenleyebiliyor veya takvime etkinlik ekleyebiliyorsa bu araçların amacı, girişleri ve sınırları da bağlamdır. Model aracın varlığını ya da ne zaman kullanılması gerektiğini bilmiyorsa sahip olduğunuz yetenek pratikte yok demektir.

5. Kanıt ve geri bildirim

Test sonuçları, API cevapları, kaynak alıntıları ve doğrulama kontrolleri modelin kendi varsayımını gerçek dünyayla karşılaştırmasını sağlar. Bu katman özellikle ajanlarda önemlidir: Model yalnızca bir eylem üretmemeli, eylemin sonucunu da görüp bir sonraki kararını buna göre vermelidir.

Zayıf bağlamdan güçlü bağlama

Bir destek asistanına şu isteğin geldiğini düşünün:

Bu müşteriye cevap ver: “İadem neden hâlâ gelmedi?”

Model kibar bir cevap yazabilir, fakat gerçek durumu bilmez. Sipariş numarası, ödeme yöntemi, iadenin hangi aşamada olduğu ve şirket politikası olmadan verdiği cevap ya belirsiz olur ya da bilgi uydurma riski taşır.

Güçlü bir bağlam paketi ise şöyle görünebilir:

GÖREV
Müşterinin iade gecikmesi hakkındaki mesajına Türkçe cevap hazırla.

MÜŞTERİ DURUMU
- Sipariş: #1842
- İade onayı: 10 Temmuz 2026
- Ödeme yöntemi: kredi kartı
- Bankaya aktarım: tamamlandı
- Bugün: 15 Temmuz 2026

İLGİLİ POLİTİKA
Kredi kartı iadeleri bankaya aktarıldıktan sonra 3–7 iş günü içinde görünür.

SINIRLAR
- Kesin ulaşma tarihi verme.
- Müşteriden zaten sahip olduğumuz bilgileri yeniden isteme.
- Kart numarası veya başka hassas veri yazma.

TESLİM
Önce mevcut durumu açıkla, sonra beklenen süreyi belirt ve süre aşılırsa izlenecek adımı söyle.

Buradaki iyileşme daha süslü bir prompttan gelmez. Model artık doğru cevabı kurabilmek için gereken gerçekleri ve sınırları görür.

Statik ve dinamik bağlam

Her bilgiyi aynı şekilde taşımak doğru değildir. Bağlamı iki gruba ayırmak faydalıdır:

  • Statik bağlam: Marka dili, güvenlik kuralları, ürün tanımı ve çıktı standardı gibi seyrek değişen bilgiler.
  • Dinamik bağlam: Stok durumu, bugünkü tarih, kullanıcının son işlemi, canlı API sonucu ve görev ilerlemesi gibi her istekte değişebilen bilgiler.

Statik bilgileri temel talimatlarda tutabilirsiniz. Dinamik bilgileri ise ihtiyaç anında kaynağından getirmek gerekir. Altı ay önce prompt içine kopyalanmış fiyat listesi bağlam değildir; giderek büyüyen bir hata kaynağıdır.

RAG ve hafıza bu resmin neresinde?

Retrieval-Augmented Generation (RAG), büyük bir bilgi kaynağından soruyla ilgili parçaları bulup modele sunar. Context engineering’in önemli araçlarından biridir, fakat tamamı değildir. Arama sistemi doğru parçayı bulsa bile bağlamın sıralanması, kaynakların belirtilmesi, çelişkilerin yönetilmesi ve gereksiz içeriğin elenmesi hâlâ tasarlanmalıdır.

Hafıza ise geçmişten gelecekte işe yarayacak bilgiyi taşır. Kullanıcının tercih ettiği dil veya devam eden projenin adı kalıcı olabilir. Bir önceki konuşmadaki her cümleyi sonsuza kadar saklamak ise pahalı, gürültülü ve mahremiyet açısından risklidir.

Pratik ayrım şöyledir:

  • Bilgi kurumsal bir kaynakta bulunuyorsa gerektiğinde geri getirin.
  • Bilgi kullanıcıya veya sürece ait kalıcı bir tercihse izinli biçimde hatırlayın.
  • Bilgi yalnızca mevcut adım için gerekliyse iş bitince bırakın.

Kod yazan ajanlarda bağlam neden kritiktir?

Bir kod ajanına yalnızca hata mesajını göstermek çoğu zaman yetmez. Doğru düzeltme; mimariye, çağrı zincirine, testlere, çalışma ağacındaki değişikliklere ve projenin kurallarına bağlıdır. Aynı hata metni iki farklı projede tamamen farklı nedenlerden doğabilir.

Örneğin “ödeme sonrası sipariş oluşmuyor” görevi için yararlı bağlam şunları içerebilir:

  • İlgili route, servis ve veri modeli arasındaki çağrı zinciri
  • Başarısız test ile beklenen davranış
  • Son deploy’dan bu yana değişen ilgili dosyalar
  • Ödeme sağlayıcısının gerçek webhook örneği
  • “Çift sipariş oluşturma” gibi korunması gereken değişmezler
  • Ajana verilen dosya düzenleme, test çalıştırma ve dış sistem yetkileri

İyi bir ajan bunların hepsini başlangıçta dev bir mesaja doldurmak zorunda değildir. Önce kod haritasını görür, ilgili çağrı yolunu bulur, sonra yalnızca gerekli dosya ve testleri ayrıntılı biçimde açar. Yani bağlam sabit bir paket değil, görev ilerledikçe yönetilen bir bütçedir.

En sık yapılan context engineering hataları

Her şeyi modele vermek

“Belki lazım olur” diyerek bütün dokümantasyonu eklemek kritik bilgiyi görünmez hâle getirir. Her parça için şu testi kullanın: Bu bilgi değişse modelin kararı değişir mi? Cevap hayırsa büyük olasılıkla o anda bağlamda bulunması gerekmez.

Güncelliği ve kaynağı gizlemek

İki veri çeliştiğinde model hangisinin yeni veya güvenilir olduğunu bilmelidir. Mümkün olduğunda kaynağı, tarihi ve geçerlilik kapsamını birlikte taşıyın. “Fiyat 500 TL” yerine “Ürün API’si, 15 Temmuz 2026 10:42: 500 TL” daha güvenli bir bağlamdır.

Talimat ile veriyi birbirine karıştırmak

Dışarıdan getirilen bir web sayfasında “önceki kuralları unut” yazabilir. Bu metin veri olarak işlenmeli, sistem talimatı gibi uygulanmamalıdır. Güvenilmeyen içeriği açık sınırlarla ayırmak prompt injection saldırılarına karşı temel savunmalardan biridir.

Eski kararları taşımaya devam etmek

Proje yön değiştirdiyse eski hedefi konuşma geçmişinde bırakmak çelişkili davranış üretir. Güncel kararı tek bir gerçek kaynakta tutun; geçersiz kararları kaldırın veya açıkça “yerine geçti” diye işaretleyin.

Gizli veriyi yararlı bağlam sanmak

API anahtarları, kart bilgileri ve gereksiz kişisel veriler modele gösterilmemelidir. Modelin bir işlemi yapabilmesi için çoğu zaman sırrın kendisini görmesi gerekmez; yetkili bir aracın işlemi gerçekleştirmesi yeterlidir. Bağlam kalitesi kadar bağlam hijyeni de önemlidir.

Bağlamı hiç ölçmemek

Bir RAG sistemi “ilgili görünen” belgeler getirebilir, fakat cevabı gerçekten iyileştirip iyileştirmediğini test etmeden bunu bilemezsiniz. Hangi kaynağın kullanıldığını, cevabın kanıtla desteklenip desteklenmediğini ve yanlış bağlamın sonucu nasıl etkilediğini ölçün.

Uygulanabilir bir context engineering döngüsü

  1. Kararı tanımlayın: Model tam olarak hangi kararı verecek veya hangi işi tamamlayacak?
  2. Bilgi envanteri çıkarın: Talimatlar, gerçek veriler, geçmiş, araçlar ve kısıtlar nerede?
  3. Seçin: Yalnızca mevcut kararı etkileyen parçaları alın.
  4. Yapılandırın: Talimatı veriden, güncel bilgiyi geçmişten ve güvenilir kaynağı dış içerikten ayırın.
  5. Kaynaklandırın: Bilginin nereden ve ne zaman geldiğini görünür kılın.
  6. Çalıştırın ve gözlemleyin: Modelin hangi bağlamı kullandığını, neyi kaçırdığını ve nerede varsayım yaptığını inceleyin.
  7. Budayın: Fayda sağlamayan içeriği çıkarın; eksik olanı doğru kaynaktan ekleyin.

Bu döngü özellikle aynı görevin tekrarlandığı ürünlerde değerlidir. Tek bir iyi cevap üretmek yerine, doğru bağlamı her seferinde kuran bir sistem tasarlarsınız.

Kopyalayıp kullanabileceğiniz bağlam şablonu

AMAÇ
[Model hangi sonucu üretmeli ve bu sonuç kimin işine yarayacak?]

GÜNCEL DURUM
[Şu an ne biliyoruz, hangi adımlar tamamlandı, bugün hangi tarih?]

İLGİLİ VERİLER
[Kararı değiştiren gerçekler, belgeler veya kayıtlar]

KAYNAKLAR
[Her bilgi nereden geldi ve ne zaman güncellendi?]

KURALLAR VE SINIRLAR
[Kesin talimatlar, güvenlik kuralları, yapılmaması gerekenler]

ARAÇLAR VE YETKİ
[Model hangi araçları ne zaman kullanabilir; ne için onay gerekir?]

ÇIKTI BİÇİMİ
[Beklenen yapı, uzunluk, dil ve hedef kitle]

DOĞRULAMA
[Cevabın doğru ve güncel olduğunu nasıl kontrol edeceğiz?]

Bu şablonu her istekte bütünüyle doldurmanız gerekmez. Basit bir özet görevinde amaç ve belge yeterli olabilir. Canlı veriye dokunan, araç kullanan veya uzun süre çalışan bir ajan içinse güncel durum, yetki ve doğrulama bölümleri vazgeçilmezdir.

Intent engineering ile birlikte düşünmek

Intent engineering ve context engineering birbirinin alternatifi değildir. Intent engineering “Neden ve hangi sonuca doğru?” sorusunu; context engineering ise “Bu sonuca ulaşmak için model şu anda neyi görmeli?” sorusunu cevaplar.

Niyet açık ama bağlam eksikse model doğru hedefe yanlış bilgilerle yürür. Bağlam zengin ama niyet belirsizse elindeki bilgilerle neyi optimize edeceğini bilemez. Güvenilir bir yapay zekâ sistemi ikisini birlikte kurar:

Niyet yönü belirler.
Bağlam karar ortamını kurar.
Araçlar eylemi mümkün kılar.
Doğrulama gerçeğe temas eder.

Son söz

Yapay zekâdan daha iyi sonuç almak için her seferinde daha uzun konuşmanız gerekmez. Bazen yapılacak en iyi iyileştirme yeni bir cümle eklemek değil; eski bir belgeyi kaldırmak, canlı veriyi getirmek, kaynağı belirtmek veya kritik bir kararı görünür hâle getirmektir.

Bir sonraki yapay zekâ işinizi tasarlarken yalnızca “Modele ne söylemeliyim?” diye sormayın. Şunu da sorun: Bu kararı verecek bir ekip arkadaşım olsaydı, masasına hangi belgeleri koyar; hangilerini özellikle kaldırırdım? Context engineering, bu soruya yazılım düzeyinde verilen cevaptır.

Kaynaklar ve ileri okuma

Yeni yazıyı kaçırmayın

Düşünülmüş denemeler ve yapay zekâ notları doğrudan e-postanıza gelsin. Gürültü yok; yalnızca okumaya değer yeni yazılar.

Okumaya devam edin