Prompt ve Bağlam
Prompt ve bağlam, büyük dil modelleri (LLM) için prompt mühendisliğinin temel kavramlarıdır.
Bağlam, prompt'un kritik öneme sahip bir bileşenidir; LLM'nin doğru, ilgili ve yararlı yanıtlar üretme kapasitesini belirler. Etkili prompt mühendisliği büyük ölçüde, modern LLM'lerin kısıtlamalarını aşarken doğru bağlamı toplayıp filtreleme, yapılandırma ve modele doğru anda sunma sanatından ibarettir.
Prompt Tanımı
Prompt (İng. prompt) — LLM'ye yanıt üretmesi için sağlanan eksiksiz girdi kümesidir. Bu yalnızca bir soru ya da komut değil, şunları içerebilen yapılandırılmış bir metindir:
- Talimatlar: Modele ne yapması gerektiği, hangi biçim, üslup veya tonda yanıt vermesi gerektiğine dair doğrudan yönergeler.
- Ana İstek (Query): Kullanıcının doğrudan sorusu veya temel görevin açıklaması.
- Bağlam: İsteğin doğru şekilde yerine getirilmesi için gereken ek bilgi.
- Örnekler (Few-shot examples): Benzer görevlerde istenen yanıt biçiminin veya üslubunun gösterimi.
Prompt'un kalitesi ve bütünlüğü, LLM yanıtının ilgililiğini, doğruluğunu ve yararlılığını doğrudan belirler.
Bağlam Tanımı
Prompt mühendisliği çerçevesinde bağlam, modelin görevi, durumun özelliklerini veya kullanıcının beklentilerini daha iyi anlamasına yardımcı olan, ancak modelin özgün eğitim verilerinin parçası olmayan, prompt içindeki her türlü bilgidir. Bağlam, yeterli bir yanıt üretmek için gereken durumsal ayrıntıları sağlar.
Bağlam şunları içerebilir:
- Önceki diyalog geçmişi (sohbet botlarında).
- Dış kaynaklardan (belgeler, veri tabanları, web sayfaları) elde edilen veriler — RAG'ın temeli.
- Kullanıcı bilgisi (profil, tercihler).
- Mevcut görev veya duruma ilişkin özgül ayrıntılar.
- Benzer görevlerin nasıl yerine getirileceğine dair örnekler (few-shot prompting'in bir parçası olarak).
Prompt'ta sağlanan bağlamı, modelin ön eğitimi sırasında edindiği genel bilgiden ayırt etmek önemlidir. Prompt mühendisliği, tam olarak durumsal bağlamın etkili biçimde sağlanmasına odaklanır.
İlişki ve Etki
Prompt ve bağlam, transformer'ların çalışmasındaki temel kavramlardır; modelin girdi verilerini nasıl algıladığını ve sonucu neye dayanarak ürettiğini belirlerler. Mimari açıdan transformer, "prompt" ile "bağlam"ı ayrıca birbirinden ayırt etmez — her ikisi de embedding'lere dönüştürülen, konum bilgisiyle zenginleştirilen ve öz-dikkat katmanları tarafından toplu olarak işlenen giriş token dizisinin parçalarıdır.
Prompt ve bağlam birbirinden ayrılmaz biçimde bağlıdır: bağlam, prompt'un ayrılmaz bir parçasıdır.
- Bağlam prompt'u oluşturur: Mühendis, prompt'a dahil etmek üzere ilgili bağlamı seçer ve yapılandırır.
- Bağlam modeli yönlendirir: Sağlanan bilgi, LLM'nin olası yanıtlar uzayını daraltmasına, ilgili yönlere odaklanmasına ve halüsinasyonlardan kaçınmasına olanak tanır.
- Bağlamın kalitesi yanıtın kalitesini belirler: Yetersiz, alakasız veya çelişkili bağlam; yanlış, genel ya da hatalı yanıtlara yol açar. Doğru ve eksiksiz bağlam ise üretimin özgüllüğünü ve yararlılığını artırır.
- Talimatların yorumlanmasına etkisi: Bağlam, prompt'taki genel talimatların yorumlanmasını netleştirebilir veya değiştirebilir.
Prompt'un etkinliği büyük ölçüde mühendisin ilgili bağlamı ne ölçüde başarılı biçimde toplayıp filtreleyebildiğine ve modele sunabildğine bağlıdır.
Bağlam Türleri
Bağlam farklı ölçütlere göre sınıflandırılabilir:
Kaynağa göre:
- Kullanıcı tarafından sağlanan: Kullanıcının doğrudan girdisi, sorusu veya görev açıklaması.
- Diyalog geçmişinden: Kullanıcının ve asistanın önceki mesajları (kısa süreli bellek).
- Çekilen (Retrieved): RAG aracılığıyla dış kaynaklardan (belgeler, veri tabanları, web) elde edilen veriler.
- Profilden/bilgi tabanından: Kullanıcı veya alan hakkında uzun süreli bilgi.
- Statik/Talimat içerikli: Mühendis tarafından prompt şablonuna yerleştirilen bilgi (talimatlar, örnekler, rol tanımları).
Dinamizme göre:
- Statik bağlam: Prompt'un değişmeyen kısmı (talimatlar, tanımlar, örnekler). Genel görevi tanımlar.
- Dinamik bağlam: İstekten isteğe değişen bilgi (kullanıcı verileri, RAG sonuçları, geçerli saat). Özgül ayrıntılar sağlar.
Saklama süresine göre (Bellek):
- Kısa süreli bağlam: Mevcut diyalog oturumunun geçmişi.
- Uzun süreli bağlam: Kullanıcı veya önceki etkileşimler hakkında kaydedilmiş veriler; saklama ve çekme mekanizmaları gerektirir.
Bağlam Yönetimi
Etkili bağlam yönetimi, özellikle LLM'nin bağlam penceresi kısıtlamaları göz önüne alındığında, prompt mühendisliğinin temel görevidir. Başlıca yöntemler:
- RAG: Büyük bilgi hacmiyle çalışmak için en yaygın kullanılan yöntem. Geniş bir bilgi tabanından yalnızca en ilgili parçaları dinamik olarak bulup prompt'a dahil etmeye olanak tanır. Vektör veri tabanı ve etkili arama mekanizmaları (sözcüksel veya anlamsal) gerektirir.
- Parçalama (Chunking): Büyük belgelerin, RAG aracılığıyla indekslenmesi ve sonradan çekilmesi amacıyla anlamsal olarak bağlantılı veya sabit boyutlu parçalara bölünmesi.
- Özetleme (Sumarization): Uzun diyalog geçmişinin veya hacimli belgelerin, sınırlı bağlam penceresi içinde temel anlamı iletmek üzere sıkıştırılması.
- Bellek Yönetimi (Memory Management): Sohbet botlarında ve ajanlarda diyalog geçmişini depolamak ve çekmek için çeşitli stratejilerin kullanılması (örneğin LangChain'de ConversationBufferMemory, ConversationSummaryBufferMemory).
- Kayan Pencere (Sliding Window): Bağlamda yalnızca son N diyalog mesajının tutulması.
- Filtreleme ve Önceliklendirme: Son prompt'un derlenmesinden önce bağlam parçalarının önemine göre (örneğin arama sırasında verilen ilgililik puanları yardımıyla) en ilgili olanlarının seçilmesi.
Prompt Mühendisliğinde Bağlamın Rolü
- İlgililiğin Artırılması: Bağlam, modelin kullanıcının isteğine ve durumuna tam olarak karşılık gelen yanıtlar üretmesine olanak tanır.
- Halüsinasyonların Azaltılması: Olgusal bilginin (RAG aracılığıyla) sağlanması, modeli gerçek bilgilere dayanmaya zorlar; bu sayede bilgi uydurmanın önüne geçilir.
- Kişiselleştirme: Kullanıcıya ilişkin bağlam (tercihler, geçmiş), yanıtların uyarlanmasına olanak tanır.
- Durum Yönetimi: Diyaloglarda ve çok adımlı süreçlerde bağlam (geçmiş), modelin önceki adımlar hakkında sürekliliğini ve farkındalığını sağlar.
- Modelin Bilgi Kısıtlamalarının Aşılması: RAG, modelin eğitiminden sonra gerçekleşen olaylara veya özgül/gizli verilere ilişkin sorulara yanıt vermesine imkân tanır.
Kısıtlamalar
- Bağlam Penceresi Sınırı: Modern modellerde 1-2 milyon token'a kadar artmış olmasına karşın, bu hacimlerin işlenmesi pahalı ve yavaş olabilir. Etkili sıkıştırma ve seçim stratejileri (RAG, özetleme) gerektirir.
- İlgili Bağlamın Bulunması: RAG'ın etkinliği, arama kalitesine bağlıdır. Yanlış çekilen bağlam modeli yanıltabilir ("çöp girdi - çöp çıktı").
- "Kayıtsızlık Vadisi" (Valley of Meh): Çok uzun bir prompt'un ortasına yerleştirilen bilgi, model tarafından görmezden gelinebilir. Prompt'un yapılandırılmasını gerektirir (örneğin "sandviç tekniği").
- Bağlam Enjeksiyonu Riski: Bağlam güvenilmez kaynaklardan (örneğin web sayfalarından) çekiliyorsa zararlı talimatlar (prompt enjeksiyonları) içerebilir.
Ayrıca bakınız
- Büyük dil modelleri
- Bağlam penceresi
- Vektör veri tabanları
- LangChain
Literatür
- Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Kojima, T. et al. (2022). Large Language Models are Zero-Shot Reasoners. arXiv:2205.11916.
- Chen, S. et al. (2023). Extending Context Window of Large Language Models via Positional Interpolation. arXiv:2306.15595.
- Schick, T. et al. (2023). Toolformer: Language Models Can Teach Themselves to Use Tools. arXiv:2302.04761.
- Besta, M. et al. (2023). Graph of Thoughts: Solving Elaborate Problems with Large Language Models. arXiv:2308.09687.
- Packer, C. et al. (2023). MemGPT: Towards LLMs as Operating Systems. arXiv:2310.08560.
- Wang, Y. et al. (2023). Self-Instruct: Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.
- Sahoo, P. et al. (2024). A Systematic Survey of Prompt Engineering in Large Language Models: Techniques and Applications. arXiv:2402.07927.
- Kim, S. H. et al. (2024). Theanine: Revisiting Memory Management in Long-term Conversations with Timeline-augmented Response Generation. arXiv:2406.10996.
- Chen, S. et al. (2024). StruQ: Defending Against Prompt Injection with Structured Queries. arXiv:2402.06363.
- Zhong, M. et al. (2024). Understanding the RoPE Extensions of Long-Context LLMs: An Attention Perspective. arXiv:2406.13282.
- Han, H. et al. (2025). Retrieval-Augmented Generation with Graphs (GraphRAG). arXiv:2501.00309.
- Self-Instruct (2025). Aligning Language Models with Self-Generated Instructions. arXiv:2212.10560.