Döngüdeki İnsan (Human-in-the-Loop): Ajan Tabanlı Geliştirmede Denetim ve Güvenilirlik
Kaynak: dev.to

İçindekiler 5 başlık
Başlangıç#
Pragmatik bir yapay zekâ geliştiricisi olarak ajanları her gün kullanıyorum ve ürettikleri her kod satırını hâlâ okuyorum. Bir çalışma arkadaşım, "Buraya geldiğimden beri hiç kod yazmadım" dedi. Şirkette 10 aydır çalışıyor. Kaç satır kod yazdığı önemli değil; asıl soru ne kadar kod okuduğu. On ay boyunca merge edilen PR'lar, onun adını taşıyan devasa bir kod tabanı demek. Gece saat 02.00'de bir şeyler kırıldığında o kodu tanıyıp çözebilecek mi? Modern ajan tabanlı yapay zekâ geliştirmede döngüdeki insan (human-in-the-loop) yaklaşımını bu yüzden savunuyorum; son günlerde ise bu terimin kendisini savunmak zorunda kalıyorum.
Sonraki Aşama#
Konferanstan dönen bir diğer meslektaşım, terimin "döngüdeki insan" değil "kontroldeki insan" (human-in-control) olması gerektiğini söyledi. Bunu anlatmak için bir hikâye paylaştı: İçki ve maddelerin olduğu bir partiye giden bir çocuk ailesine mesaj atar; ebeveyn "haberdardır" (loop'tadır) ama çocuk yine de partiye gider. Meslektaşım, ebeveynin sadece bilgilendirilmek yerine ipleri elinde tutması gerektiğini savundu. Bir konferans konuşması için çarpıcı olsa da bu benzetme beni rahatsız etti.
Beni Neden Rahatsız Etti?#
Bu hikâye, kurumsal ofislerdeki "bilgisi dahilinde olma" (CC'ye eklenme) anlamını temel alıyor. Haberdarsınızdır ama hiçbir süreci durduramazsınız. Mühendislikte kastettiğimiz döngü ise bir geri bildirim döngüsüdür (feedback loop). Girdi gelir, işlenir, sonuç denetlenir ve denetim sonraki adıma karar verir. İnsanı bu döngüye koyduğunuzda iş onun onayından geçmek zorundadır. Tıpkı bir termostatın fırına sadece bildirim göndermeyip onu fiilen açıp kapatması gibi; gerçek döngüdeki ebeveyn, araba yola çıkmadan önce "evet" demek zorunda olandır.
Ayrıca "kontroldeki insan" ifadesi her tuş vuruşunu yönetmek gibi hissettiriyor. Ajana her satırı dikte edeceksek, yalnızca fazladan adımları olan çok yavaş bir daktiloya dönüşürüz. İstediğimiz şey, ajanın iyi olduğu işi yapmasına izin verirken, konuyu anlayan bir insan denetimi olmadan hiçbir kodun canlıya çıkmamasını sağlamaktır.
Tanım#
Döngüdeki insan; kodu okumaktan, değerlendirmekten ve çalıştırmaktan sorumlu kişidir. Bu pasif bir bildirim değil, sürecin zincirindeki halkadır. Döngüdeki insan şu rollerde yer alır:
- PR İnceleyen Geliştirici: Kodu gerçekten okur; diff yetersiz kaldığında branch'i çeker ve onay vermeden önce fonksiyonun varlık sebebini sorgular.
- Teknik Lider: Ajanın yazdığı iddialı PR açıklamasına kanmaz; açıklamanın kodla örtüştüğünü doğrular ve diff dışındaki dosya referanslarını inceler.
- QA Mühendisi: Ajanın kendi kodunu doğrulamak için yazdığı yüzeysel testlerin aksine, özelliğin gerçekte nasıl davranması gerektiğini düşünerek kapsamlı entegrasyon ve otomasyon testleri kurar.
Bu kişilerin her biri süreci durdurma yetkisine sahiptir; tüm amaç da budur.
Ne Değildir?#
- Ajanın bir PR açtığını bildiren basit bir Slack mesajı değildir.
- Toplantı aralarında telefondan tıklanan acele bir onay değildir.
- Değiştirilen 1.400 satırlık koda üstünkörü göz atıp onaylamak değildir.
Bu konuyu derinlemesine öğrenmek isterseniz: Production'da Agent Güvenilirliği modülüne göz atın.
Kaynak ve atıf
Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- dev.to/rfornal/human-in-the-loop-5hga