Ajanımı Yönlendirmeyi Bıraktım: Artık Onu Tetikleyen Döngüyü Tasarlıyorum

İçindekiler
Yazılım ve yapay zeka dünyasında, ajanlarla çalışma pratiğimiz hızla evriliyor. Ajanla çalışmanın sürekli prompt yazmak, beklemek, kod farklarını incelemek ve tekrar yazmaktan ibaret olduğu manuel dönemi geride bırakıyoruz. Bu kurulumda döngünün kendisi sizsinizdir; yani model değil, sizin kısıtlı dikkatiniz darboğazı oluşturur. Ben bu verimsiz döngüden çıkıp bir operatör yerine denetleyici (supervisor) rolüne geçmeyi amaçladım. E-postalarımı filtreleyen, Reddit'i izleyen ve takvimimi yöneten kişisel yapay zeka ajanımı otonom bir yapıya kavuşturdum. Karpathy’nin autoresearch mimarisinden (öner-yürüt-değerlendir-tut/at) esinlenerek tasarladığım bu döngü, harici bir kütüphane gerektirmeksizin sadece dört dosyayla çalışıyor.
Disk Üzerindeki Dört Dosya
Karmaşık framework'ler kullanmadan, basit bir Python betiği ve diskte tutulan şu dört dosya ile tüm yapıyı kurdum:
- contract.md: Ajanın sınırlarını ve yapabileceklerini tanımlayan, bir kez yazılan sözleşme dosyası.
- target/: Ajanın üzerinde değişiklik yapabileceği hedef dosyaların bulunduğu dizin.
- eval: Çıktıyı otomatik puanlayan ve ajanın hile yapmasını önlemek adına asla değiştirilmeyen (immutable) yargıç dosya.
- state/: Gerçekleştirilen her denemeyi ve kararı kaydeden, yalnızca ekleme yapılabilir (append-only) günlük klasörü.
Yazılım Geliştirme Çıkarımı: Üretim ve değerlendirme süreçlerinde tek bir model kullanmak, aynı kör noktalara sahip iki optimistin sürekli birbirini onaylamasına yol açar. Bu yüzden, üreteci (generator) ve değerlendirici (evaluator) modellerin bağlamlarını (context) birbirinden tamamen ayırmak, sistemi çok daha kararlı hale getirir.
Değerlendirme (Eval) Yazmak Gerçek Bir Yetenektir
Geliştiricilerin en çok zorlandığı alan 'Neyi ölçeceğim?' sorusudur. E-posta önceliklendirme üzerinden gidersek; ajanın yaptığı sınıflandırma hatalarını manuel olarak düzeltirim. Bu düzeltmelerin her biri yeni bir test senaryosu haline gelir. Değerlendirme betiği, geçmiş e-postaları mevcut kurallarla tekrar sınıflandırıp düzeltmelerimle kıyaslar. Çıkan doğruluk yüzdesi, döngünün yükseltmeye çalıştığı skordur.
Pratik Öğrenim Çıkarımı: Bir işi otomatikleştirmeden önce, 'iyi' veya 'başarılı' çıktının ne anlama geldiğini kodun denetleyebileceği matematiksel bir metriğe dönüştürebilmek, günümüz geliştiricisinin asıl odaklanması gereken uzmanlık alanıdır.
Diğer Hatam: Durum Bilgisi (State) Eksikliği
İlk denemelerimde bir durum dosyası (state file) kullanmamıştım. Bu yüzden ajan her çalıştırmada geçmişi unutuyor, her sabah sıfırdan başlayıp aynı hataları tekrarlıyordu. Disk üzerine TSV formatında bir günlük dosyası ve kurallar listesi ekleyerek sistemi hafızası olan bir yapıya kavuşturdum. Unutmayın: Ajan unutur, diskteki dosya asla unutmaz.
Bir görevi otonom döngüye almadan önce şu beş soruyu sormanız gerekir:
- Görev kendini düzenli tekrar ediyor mu? (Haftalık frekanstan azsa manuel prompt daha verimlidir.)
- Çıktıyı sayısal bir skorla puanlayabiliyor musunuz?
- Ajan kendi ürettiği çıktıyı çalıştırıp test edebiliyor mu?
- Döngünün kesin bir durma noktası (hard stop) var mı?
- Değerlendirme sistemi manipülasyona kapalı mı? (Hold-out test verileri kullanın.)
Orijinal makaleye buradan ulaşabilirsiniz.
Bu konuyu daha derinlemesine öğrenmek ister misin?
Edumints'teki ücretsiz kursları incele ve bugün başla.
Kurslara Göz At →