Human-in-the-Loop
Döngüde insan — onay noktaları
Bir ajanın otonom çalışırken belirli kritik noktalarda durup insandan onay, yön ya da karar istemesi; özerklik ile güvenlik arasındaki dengeyi kuran tasarım.
Tam otonom bir ajan hızlıdır ama hata yaptığında kimse fark etmeden devam eder. Her adımda onay isteyen bir ajan güvenlidir ama işe yaramaz; kullanıcı onu kendisi yapsa daha hızlı bitirir. Human-in-the-loop (HITL), ajanın akışına doğru yerlere yerleştirilmiş insan kontrol noktalarıdır.
Yaygın desenler: - Onay kapısı (approval gate): Ajan riskli bir eylemden (dosya silme, deploy, ödeme, e-posta gönderme) hemen önce durur; insan onaylar, reddeder ya da eylemi değiştirerek onaylar. - Planla, sonra uygula (plan-then-execute): Ajan önce sadece okur ve bir plan çıkarır; insan planı inceleyip onaylayınca uygulama başlar. Yanlış anlaşılmalar kod yazılmadan yakalanır. Claude Code'un plan mode'u tam olarak budur. - Eskalasyon: Ajan belirsizlikte ya da yetkisini aşan bir durumda tahmin yürütmek yerine soruyu insana yöneltir ("iki yorum mümkün, hangisi?"). - Sonradan inceleme: Ajan özgürce çalışır ama çıktısı (PR, taslak e-posta) yayına girmeden önce bir insan gözünden geçer.
Temel gerilim şudur: her onay noktası güvenliği artırır ama ajanın değerini, yani insanın zamanını kazandırmasını azaltır. İyi tasarım onayı geri alınamazlık ve etki alanı yüksek eylemlere saklar; gerisini sandbox ve izin kurallarıyla otomatik çalıştırır.
Yeni işe başlayan yetenekli bir stajyer gibi. Rapor taslağı yazmasına, veri toplamasına karışmazsın. Ama müşteriye e-posta göndermeden ya da sözleşmeye imza atmadan önce "bir bakar mısın?" demesini beklersin. Güven arttıkça kontrol noktaları azalır; geri dönüşü olmayan işlerde ise imza her zaman kıdemlidedir.
Bir şirket, müşteri iade taleplerini işleyen bir ajan kuruyor. Ajan sipariş geçmişini okuyabilir, iade politikasını kontrol edebilir ve yanıt taslağı yazabilir; bunların hepsi otomatik.
Ama iki noktada insan devreye giriyor:
1. 500 TL üzeri iadeler: Ajan issue_refund aracını çağırmak
istediğinde harness çağrıyı durdurur, destek ekibine özet ve
gerekçeyle bir onay isteği düşer.
2. Politika dışı durumlar: Ajan kural bulamadığında karar vermek
yerine talebi gerekçesiyle birlikte bir insana aktarır.
Sonuç: taleplerin büyük çoğunluğu dakikalar içinde kapanıyor, insan ekibi sadece gerçekten karar gerektiren vakalara bakıyor.
import { query } from "@anthropic-ai/claude-agent-sdk";
// askHuman(): kendi onay arayüzün (CLI, Slack, web paneli)
for await (const message of query({
prompt: "Geçici dosyaları temizle ve raporla",
options: {
// İzin akışında henüz onaylanmamış her araç çağrısında çalışır
canUseTool: async (toolName, input) => {
console.log(`Araç: ${toolName}`, input);
const ok = await askHuman("Bu eyleme izin veriyor musun? (e/h)");
if (ok) {
return { behavior: "allow", updatedInput: input };
}
// Model bu mesajı görür ve başka bir yol dener
return { behavior: "deny", message: "Kullanıcı reddetti" };
},
},
})) {
if ("result" in message) console.log(message.result);
}# Oturumu plan modunda başlat: Claude okur, araştırır, plan yazar
# ama kaynak dosyaları düzenlemez. Plan onaylanınca uygulamaya geçer.
claude --permission-mode plan
# Oturum içinde Shift+Tab ile modlar arasında geçilir
# ya da tek bir istek /plan önekiyle plan modunda gönderilir.- Geri alınamaz eylemler: silme, deploy, ödeme, dışarıya mesaj gönderme
- Belirsiz ya da çok yorumlu görevler — plan aşaması yanlış anlaşılmayı erkenden yakalar
- Düzenlenmiş alanlar (finans, sağlık, hukuk) — insan onayı genellikle zorunludur
- Ajana yeni bir iş verildiğinde, güven oluşana kadar
- Her araç çağrısında onay istemek — onay yorgunluğu yaratır, insan okumadan onaylamaya başlar
- Sandbox içinde güvenle tekrarlanabilen, geri alınabilir işler (test çalıştırma, dosya okuma)
- Gerçek zamanlı yanıt gereken akışlar — onay beklemek gecikmeyi kabul edilemez kılar
Onay yorgunluğu
Günde yüz kez 'izin ver?' gören kullanıcı yüzüncüde okumadan onaylar ve kontrol noktası kâğıt üstünde kalır. Onayları seyrek ama anlamlı tut; güvenli işleri izin listesine al.
Bağlamsız onay isteği
'rm -rf build/ çalıştırılsın mı?' sorusu, insan ajanın neden bunu istediğini bilmiyorsa anlamsızdır. Onay isteği ne yapılacağını, nedenini ve olası etkisini kısa bir özetle göstermeli.
Ret sonrası tıkanma
İnsan reddettiğinde ajan ne yapacağını bilmiyorsa ya aynı şeyi tekrar ister ya da durur. Reddi gerekçesiyle modele geri ver ki alternatif bir yol arayabilsin.