Skip to content

Structured Prompts with XML Tags

Make your prompts parseable, maintainable, and testable using the XML tags pattern Anthropic recommends.

Şükrü Yusuf KAYA
11 min read
Intermediate
XML etiketleriyle yapılandırılmış prompt mimarisi
Neden XML?
Claude'un eğitim kurgusu XML etiketlerine özellikle iyi uyum sağlar. JSON gibi katı yapıların aksine XML metin akışına gömülür ve hem insan hem de model kolay okur.

Neden XML?

Karmaşık prompt'larda hangi parça neyle ilgili — bu bilgiyi modele net iletmek gerekir. XML etiketleri buna en uygun yapıdır:
  • Görsel olarak tarama kolay.
  • Programatik olarak parse'lanabilir.
  • Modelin eğitiminde sıkça karşılaştığı paterndir.
  • Çıktıyı da etiketler içinde isteyebilirsin.
text
<system_role>
Sen Türkçe / İngilizce iki dilli kıdemli bir editorsün.
</system_role>
 
<context>
Şirket blog yazısı — hedef kitle: ürün yöneticileri.
Marka tonu sade ama otoriter, jargon az.
</context>
 
<task>
Aşağıdaki taslağı 800 kelimeye düşür. Kilit veriyi kaybetme,
ama ikincil yan örnekleri at.
</task>
 
<rules>
- Marka adlarını ve sayıları değiştirme.
- Pasif çatıyı aktife çevir.
- En çok 3 alt başlık kullan.
</rules>
 
<input>
{{makale_metni}}
</input>
 
<output_format>
<edited_article>
... (sadece düzenlenmiş metin) ...
</edited_article>
 
<change_log>
- (her bir maddi değişiklik tek satırda)
</change_log>
</output_format>
Tipik üretim seviyesi prompt — XML ile katmanlı yapı.

XML Pattern'leri#

Anthropic dokümantasyonunda yaygın olarak şu etiketler önerilir:
  • <role>
    ,
    <system_role>
    — modelin perspektifi
  • <context>
    — durumsal bilgi
  • <task>
    ,
    <instruction>
    — yapılacak iş
  • <rules>
    ,
    <constraints>
    — kısıtlar
  • <examples>
    ve içinde
    <example>
    — few-shot
  • <input>
    — kullanıcı verisi
  • <output_format>
    — beklenen çıktı şekli
  • <thinking>
    — CoT alanı
  • <answer>
    — nihai cevap
Etiket isimleri mantıklı olduğu sürece kendi tagını da uydurabilirsin — Claude bağlamdan ne demek istediğini anlar.
<customer_message>...</customer_message> <priority_level>high</priority_level> <expected_response> <subject>...</subject> <body>...</body> <next_action>...</next_action> </expected_response>
text · adım 1/4
# Adım 1: temel iskeleti kur <role>...</role> <task>...</task>
Önce minimum yapıyla başla.
Çıktı parsing'i
XML çıktı kullanırsan Python'da
re
ile veya
xml.etree
ile basit parser yazılır. Format katı olduğu için parsing gürültüsü çok azalır. Modül 8'de canlı kod ile göreceğiz.
python
import re
 
claude_output = """<thinking>
Hmm, müşteri ödeme problemi yaşıyor. Hesap durumu aktif.
Son işlem 'declined' geldi.
</thinking>
<answer>Müşteriye kart bilgilerini kontrol etmesini öneriyorum.</answer>
<confidence>0.84</confidence>"""
 
answer = re.search(r"<answer>(.*?)</answer>", claude_output, re.S).group(1).strip()
conf = float(re.search(r"<confidence>(.*?)</confidence>", claude_output).group(1))
 
print("Cevap:", answer)
print("Güven :", conf)
Hızlı XML parsing örneği — üretimde hata kontrolü ekle.
Boşluk doldur · text
XML etiketleri prompt yapısını _____ , parse'lanabilir ve test edilebilir kılar. Çıktı formatını da XML ile _____ etmek parsing'i kolaylaştırır. Etiket isimleri her zaman _____ olmalıdır.

Frequently Asked Questions

Use XML for prompt structure and JSON for machine-readable output. Hybrid is common: XML <answer> with embedded JSON.

Yorumlar & Soru-Cevap

(0)
Yorum yazmak için giriş yap.
Yorumlar yükleniyor...

Related Content

Connected pillar topics

Pillar topics this article maps to