System prompt'lar
System prompts
Bu modül için tahmini süre: 6 dakika
Genel bakış
System prompt’lar, Claude’un kullanıcı input’una nasıl yanıt vereceğini özelleştirmenin güçlü bir yoludur. Genel cevaplar almak yerine Claude’un ton, stil ve yaklaşımını kendi use case’inize göre şekillendirebilirsiniz.

System prompt’lar neden önemli?
Bir matematik tutor chatbot’u kurduğunuzu düşünün. Öğrenci “5x + 2 = 3 denkleminden x’i nasıl bulurum?” diye sorduğunda, Claude’un cevabı yapıştırması yerine gerçek bir tutor gibi davranmasını istersiniz. İyi bir matematik tutor şunları yapmalı:
- Tam çözüm yerine başlangıçta ipuçları vermeli
- Sabırla öğrenciyi adım adım problemde gezdirmeli
- Örnek olarak benzer problemlerin çözümlerini göstermeli
Claude’un kesinlikle yapmamasını istediğiniz şeyler:
- Doğrudan cevap vermek
- Öğrenciye “hesap makinesi kullan” demek
System prompt’lar nasıl çalışır

System prompt, Claude’a nasıl yanıt vereceğine dair rehberlik sağlar. Düz string olarak tanımlar ve create fonksiyonuna parametre olarak geçirirsiniz. Temel faydaları:
- System prompt Claude’a nasıl yanıt vereceğine dair rehberlik sağlar
- Claude, atanan rol’deki birinin nasıl yanıt vereceğine benzer şekilde yanıt vermeye çalışır
- Claude’u görev odaklı tutmaya yardımcı olur
Temel yapı:
system_prompt = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""
client.messages.create(
model=model,
messages=messages,
max_tokens=1000,
system=system_prompt
)
Farkı görmek
System prompt olmadan Claude hemen tam bir adım adım çözüm verir. Bu yardımcı olabilir ama öğrenciyi problemde düşünmeye yönlendirmez.
Math tutor system prompt’u ile Claude’un yanıtı dramatik şekilde değişir. Tam çözüm yerine yönlendirici sorular sorar: “x’i izole etmek için iyi bir ilk adım ne olabilir? Terimleri taşımaya başlamak için her iki tarafa hangi operasyonu uygulamamız gerektiğini düşünün.”
Esnek bir chat fonksiyonu kurmak
System prompt’ları hard-code etmek yerine, chat fonksiyonunuzu parametre olarak system prompt kabul edecek şekilde daha yeniden kullanılabilir hale getirebilirsiniz:
def chat(messages, system=None):
params = {
"model": model,
"max_tokens": 1000,
"messages": messages,
}
if system:
params["system"] = system
message = client.messages.create(**params)
return message.content[0].text
Bu yaklaşım önemli bir detayı çözer: Claude’un API’si system=None kabul etmez, dolayısıyla system parametresini yalnızca sağlandığında koşullu olarak eklemeniz gerekir.
Artık chat fonksiyonunuzu system prompt ile veya olmadan çağırabilirsiniz:
# Without system prompt
answer = chat(messages)
# With system prompt
system = """
You are a patient math tutor.
Do not directly answer a student's questions.
Guide them to a solution step by step.
"""
answer = chat(messages, system=system)
System prompt’lar, amacına uygun şekilde tutarlı davranan AI uygulamaları kurmanın temel araçlarından biridir. Genel AI yanıtlarını role özgü, uzmanlaşmış etkileşimlere dönüştürürler.
Temel çıkarımlar
- System prompt, Claude’un karakterini, tonunu ve davranış kurallarını request başında tanımlar
client.messages.create(...)çağrısına ayrı birsystemparametresi olarak geçirilir (messages içinde değil)- API
system=Nonekabul etmez;systemparametresini sadece dolu olduğunda eklemek içinif system:deyimini kullanın - Aynı
messageslistesi farklı system prompt’larla çok farklı yanıtlar üretebilir — system prompt davranışı şekillendirmenin en güçlü kaldıracıdır - Chat helper’ınıza opsiyonel
systemparametresi eklemek, ileride farklı persona’lar için aynı kodu yeniden kullanmanızı sağlar