XML Etiketleri ile Yapılandırılmış Prompt'lar
Anthropic'in dokümantasyonunda öne çıkan XML etiketleri tekniği ile prompt'larını parse'lanabilir, sürdürülebilir ve test edilebilir hale getir.
Şükrü Yusuf KAYA
11 dakikalık okuma
OrtaNeden 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>— modelin perspektifi<system_role> - — durumsal bilgi
<context> - ,
<task>— yapılacak iş<instruction> - ,
<rules>— kısıtlar<constraints> - ve içinde
<examples>— few-shot<example> - — kullanıcı verisi
<input> - — beklenen çıktı şekli
<output_format> - — CoT alanı
<thinking> - — nihai cevap
<answer>
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 ile veya 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.
rexml.etreepython
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.Sık Sorulan Sorular
Prompt'un içeriğini düzenlemek için XML, çıktıyı makineye geçirmek için JSON tercih edilir. Hibrit yaklaşım da yaygındır: XML <answer> içinde JSON üret.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
İlgili İçerikler
Bağlantılı Pillar Konular