Promptlar koddur: nasıl sürümlenir, incelenir ve test edilir?
Bir prompt değişikliği bir davranış değişikliğidir. Promptları sürüm kontrolünde tutun, kod gibi inceleyin, her sürümü değerlendirme sonuçlarına bağlayın ve asla canlı bir panelde düzenlemeyin.
veridive5 dk okuma
Asistanın yanıtları bir salı günü değişti; oysa kimse bir şey yayına almamıştı. Operasyon ekibinden biri, bir şikayeti düzeltmek için tedarikçinin yönetim panelinde promptu düzenlemişti. Düzenleme doğrudan canlıya gitti ve eski sürüm kayboldu.
Bir prompt değişikliği bir davranış değişikliğidir ve çoğu zaman bir kod değişikliğinden daha büyüktür. Prompt sürümleme bunun için vardır: promptları sürüm kontrolünde tutun, kod gibi inceleyin, her sürümü değerlendirme sonuçlarına bağlayın ve asla canlı bir panelde düzenlemeyin.
Promptlar neden kod disiplinine ihtiyaç duyar?
Bir prompttaki tek bir cümle, her vaka türünde davranışı değiştirebilir; düzeltmesi amaçlanan sorundan çok uzaktaki vaka türlerinde de. Sürümler olmadan kimse temel soruları yanıtlayamaz: bu yanıt verildiğinde prompt ne diyordu, onu kim ve neden değiştirdi, aynı anda başka neler değişti? Promptlar, kod ve değerlendirme setiyle birlikte, bir sistemin sahibinin devredebilmesi, bakımını yapabilmesi ve denetleyebilmesi gereken şeylerin de parçasıdır. Üstelik promptları çoğu zaman kendini yazılımcı olarak görmeyen kişiler düzenler; sürecin kolay izlenebilir olması tam da bu yüzden gerekir.
Promptlar nerede durmalı?
Kod deposunda, onları kullanan kodun yanında, değişkenleri açıkça işaretlenmiş düz şablon dosyaları olarak. Kodun içine gömülmüş metinler olarak değil; yalnızca bir panelde de değil. Her görev ve her model için ayrı bir dosya tutun, çünkü bir model için ayarlanmış bir prompt başka bir modele nadiren uyar. Her yayın belirli bir prompt sürümüne bağlanır ve her çağrı o sürümü kayda geçirir.
İş kullanıcılarının üslup yönergeleri gibi ifadeleri değiştirmesi gerekiyorsa onlara incelemeden geçen bir yol verin: diğer her değişiklikle aynı kontrollerden geçen bir değişiklik talebi. Bir prompt yönetim aracı işe yarayabilir; yeter ki her sürümü saklasın, kimin neyi değiştirdiğini kaydetsin ve aynı inceleme ve yayın yolunu izlesin. Kural süreçle ilgilidir, araçla değil.
Canlıdaki bir promptu okunabilir kılan nedir?
Tutarlı bir sırayla dört bölüm:
- Rol ve görev. Modelin hangi rolü üstlendiği ve bu adımın tek işi; iki üç cümlede.
- Kurallar. Kısa, numaralı ve gruplanmış; gerekçesi açık değilse her biri gerekçesiyle birlikte: “Asla para iadesi tutarı belirtmeyin; tutarlar sipariş sisteminden gelir.”
- Gerçek vakalardan örnekler. Onaylı çıktılarıyla birlikte maskelenmiş birkaç girdi; yalnızca kolay kalıp için değil, zorlu kalıplar için seçilmiş.
- Çıktı biçimi. Beklenen yapı ya da şema, tam haliyle ve bir örnekle.
Örnekleri kurallarla tutarlı tutun. Örnekler kalıp öğretir; bir örnek bir kuralla çeliştiğinde model çoğu zaman örneğe uyar. Promptu kısa bir başlık tamamlar: sahibi, amacı, onu kapsayan değerlendirme seti ve bilinen sınırlamaları.
Prompt incelemesinde neler kontrol edilmeli?
- Gerekçe. Hangi davranış düzeltiliyor ve bunu hangi değerlendirme vakaları gösteriyor?
- Kanıt. Tam değerlendirme çalıştırması yalnızca hedef vakada değil, önemli her vaka türünde geçti mi?
- Çelişkiler. Yeni kural mevcut bir kuralla çelişiyor mu?
- Doğru yer. Bir eşik, hesaplama ya da yetki kodda daha güvenli olmaz mı?
- Test edilebilir ifade. “Kısa tutun” bir dilektir; “en fazla beş cümle” kontrol edilebilir.
Onaylanan her sürüm değişiklik kaydına bir girdi olarak işlenir: neyin değiştiği, neden, kimin onayladığı ve değerlendirme çalıştırmasının bağlantısı. Setin kendisi, değerlendirme setlerinin yeni gereksinim dokümanı olduğunu anlatan notta tarif edilen settir.
Canlı bir panelde yapılan prompt düzenlemesi, test edilmemiş ve geri dönüşü olmayan bir yayındır.
Bir prompt nasıl yayına alınır ve geri alınır?
Sürümlenmiş aynı dosyayı ortamlar boyunca ilerletin: geliştirme, tam değerlendirme setine karşı bir test çalıştırması, canlı trafikte gölge mod ya da hazırlık ortamı (staging), ardından canlı ortam. Riskli değişiklikler önce tek bir kuyruğa ya da tek bir vaka türüne gidebilir. Önceki sürüm her an yeniden yayına alınabilir durumda kalır; böylece geri alma, baskı altında yapılan bir düzenleme değil, bir yapılandırma ayarıdır. Her yanıt prompt sürümüyle birlikte kaydedildiği için, haftalar sonra fark edilen tuhaf bir yanıtın izi onu üreten metne kadar sürülebilir. Prompt testlerinin diğer katmanlar arasındaki yeri, bir LLM uygulamasının nasıl test edileceğini anlatan notta ele alınıyor.
Temsili bir vaka bu kalıbı gösteriyor. Müşteriler, bir destek asistanının çok fazla özür dilediğinden şikayet ediyor; bir mühendis de bir kural ekliyor: “Özür dilemeyin; olguları belirtin.” Şikayet vakalarında işe yarıyor. Yayından önceki değerlendirme çalıştırması ise bedelini gösteriyor: üslup rehberinin özür istediği kayıp gönderi vakalarında yanıtlar soğuk bir tona bürünüyor ve bu vaka türü eşiğinin altına düşüyor. Değişiklik yayına çıkmıyor. Bir sonraki sürüm kuralı “Yalnızca şirket bir hata yaptığında ve yalnızca bir kez özür dileyin” diye daraltıyor ve gerçek bir kayıp gönderi örneği ekliyor. İki vaka türü de geçiyor; değişiklik kaydı iki çalıştırmaya da bağlantı veriyor.
Promptların kontrolsüz büyümesi nasıl önlenir?
Kontrolsüz büyüme netliğin yanında paraya da mal olur, çünkü her kural her çağrıyla birlikte gönderilir. İşaretlerine dikkat edin: her olaydan sonra eklenen yeni bir kural, birbiriyle çelişen kurallar, vurgu için kullanılan büyük harfler ve “ÖNEMLİ” ibareleri, kimsenin açıklayamadığı kurallar ve kalite yerinde sayarken büyümeye devam eden bir prompt.
Değerlendirme setini güvenlik ağı olarak kullanarak promptları belirli aralıklarla yeniden düzenleyin. Örtüşen kuralları birleştirin. Bir kuralı çıkarın ve seti yeniden çalıştırın; hiçbir şey kötüleşmiyorsa o kural gidebilir. Deterministik kuralları koda taşıyın ve aşırı yüklenmiş bir promptu ayrı adımlara bölün. Her kuralın nereden geldiğini değişiklik kaydı söyler.
Nereden başlamalı?
Canlıdaki her promptu sürüm kontrolüne taşıyın, mevcut hali için değişiklik kaydına bir girdi yazın ve onu bir değerlendirme çalıştırmasına bağlayın. Bundan sonra hiçbir prompt, yeni bir girdi ve yeni bir çalıştırma olmadan yayına çıkmaz. Geliştirdiğimiz her özel yapay zeka yazılımı sisteminde promptlar belgelenir ve sistemle birlikte teslim edilir; yapay zeka güvenilirliği çalışmamızda da her prompt değişikliği bir regresyon çalıştırmasını tetikler.
Bu notu bir yapay zeka asistanına sorun