System Prompt
Sistem Mesajı
Sohbetin başında modele verilen kalıcı talimat — modelin rolünü, üslubunu, kurallarını ve sınırlarını belirler.
Bir LLM ile konuşurken aslında iki tür mesaj vardır: system prompt (sistem mesajı) ve user message (kullanıcı mesajı). System prompt, her sohbetin en üstüne yerleştirilen kalıcı talimattır. Model her cevabı verirken onu görür ve dikkate alır.
İçinde şunlar olur: rol tanımı ("Sen bir Türkçe yemek tarifi asistanısın"), kurallar ("yanıtlar maksimum 5 satır"), format ("madde madde yaz"), kısıtlar ("politik konulara girme"), bilgi ("şirket adımız Avva, kuruluş 2018"). Kullanıcı bunu görmez — perde arkasında çalışır.
Modern modeller (Claude, GPT-4) sistem mesajına daha fazla "ağırlık" verir. Aynı talimatı kullanıcı mesajında yazsan model uymayabilir; sistem mesajında yazınca disipline olur.
Yeni bir restoranda işe başlayan garsona menüyü, kıyafet kuralını, "müşteriye 'sen' deme, 'siz' de" şeklindeki kuralları ilk gün anlatırsın. O notlar mesai boyunca aklında kalır. System prompt da öyle — sohbet ne kadar uzarsa uzasın, model "rolüm ne, kurallarım ne" diye sürekli ona bakar.
Bir e-ticaret destek botu kuruyorsun. System prompt:
"Sen Avva müşteri destek asistanısın. Sadece Türkçe yanıt ver.
Sipariş bilgilerini get_order(id) aracıyla al. Asla fiyat indirimi
sözü verme — onun için insan operatöre yönlendir. Maksimum 4 cümleyle
cevapla." Müşteri "merhaba kaç saatte gelir kargo?" derse model
Türkçe, kısa, araç çağırarak yanıt verir. "%50 indirim ver" derse
"sizi temsilcimize aktarıyorum" der. System prompt her turda hatırlatıyor.
from anthropic import Anthropic
client = Anthropic()
SYSTEM = """Sen Avva müşteri destek asistanısın.
Sadece Türkçe yanıt ver. Maksimum 4 cümle.
Asla indirim sözü verme — operatöre yönlendir."""
msg = client.messages.create(
model="claude-sonnet-4-6",
max_tokens=1024,
system=SYSTEM, # <-- kalıcı talimat
messages=[
{"role": "user", "content": "Kargom kaç saatte gelir?"}
],
)
print(msg.content[0].text)
# Model TR, kısa, kuralları takip eden bir yanıt üretir.- Modele rol/persona vermek istediğinde (asistan, hoca, doktor, vs.)
- Çıktı formatını sabitlemek (JSON, markdown, belirli uzunluk)
- Yapma/yapmama kuralları (politik konulara girme, sır verme)
- Statik bağlam: şirket bilgisi, tarih formatı, dil tercihi
- Her istekte değişen bilgi için — onu user mesajında ya da context'te ver
- Çok uzun döküman bağlamı için — system prompt'u dolduracağına RAG kullan
- Tek seferlik prompt deneyleri için — basit user mesajı yeter
Aşırı uzun yazmak
5000 token system prompt = kullanıcı mesajına 5000 token daha az yer kalır. Önemli kuralları öne al, gereksizleri at.
Çelişkili kurallar koymak
'Asla matematik yapma' + 'tüm soruları cevapla' yazarsan model birini ihlal eder. Kuralların tutarlı olduğundan emin ol.
Hassas bilgi gizli sanmak
Bazı modeller system prompt'u 'hatırla' diye sorulduğunda sızdırır. API anahtarı, kullanıcı sırrı koyma.