Sistem promptu, bir yapay zekâ modelinin sohbet başlamadan önce aldığı ve ardından gelen her mesaja uygulanan talimatlardır. Modelin rolünü, okur kitlesini, kurallarını ve varsayılan cevap biçimini belirler, böylece bunları her mesajda tekrarlamak zorunda kalmazsın. Promptları kullanıcı yazar; sistem promptu ise modelin hepsine nasıl cevap vereceğini şekillendirir.
Her sohbet uygulaması zaten bir tane kullanıyor. ChatGPT, Claude ya da Gemini'yi açtığında modelde onu geliştiren şirketin talimatları zaten vardır ve sohbet penceresi bunları sana göstermez. Geliştiriciler bir modelin üzerine uygulama kurduğunda, genel bir modeli bir kodlama öğretmenine, bir destek asistanına ya da bir commit mesajı yazarına çevirdikleri yer sistem promptudur.
Sistem promptu ne yapar
Bir sohbette modelin girdisinin bir yapısı vardır: önce sistem promptu, sonra sırayla gelen kullanıcı ve asistan mesajlarından oluşan sohbet. Sistem promptu bütün konuşmanın üstünde durur, yani sohbet ne kadar uzarsa uzasın her yanıtta modelin önündedir.
Bu konum onu her zaman geçerli olması gereken her şeyin doğru yeri yapar: modelin kiminle konuştuğu, neyi yapıp neyi yapamayacağı, bir cevabın varsayılan olarak nasıl görünmesi gerektiği. Modeller ayrıca ikisi çeliştiğinde sistem promptuna kullanıcı mesajından daha fazla ağırlık vermek üzere eğitilir. Bu bir kilit değil, bir eğilimdir. Kararlı bir kullanıcı bazen modeli sistem promptundan vazgeçirebilir, bu yüzden sistem promptu asla tek güvenlik önlemin olmamalı.
Sistem promptu ve kullanıcı mesajı
| Sistem promptu | Kullanıcı mesajı | |
|---|---|---|
| Kim yazar | Geliştirici ya da uygulama ayarlarında sen | Sen, sohbet kutusunda |
| Kapsam | Sohbetin tamamı | Tek bir istek |
| Tipik içerik | Rol, okur kitlesi, kurallar, bilgiler, varsayılan biçim | Görev ve onun malzemesi |
| Ne zaman değişir | Nadiren | Her turda |
| Çatışmada ağırlığı | Genellikle daha yüksek | Genellikle daha düşük |
İşe yarar bir test: bir cümle sohbetteki her mesaj için doğru olacaksa sistem promptuna aittir. Bu belirli istekle ilgiliyse kullanıcı mesajına aittir. "100 kelimeyi geçme" ikisine de girebilir; "aşağıdaki e-postayı özetle" her zaman bir kullanıcı mesajıdır.
Sistem promptu nerede ayarlanır
API'de sistem promptu ayrı bir girdidir. OpenAI'ın Python kütüphanesinde listedeki ilk mesajdır ve rolü system olur. OpenAI'ın dokümantasyonu yeni modellerde aynı türden talimat için developer message adını da kullanıyor.
from openai import OpenAI
client = OpenAI()
MODEL = "your-model-id" # e.g. from your provider's model list
response = client.chat.completions.create(
model=MODEL,
messages=[
{"role": "system", "content": "You are a patient Python tutor. Give hints, not full solutions."},
{"role": "user", "content": "Why does my loop stop at 9?"},
],
)
print(response.choices[0].message.content)
Anthropic'in Python kütüphanesinde en üst düzeyde bir system parametresidir ve messages listesi sadece sohbeti tutar:
import anthropic
client = anthropic.Anthropic()
MODEL = "your-model-id" # e.g. from your provider's model list
message = client.messages.create(
model=MODEL,
max_tokens=500,
system="You are a patient Python tutor. Give hints, not full solutions.",
messages=[{"role": "user", "content": "Why does my loop stop at 9?"}],
)
print(message.content[0].text)
Google'ın Gemini API'si buna system instruction diyor. Adı farklı, fikir aynı.
Sohbet uygulamalarında ham system alanına erişemezsin, çünkü uygulamanın zaten kendi sistem promptu vardır. Bunun yerine uygulamanın senin için dahil ettiği kalıcı talimatları ekleyebileceğin bir yer bulursun. ChatGPT'de bunlar özel talimatlar, proje talimatları ve özel bir GPT'nin talimatlarıdır. Claude'da proje talimatları ve profilindeki tercihlerdir. Gemini'de bir Gem'in talimatlarıdır. Her uygulamanın senin metnini kendi talimatlarıyla tam olarak nasıl birleştirdiği tamamen belgelenmiş değil, ama pratikte uygulamayla paylaştığın bir sistem promptu gibi davranırlar.
Sistem promptuna ne yazılır
- Rol ve okur kitlesi. "Programlamanın ilk ayındaki öğrencilere öğretmenlik yapıyorsun" her cevabın kelime dağarcığını ve seviyesini belirler. Bir rolün neyi değiştirip neyi değiştirmediği için rol verme sayfasına bak.
- Her turda geçerli kurallar. Modelin her zaman yapması ya da asla yapmaması gerekenler: tam çözüm yerine ipucu vermek, sadece ürünle ilgili sorulara cevap vermek, kullanıcının dilinde cevap vermek.
- Emin olmadığında ne yapacağı. "Cevap aşağıdaki bilgilerde yoksa bilmediğini söyle", uydurma cevaplara karşı genel bir "doğru ol" talimatından daha fazlasını yapar.
- Modelin ihtiyaç duyduğu bilgiler. Ürün ayrıntıları, politikalar, bugünün tarihi, kullanıcının planı. Bir model senin uygulaman hakkındaki sorulara eğitim verisinden cevap veremez.
- Varsayılan biçim. Uzunluk, yapı, kod blokları kullanılıp kullanılmayacağı. Çıktıyı bir program okuyacaksa tam şekli ver; yapılandırılmış çıktı sayfasına bak.
Dışarıda bırakılması gerekenler
Sırlar. Sistem promptu gizli değildir. Kullanıcılar modelden talimatlarını tekrarlamasını isteyebilir ya da onu buna kandırabilir ve modeller güvenilir şekilde reddetmez. API anahtarları, şifreler ve yayımlanmasını istemeyeceğin hiçbir şey oraya ait değildir. Sistem promptunu kullanıcının bir gün okuyabileceği bir metin olarak düşün ve talimatların nasıl ele geçirildiğini görmek için prompt injection sayfasına bak.
Tek bir mesajın görevi. Sistem promptu "bu makaleyi özetle" derse sohbetteki ikinci mesajın gidecek yeri kalmaz.
Birbirine binen kural yığınları. Farklı zamanlarda yazılmış yirmi kural genellikle birbiriyle çelişir ve model hangisinin kazandığını tahmin etmek zorunda kalır. Kuralları grupla, tekrarları sil ve ikisi çakışabiliyorsa öncelikleri belirt.
Dolgu. Sistem promptu her istekle birlikte yeniden gönderilir ve modelin bağlam penceresinden yer kaplar, yani gereksiz her paragrafın bedeli her turda ödenir.
Sistem promptu örnekleri
İlk örnek bir ürün asistanı. Sistem promptu bir kapsam, bir uzunluk ve cevaplayamadığı sorular için bir kural belirliyor ve modelin ihtiyaç duyduğu bilgileri taşıyor. Farklı mesajlar göndermek için sekmeler arasında geç: aynı sistem promptu üç yanıtı da şekillendiriyor.
İşlemlerinde alışverişi aç ve Böl'e dokun. Sonra iki kategoriyi, Market ve Ev, seç ve her birine düşen tutarı gir.
İkinci örnek, bir sohbet uygulamasında özel talimatlara ya da proje talimatlarına yazabileceğin türden bir metin. Seni ve cevapları nasıl istediğini anlatıyor, böylece her sohbet oradan başlıyor.
import { readFile } from "node:fs/promises";
const config = JSON.parse(await readFile("config.json", "utf8"));
Bir encoding vermek readFile'ın string döndürmesini sağlar, JSON.parse da onu bir nesneye çevirir. Üst düzey await sadece bir ES modülünde çalışır (package.json içinde "type": "module" ya da bir .mts dosyası); aksi hâlde çağrıyı async bir fonksiyonun içine al. Dosya eksik ya da bozuk olabilecekse bir try/catch ekle.
Sistem promptu olmadan "Bir JSON dosyasını nasıl okurum?" kadar kısa bir soru dili modelin tahminine bırakır ve yanıt çoğu zaman Python ya da düz JavaScript ile, JSON'un ne olduğunu anlatan bir paragrafla gelir. Sistem promptuyla yanıt doğru dili ve çalışma ortamını seçer, temelleri atlar ve istenen şekli izler.
Aynı yapı kurduğun her asistan için işe yarar: kime hizmet ettiği, kurallar, emin olmadığında ne yapacağı, ihtiyaç duyduğu bilgiler ve cevap biçimi. Bir kez yaz, normal bir soruyla, konu dışı bir soruyla ve bir kuralı çiğnemeye çalışan bir soruyla test et, üç yanıt da istediğin gibi olana kadar ayarla.
Sıkça Sorulan Sorular
Sistem promptu nedir?
Sistem promptu, sohbet başlamadan önce bir yapay zekâ modeline verilen ve ardından gelen her mesaja uygulanan talimatlardır. Genellikle rolü, okur kitlesini, kuralları ve varsayılan cevap biçimini belirler. API'de ayrı bir system alanı ya da mesajıdır; sohbet uygulamalarında özel talimatlar ve proje talimatları aynı işi görür.
Sistem promptu ile kullanıcı promptu arasındaki fark nedir?
Sistem promptu bütün sohbet için kalıcı talimatları tutar ve genellikle geliştirici tarafından yazılır ya da ayarlarda bir kez belirlenir. Kullanıcı promptu ise tek bir şey isteyen tek bir mesajdır. İkisi çeliştiğinde modeller sistem promptuna daha fazla ağırlık vermek üzere eğitilir, ama bu bir garanti değil bir eğilimdir.
ChatGPT, Claude ya da Gemini'de sistem promptu ayarlayabilir miyim?
Ham system alanını değil, ama ona yakın bir şeyi evet. ChatGPT'de özel talimatlar, proje talimatları ve özel GPT'lerin talimatları var. Claude'da proje talimatları ve profil tercihleri var. Gemini'de Gem talimatları var. Uygulama oraya yazdığını kendi sistem talimatlarıyla birleştirir ve sohbetlerine uygular.
Kullanıcılar bir sistem promptunu görebilir ya da çıkarabilir mi?
Çoğu zaman evet. Bir kullanıcı modelden talimatlarını tekrarlamasını isteyebilir ya da onu buna kandırabilir ve modeller bunları güvenilir şekilde gizli tutmaz. Bir sistem promptuna asla şifre, API anahtarı ya da gizli iş bilgisi koyma ve ona bir güvenlik sınırı olarak güvenme.
Bir sistem promptu ne kadar uzun olmalı?
Her mesaja uygulanan şeyleri kapsayacak kadar uzun, daha fazla değil. Kişisel bir sistem promptu üç dört cümle olabilir. Bir ürün için yazılan sistem promptu rol, kurallar, bilgiler ve çıktı biçimiyle çoğu zaman bir sayfayı bulur. Her kelime her istekle birlikte gönderilir, yani her seferinde token maliyeti de vardır.