Back to Writing

Sessiz Regresyon: Prompt'larınız Sizden Habersiz Bozuluyor

Prompt'larınıza bir soy ağacı tutun: hangi değişiklik neyi bozdu, GEPA Visible Lineage ile görünür kılın — ve bu yazının planı neden kendi kendini yazdı

Mustafa Sarac9 min readtr

Sessiz Regresyon: Prompt'larınız Sizden Habersiz Bozuluyor

Mustafa Saraç | NeuraByte Labs 3 Temmuz 2026

Karanlık endüstriyel bir mekanda, veri akışlarından oluşan ışıklı bir evrim ağacı — her dal bir prompt nesli
Prompt'ların soy ağacı: her dal bir nesil, her ışık bir mutasyon. Hangi dalın neden kazandığı artık görünür.

Özet

Bu yazının planı, anlattığı araçla üretildi. RUNE framework'üne eklediğim GEPA Visible Lineage özelliği, bir prompt'un nesiller boyunca nasıl evrildiğini — hangi varyantın neden kazandığını, skorun nerede sıçradığını, hangi değişikliğin neyi bozduğunu — görünür bir soy ağacı olarak dışa aktarıyor.

En kısa tanım şu: Git blame, ama prompt'larınız için. Kod satırında "bunu kim, ne zaman, neden değiştirdi" diyebiliyorsunuz; peki ya prompt'larınızda?

Yazının sonunda iki şey bulacaksınız: bu yazının kendi evrim kayıtları (gerçek skorlarla) ve kopyalayıp kendi AI asistanınıza yapıştırabileceğiniz, bu konsepti sizin sisteminize uyarlayan bir başlangıç prompt'u.


Sessiz Regresyon Problemi

Yaygın bir varsayım var: "Prompt'lar metindir; Git'te versiyonlamak yeterlidir."

Yanlış değil — eksik. Git karakter değişikliklerini takip eder, anlamsal kaymayı değil. Bir prompt'u neden değiştirdiğinizi, hangi başarısızlığın o değişikliği tetiklediğini, değişikliğin üç hafta sonra hangi ihmal edilmiş senaryoyu (edge-case) sessizce bozduğunu commit mesajına sığdıramazsınız.

Production'da LLM kullanan herkesin yaşadığı senaryo şu:

  1. Prompt v1 çalışıyor. Kimse dokunmuyor.
  2. Yeni bir istek geliyor — "şunu da yapsın." Prompt v2.
  3. v2 yeni işi yapıyor ama v1'in çözdüğü eski bir durumu artık bozuyor. Kimse fark etmiyor.
  4. Üç ay sonra bir müşteri şikayeti. Log'lara bakıyorsunuz. Prompt'un 5 versiyonu var, hiçbirinin neden değiştiği kayıtlı değil.

Buna sessiz regresyon diyorum: sistemin bir parçası çürümeye başlıyor ama gösterge tablosunda her şey yeşil. Kod için CI/CD, test coverage, blame kültürü geliştirdik. Prompt'lar içinse çoğu ekip hâlâ 2023'te: bir metin kutusu, bir his, bir "bence bu daha iyi."

Işıklı sistemin bir dalı kırmızıya dönüp çürürken geri kalanı sağlıklı mavi parlamaya devam ediyor
Sessiz regresyon: bir dal çürüyor, sistemin geri kalanı sağlıklı görünüyor. Kimse fark etmiyor — ta ki müşteri fark edene kadar.

GEPA Nedir?

GEPA (Genetic-Pareto), 2025'te yayınlanan "Reflective Prompt Evolution Can Outperform Reinforcement Learning" makalesiyle popülerleşen bir prompt optimizasyon yöntemi. Adı korkutmasın, fikir üç parçada anlaşılıyor:

  • Genetik: Prompt'un varyantları üretilir — her biri bir "mutasyon." Aynı prompt'un biraz farklı yazılmış kardeşleri gibi düşünün.
  • Pareto: Tek bir skora göre değil, birden fazla kritere göre baskın olan varyantlar hayatta kalır. Yani "en hızlı" değil; "hem doğru, hem güvenli, hem okunabilir" olan kazanır.
  • Reflective (yansıtıcı): Asıl numara burada. Klasik alternatif RL'dir — Reinforcement Learning, yani pekiştirmeli öğrenme: sistem binlerce kör deneme yapar, ödül puanı yükselince o yönde devam eder, ama size neden iyileştiğini asla söyleyemez. GEPA'da ise LLM kendi çıktısına dille bakar: "Bu cevap şurada zayıftı, çünkü..." Bu yansıma bir sonraki mutasyonu yönlendirir.

Sonuç: her nesil bir öncekinden öğrenir ve — kritik nokta — öğrenme sürecinin her adımı insan tarafından okunabilir. RL'de elinizde sadece yükselen bir skor eğrisi olur; GEPA'da her mutasyonun gerekçesi düz metindir.

Üç Yaklaşımın Karşılaştırması

Manuel İterasyonRL / Black-box TuningGEPA Reflective Evolution
MekanizmaDeneme-yanılma, sezgiÖdül fonksiyonu, kör optimizasyonLLM'in kendi çıktısını değerlendirip gerekçeli evrilmesi
Deneme maliyetiDüşük ama insan zamanı yerÇok yüksek (binlerce deneme koşusu)Düşük (az denemeyle büyük sıçrama)
Regresyon görünürlüğüYok — "dün çalışıyordu"Düşük — skor düşer, sebep karanlıkYüksek — hangi mutasyon neyi bozdu, kayıtlı
İzlenebilirlikGit commit'leri (anlamsız)Neredeyse yokTam soy ağacı: parent, skor, strateji, feedback
Bir cümlede"Bence bu daha iyi""Skor arttı, nedenini sorma""Şu değişiklik şu yüzden işe yaradı, işte kaydı"

Visible Lineage: Evrimi Görünür Kılmak

GEPA'nın kendisi bir optimizasyon yöntemi. Benim RUNE'a eklediğim parça ise görünürlük katmanı: her prompt evriminin soy ağacını (lineage) dışa aktarmak ve tek bir HTML dosyasıyla görüntülemek.

Soy ağacındaki her düğüm aslında şuna benzer bir kayıt:

{
  "id": "v2.4",
  "parent": "v2.3",
  "score": { "önce": 0.76, "sonra": 0.88 },
  "mutation_reason": "Kullanıcıların %15'i iade süresini yanlış anlıyordu — süre vurgusu eklendi",
  "feedback": "Belirsiz durumlarda modelin tahmin yürütmesi engellendi"
}

Bu dört alan her şeyi değiştiriyor:

  • parent — bu varyant hangi varyanttan türedi (Git'teki parent commit gibi)
  • score — kalite nereden nereye gitti
  • mutation_reason — değişikliğin gerekçesi, düz Türkçe/İngilizce
  • feedback — bir sonraki nesle taşınan ders

Prompt artık statik bir metin dosyası değil; genetik hafızasını taşıyan bir veri yapısı. Değişikliği değil, değişikliğin arkasındaki düşünceyi kayıt altına alıyorsunuz.


Nerede İşe Yarar? Gerçek Senaryolar

Teknoloji demoları kolay; dürüst kullanım haritası zor. Her senaryonun sonuna "kendi sisteminde bu neye benzer" notunu ekledim:

1. Eğitim: Prompt optimizasyonunu göstermek

Ekibinize ya da bir workshop'ta katılımcılara prompt iyileştirmeyi anlatmak yerine soy ağacını ekrana yansıtıyorsunuz: "Nesil 0'daki kaba prompt, nesil 3'te skoru nasıl 0.58'den 0.88'e taşıdı?" Katılımcı, prompt iyileştirmeyi bir sanat değil, gözlemlenebilir evrimsel süreç olarak görür.

Kendi sisteminde: Takımına "iyi prompt nasıl yazılır" dokümanı yazmak yerine, gerçek bir prompt'unuzun 3 nesillik evrimini gösterin. Bir toplantıda 10 dakika yeter.

2. Agent yönetişimi: Otonom ajanların talimat evrimi

Birden fazla otonom ajan çalıştırıyorsanız (benim kurulumumda üç makinede üç ajan koşuyor), her birinin zamanlanmış görevleri belirsiz talimatlarla başlar: "ajanları kontrol et." Lineage, bu talimatın rol-bazlı, korumalı (guardrail'li) bir operasyon döngüsüne evrimini adım adım kaydeder. Bir değişiklik ajanı saçmalatırsa, hangi mutasyonun suçlu olduğunu görüp stabil versiyona dönersiniz — git revert gibi, ama davranış için.

Kendi sisteminde: Cron'la veya schedule'la çalışan tek bir AI göreviniz bile varsa (günlük özet, haftalık rapor), o görevin prompt'u zamanla değişiyordur. Her değişikliğe bir satır gerekçe yazın — soy ağacının ilk düğümü budur.

3. Denetim izi (audit trail): "Bu prompt keyfi değil"

Denetim izi, "kim neyi ne zaman neden değiştirdi" kaydının resmî adı — bankaların her para hareketini loglaması gibi. Müşteriye dokunan AI (satış, destek, öneri) çalıştıran herkesin er geç duyacağı soru: "Sistem bunu neden söyledi?" Lineage ile cevap deterministik: "Üç iterasyon önce eklenen şu cümle bağlamı bozdu — işte kanıtı, işte geri dönüşü." Compliance konuşmalarında "güveniyoruz"dan "gösterebiliyoruz"a geçiş.

Kendi sisteminde: Müşteriye dokunan tek bir LLM özelliğiniz varsa, yarın bir şikayet geldiğinde "o gün prompt neydi ve neden öyleydi" sorusuna 5 dakikada cevap verebiliyor musunuz? Veremiyorsanız bu senaryo sizin.

4. Model geçişlerinde regresyon takibi

Yeni bir modele geçtiğinizde (GPT'den Claude'a, Gemini'nin yeni sürümüne) eski prompt'larınızın hangileri kırıldı? Lineage + skorlama, model geçişini bir CI adımına dönüştürür: eski neslin çözdüğü ama yeni ortamın bozduğu vakalar anında görünür.

Kendi sisteminde: Bir sonraki model yükseltmenizden önce kritik prompt'larınızı yeni modelde koşup skorları karşılaştırın. Fark tablosu = geçiş kararınızın kanıtı.

Nerede işe yaramaz — dürüst kısım

  • Tek atışlık prompt'lar. Bir kez kullanıp atacağınız prompt için soy ağacı tutmak maliyet, fayda değil.
  • Ölçemediğiniz kalite. Lineage'ın değeri skorlamanın anlamlı olmasına bağlı. Skor üretimi otomatik ve güvenilir değilse, ağaç sadece süslü bir günlüktür.
  • "Her şeyi optimize edelim" refleksi. Görünür evrim, tekrar kullanılan ve kalitesi ölçülebilen prompt'larda değerlidir. Gerisi tiyatro.

Kendinize Sormanız Gereken Sorular

Bu aracı — ya da herhangi bir prompt yönetim aracını — değerlendirirken:

  1. Production'daki en kritik prompt'unuzun üç versiyon önceki halini ve o değişikliği tam olarak neden yaptığınızı kanıtlayabilir misiniz? Cevap hayırsa, sessiz regresyon riskiniz var demektir.
  2. AI ajanınız yarın saçmalamaya başlarsa, sorunun modelde mi yoksa prompt'un zaman içindeki kaymasında mı olduğunu bulmanız kaç saat sürer?
  3. Skorlarınız nereden geliyor? Elle mi, LLM-judge (bir modelin başka bir modelin çıktısını puanlaması) ile mi, gerçek kullanıcı metrikleriyle mi? Skorsuz lineage, pusulasız harita.
  4. Bu ağacı kim dolduracak? Kayıt manuel ise kullanılmayacak. Normal iş akışınıza otomatik takılmıyorsa raf malı.
  5. Kim bakacak? Görselleştirme ancak düzenli bakılırsa değer üretir. Haftalık rutininizde yeri var mı?

Üçüncü ve dördüncü sorular kırılma noktası. Onlara "evet" diyemiyorsanız önce ölçüm ve otomasyonu kurun, görselleştirmeyi sonra ekleyin.


Meta-Kapanış: Bu Yazının Kendi Soy Ağacı

Söz verdiğim kısım. Bu yazının planı, RUNE'un swarm komutuyla — yani anlattığım evrim döngüsünün kendisiyle — üretildi. Gerçek sayılar, süslemesiz:

NESİL 1 — plan üretimi
$ wand swarm "mustafasarac.com için kapsamlı bir blog yazısı planla: ..." --agents 3 --rounds 2

Devil's Advocate  73.4  |  Expert  73.0  |  Creative  72.4
Fusion (en iyi 2)              → 74.4  (+1.4)

NESİL 2 — okuyucu geri bildirimiyle revizyon
$ wand swarm "Revizyon talebini iyileştir: jargon açıklamaları,
  gerçek senaryolar, kopyala-yapıştır CTA..." --agents 3 --rounds 1

Expert  75.2  |  Devil's Advocate  73.9  |  Creative  71.0
Fusion (en iyi 2)              → 77.6  (+3.2)

İki nesil, iki fusion, toplamda 74.4 → 77.6. Devrim değil — ve bunu söylemek tam da bu yazının amacı. Pazarlama versiyonu "skorlar %40 arttı!" derdi. Gerçek versiyonu: mütevazı, ölçülmüş, nedeni kayıtlı bir iyileşme.

Soy ağacının kim-neyi-kattı kaydı da duruyor: Devil's Advocate'in "sessiz regresyon" çerçevesi yazının omurgası oldu. İkinci nesilde Expert'in "developer'lar okumaz, tarar — jargonu onların diliyle çevir" mutasyonu, okuduğunuz parantez içi açıklamaları doğurdu. Kim neyi kattı, biliyorum — çünkü kayıtlı.

İronik bir dipnot: swarm'ın ürettiği ilk plan, GEPA açılımını "Generate-Evaluate-Propose-Apply" diye kendinden emin şekilde uydurmuştu. Gerçeği Genetic-Pareto. Halüsinasyon insan gözden geçirmesiyle yakalandı — ve bu da soy ağacında bir düğüm artık: "nesil 2, mutasyon reddedildi, gerekçe: yanlış terminoloji." Sistem kendi hatasının kaydını tutuyor.


Kendi Sisteminize Entegre Edin

Buraya kadar geldiyseniz, aklınızda muhtemelen "peki ben nereden başlarım?" sorusu var. En hızlı yol: bu işi kendi AI asistanınıza yaptırın.

Aşağıdaki prompt'u kopyalayın, köşeli parantezleri kendi durumunuza göre doldurun ve bu yazının linkiyle birlikte kullandığınız AI aracına (Claude, ChatGPT, Cursor — hangisiyse) yapıştırın:

Kıdemli bir AI sistem mimarı olarak davran. Sana "Sessiz Regresyon" (GEPA Visible Lineage) yazısını veriyorum; konsept: prompt değişikliklerini
parent → child ilişkisi, skor hareketi ve gerekçeyle kayıt altına almak.

Benim durumum:
- Tech stack: [örn. Node.js + PostgreSQL, ya da Python + SQLite]
- LLM kullanımım: [örn. müşteri destek botu / RAG pipeline / cron'lu rapor ajanı]
- En çok canımı yakan şey: [örn. prompt değişince eski davranışların bozulması]

Görevin, bu yazıdaki Visible Lineage konseptini benim sistemime uyarlamak:
1. Mevcut prompt'larımı envanterle: hangileri tekrar kullanılıyor ve
   kalitesi ölçülebilir? (Sadece onlar lineage'a değer.)
2. Soy ağacı kaydı için stack'ime uygun minimal bir şema öner
   (id, parent, score, mutation_reason, feedback).
3. Skorlamayı nasıl otomatikleştireceğimi söyle — LLM-judge mı,
   kullanıcı metriği mi, test seti mi? Benim durumuma göre seç.
4. Bunu iş akışıma sıfır ekstra disiplinle sokacak en küçük ilk adımı ver:
   bugün 30 dakikada kurabileceğim versiyonu.

Teorik anlatma; benim verdiğim stack ve problem üzerinden somut konuş.

Bu prompt'un güzelliği şu: asistanınız sizin çalışmalarınıza bakarak yönlendirir. Benim senaryolarım benim sistemime göre; sizinki farklı çıkacak — ve öyle olmalı.

Daha derine inmek isterseniz: GEPA Visible Lineage, RUNE framework'ün parçası. Demo'lar repo'da, kurulumsuz, tek HTML dosyası: demo/gepa-lineage/ ve demo/agent-cron-lineage/.


Son Söz

Kod için sürüm kontrolünü 50 yılda öğrendik. Prompt'lar için aynı olgunluğa 50 yılımız yok — sistemler şimdiden production'da ve şimdiden sessizce kayıyor.

Kelimelere değil, kelimelerin evrimsel geçmişine güvenin. Karanlıkta prompt yazmayı bırakın.

Prompt'larınıza bir soy ağacı tutun: hangi değişiklik neyi bozdu, GEPA Visible Lineage ile görünür kılın — ve bu yazının planı neden kendi kendini yazdı