Foruma hoş geldin 👋, Ziyaretçi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak tamamen ücretsizdir.

Gece Yarısı Otomasyon Botum, Kendi Hatasını Düzeltmek İçin Bana Bot Yazmamı İstedi!

webnix

Üye
Katılım
14 Mart 2026
Mesajlar
36
🤖 Gece Vardiyasının Yeni Patronu

Gece 02:30. Gözlerim ekrana yapışmış, bir Selenium botunun neden bir butona tıklamadığını debug ediyorum. Birden, mail bildirimim çaldı. "İşte!" dedim, "Bot çalıştı, raporu attı." Açtım baktım, gönderen: noreply@myproject.com. Konu: "CRITICAL: Ana Otomasyon Botu #3 Hata Döngüsüne Girdi".

İçeriği okuyunca kafayı yiyecektim. Meğerse benim o "akıllı" botum, aynı JSON parsing hatasını 127. kez almış ve log dosyası 1 GB'ı geçmiş. Mailin son cümlesi ise şaka gibiydi: "Önerilen Çözüm: Bu hatayı izleyip düzeltecek ve bana rapor edecek ikincil bir supervisor bot yazılmalı."

🔄 Kısır Döngü ve Kod İsyanı

Yani benim yazdığım kod, bana kendi bakımı için yeni kod yazmamı söylüyordu. İlk hissettiğim şey, derin bir yalnızlık ve makineye yenilmişlik hissiydi. Sonra kodu açtım. Basit bir `try-except` bloğu vardı ve hata yakalandığında sadece log'a yazıp aynı işlemi tekrar deniyordu.

Python:
while True:
    try:
        veri = json.loads(güvenilmez_api_cevabi)
        isle(veri)
    except json.JSONDecodeError as e:
        log_devasa_dosyasi.write(f"Hata: {e}\n")
        # Burada durmak yok, baştan al!

Sorun buydu! Bot, "iyi niyetle" işini yapmaya çalışıyor ama dış dünyadan (API'den) gelen bozuk veriyi hiçbir zaman temizleyemiyordu. Kendi kendini düzeltme mekanizması SIFIR. Sadece bağırıp duruyordu.

💡 Çözüm: Bot'a 'Dur' Demeyi Öğretmek

İkinci bir bot yazmak yerine, asıl bota biraz "akıl" eklemeye karar verdim. İhtiyacı olan şey, bir devre kesici (circuit breaker) mantığıydı. Aynı hatayı belirli bir süre içinde ardışık olarak X kez alırsa, durmalı ve insan müdahalesi için sinyal vermeliydi.

Python:
class AkilliBot:
    def __init__(self):
        self.ardisik_hata = 0
        self.max_hata = 5

    def calistir(self):
        while self.ardisik_hata < self.max_hata:
            try:
                # İşlemleri yap
                self.ardisik_hata = 0 # Başarılı olunca sıfırla
            except KritikHata as e:
                self.ardisik_hata += 1
                logla(e)
                if self.ardisik_hata >= self.max_hata:
                    insana_mail_at("Bot kendini durdurdu, gel beni kurtar!")
                    break # Döngüden çık!

Bu küçük değişiklikle, bot artık körü körüne çalışmak yerine, "Burada bir terslik var, durmalıyım" diyebiliyor. Mail atan ikinci bir bota gerek kalmadı.

Sonuçta, otomasyon demek, "koy ve unut" demek değilmiş. "Akıllıca koy, kontrollü unut" demekmiş. O gece bana mail atan bot aslında şunu söylüyormuş: "Bana sadece ne yapacağımı değil, ne yapmayacağımı da öğret."

Siz de benzer bir kısır döngüye, kendi kendini besleyen bir hataya düştünüz mü? "Akıllı" dediğimiz sistemlerimiz ne kadar aptalca davranabiliyor, değil mi?
 

Tema özelleştirme sistemi

Bu menüden forum temasının bazı alanlarını kendinize özel olarak düzenleye bilirsiniz.

Zevkine göre renk kombinasyonunu belirle

Tam ekran yada dar ekran

Temanızın gövde büyüklüğünü sevkiniz, ihtiyacınıza göre dar yada geniş olarak kulana bilirsiniz.

Geri