🚨 Riskler & Yaygın Hatalar

Riskler & Yaygın Hatalar: Aşağıdaki risklere karşı sertleştirilmemiş bir agent inşa etmek, hiçbir zaman yavaş bir ağa, eksik bir elemente veya locale değişikliğine karşı çalıştır

Aşağıdaki risklere karşı sertleştirilmemiş bir agent inşa etmek, hiçbir zaman yavaş bir ağa, eksik bir elemente veya locale değişikliğine karşı çalıştırılmamış bir Selenium suite'i yayınlamak gibidir — mekanizma birebir aynı: aşağıdaki her risk, bir demo'da doğru olan ama gerçek production koşullarında kırılan, önceden görünmez spesifik bir varsayımdır (model her zaman bir araç çağıracak, temperature=0 her zaman aynı çıktı demektir, bir log dosyası her zaman API'ye gönderilecek kadar küçüktür) — tıpkı sadece hızlı bir yerel ağda çalışmış ve hiç timeout yönetmeyi öğrenmemiş bir test suite'i gibi. Üzerinde durulması gereken soru şu: aşağıdaki her risk adlandırıldığında bu kadar bariz görünüyorsa, neden bu kadar çok gerçek agent deployment'ı yine de bunlara çarpıyor? Çünkü hiçbiri hızlı bir demo'da görünür değildir — bir demo koşusu kısadır, küçük ve güvenilen bir log kullanır, hiçbir zaman rate limit'e çarpmaz ve hiçbir zaman enjekte edilmiş metinle kandırılmaz; bu başarısızlık biçimlerinin her biri sadece gerçek production trafiğinin ölçeğinde ve düşmanca koşullarında ortaya çıkar, tıpkı flaky bir testin sadece yeterince gerçek koşudan sonra kendini göstermesi, hiçbir zaman tek bir temiz demo'da göstermemesi gibi. Java karşılaştırması: bu, "happy path bir kez derlenir ve çalışır" ile "kod bir production yük testinden sağ çıkar" arasındaki aynı farktır — çalışan bir demo ile sertleştirilmiş bir sistem farklı barlardır, ve fark tam olarak aşağıda listelenen edge case'lerdir. QA bağlamı: bu liste seni agent inşa etmekten korkutmak için değil — bir kıdemlinin bir agent'ı "production'a hazır" demeden önce kendine uyguladığı referans checklist'tir, tam olarak Claude AI sayfasının Riskler sekmesinin günlük Claude kullanımı için oynadığı rol gibi.

Sekiz Başarısızlık Biçimi, Tek Disiplin: Göndermeden Önce Sertleştir

Aşağıdaki her madde gerçek bir başarısızlık biçimini, mekanik nedenini ve çözümünü adlandırır — seni agent inşa etmekten korkutmak için değil, bir kıdemli tester'ın agent-tabanlı bir özelliği göndermeye hazır demeden önce gözden geçirdiği somut checklist olarak.

Key, bir ortam değişkeninden okunmak yerine doğrudan kaynak kodda commit edildi — Claude AI sayfasının Erişim & Kurulum sekmesinde işlenen aynı hata, burada gerçek bir olay olarak gösteriliyor.

Kod, API çağrısı etrafında hiç backoff/retry yönetimi içermiyordu — bir entegrasyon testinde flaky bir ağ çağrısını yönetmemekle aynı dayanıklılık boşluğu.

Kod, modelin her zaman bir araç çağrısı döndürdüğünü varsaydı, ama model meşru şekilde düz metin de döndürebilir — örneğin görevin hiç araca ihtiyaç duymadığına karar verip veya açıklayıcı bir soru sorup. Bu tam olarak Kendi Test Agent'ını Yaz sekmesindeki döngünün "if not message.tool_calls: break" dalıdır, ve bu madde bunu atlarsan ne olacağını gösterir.

while True döngüsünün sabit bir iterasyon üst sınırı yok, bu yüzden model verimsiz bir çağrı deseninde takılırsa — veya bir araç sürekli hata döndürüp model aynı şekilde tekrar tekrar denerse — döngü doğal olarak hiç sonlanmaz.

Geniş yetkili bir araç kayıtlıydı VE model, okuduğu veride düşmanca metinle başarılı şekilde kandırıldı — bu gerçek zarara ancak tehlikeli araç zaten var olduğu ve çağrılabilir olduğu için yol açıyor.

Örnekler anonimleştirilmeden doğrudan gerçek destek ticket'larından veya bug raporlarından alındı, ve fine-tune edilmiş bir model bazen eğitim verisinin parçalarını çıktılarda yeniden üretebilir — güvenliksiz log'ları yapıştırmakla aynı gizlilik riski sınıfı, ama şimdi tek bir konuşma yerine kalıcı olarak bir model artifact'ına gömülü.

temperature=0, sampling adımını prensipte deterministik yapar — her seferinde en yüksek olasılıklı token'ı seç — ama tüm sağlayıcılar ve altyapılar arasında byte-byte birebir aynı çıktıyı garanti etmez; başka backend faktörleri küçük varyasyonlar getirebilir.

Büyük bir log dosyası, token sayısı önce kontrol edilmeden doğrudan prompt'a yapıştırıldı — context window sekmesindeki context window'u yumuşak bir öneri değil, sert bir sınırdır.

Adım Adım: Üretime Almadan Önce Bir Agent'ı Doğrulamak

Kodun hiçbir yerinde gömülü bir API key olmadığını doğrula.

Bir maksimum-adım sınırının var olduğunu doğrula.