Kendi Kendini Düzeltme (Self-Correction)
İş akışıKendi Kendini Düzeltme nedir?
Kendi kendini düzeltme (self-correction), bir dil modelinin ilk ürettiği cevabı değerlendirip içindeki hataları, eksikleri ya da tutarsızlıkları tespit etmesi ve daha iyi bir versiyon üretmesi sürecidir. İnsanların bir metni yazdıktan sonra okuyup düzeltmesine benzer: İlk taslak nadiren en iyi versiyondur.
Bu yetenek, akıl yürütme modellerinin ve yapay zeka ajanlarının temel yapı taşlarından biri haline geldi. Literatürde yakın anlamda "self-refine" ya da "reflection" terimleri de kullanılır.
Nasıl çalışır?
Kendi kendini düzeltme farklı şekillerde uygulanabilir:
- Prompt tabanlı düzeltme: Model bir cevap üretir, ardından "Bu cevabı gözden geçir, hataları bul ve düzeltilmiş halini yaz" gibi bir talimatla kendi çıktısını eleştirmesi istenir. Bu döngü birkaç kez tekrarlanabilir.
- Dış geri bildirimle düzeltme: Model ürettiği kodu çalıştırır ve hata mesajını görür, bir hesaplamayı araçla kontrol eder ya da bir web aramasıyla iddiasını doğrular. Dış kaynaktan gelen bu somut geri bildirimle cevabını düzeltir.
- Eğitimle kazandırılan düzeltme: Pekiştirmeli öğrenmeyle eğitilen akıl yürütme modelleri, düşünme sürecinin içinde "bir dakika, burada hata yaptım" diyerek geri dönmeyi ve farklı bir yol denemeyi öğrenebilir.
Araştırmalar önemli bir nüansa dikkat çekiyor: Dış geri bildirim olmadan, sadece "tekrar kontrol et" demek her zaman işe yaramaz. Model bazen doğru cevabını yanlışla değiştirebilir ya da gerçek hatalarını fark edemeyebilir. Hatayı görmek için elinde yeni bir bilgi yoksa, model aynı hatayı tekrar etme eğilimindedir. En güvenilir sonuçlar, kod çalıştırma, test, hesap makinesi ya da kaynak kontrolü gibi somut doğrulama sinyalleriyle elde edilir.
Neden önemli?
Dil modelleri tek seferde uzun ve karmaşık bir cevap üretirken hata yapabilir. Kendi kendini düzeltme, bu hataları kullanıcıya ulaşmadan yakalamanın bir yoludur. Özellikle kodlama ajanlarında, testleri çalıştırıp başarısız olanları düzelten döngüler, kalitede büyük fark yaratır.
Öte yandan her düzeltme turu ek maliyet ve gecikme demektir. Ne zaman durulacağına karar vermek de ayrı bir tasarım sorunudur.
Kullanım alanları
- Kod üretimi: Kodu çalıştırıp hata mesajlarına göre düzeltmek.
- Matematik ve mantık: Çözümü kontrol edip hatalı adımları yeniden hesaplamak.
- Metin yazımı: Taslağı üslup, doğruluk ve eksiklikler açısından gözden geçirmek.
- Ajan iş akışları: Bir adımın sonucunu değerlendirip gerekirse farklı bir strateji denemek.
- Bilgi doğrulama: İddiaları araçlarla kontrol edip desteklenmeyenleri düzeltmek.
Ilgili terimler
