Cron'um OK Dedi Ama Hiçbir Şey Yapmadı

Geçen Salı, OpenClaw ajanım bir güvenlik denetimi gerçekleştirdi.

Panel yeşil ışık gösteriyordu. Durum: ok diyordu. Hiçbir hata veya uyarı yoktu.

Ancak ajan hiçbir şey yapmadı.

Ajan görev sırasında çöktü. Bir MiniMax aşırı yüklenme (overload) hatası oluştu. Dış framework bunu yakalamadı. Ajan başarısız olmasına rağmen framework işlemi başarılı tamamlandı olarak gördü.

Bu hatayı ancak üç gün sonra oturum dökümünü (transcript) manuel olarak kontrol ettiğimde bulabildim.

Bu sessiz çökmeleri bulmak için bir yönteme ihtiyacım vardı. Sorunu çözmek için 30 satırlık bir inceleme betiği (script) yazdım.

Sorun Frameworkler ağ zaman aşımlarını ve kimlik doğrulama hatalarını tespit eder. Ancak bir ajan turunun içinde neler olup bittiğini tespit edemezler. Bir alt ajan çöktüğünde, sistem genellikle belirli bir mesaj üretir: "[assistant turn failed before producing content]".

Framework için bu normal bir mesaj gibi görünür. Durum "ok" olarak kalır. Bu, sessiz bir hatadır. Bulması en zor hata türüdür.

Çözüm Sadece durum kodunu kontrol etmek yerine, gerçek döküm içeriğini kontrol eden bir betik ekledim.

Betik, o özel hata dizisini arar. Ayrıca metinden tam hata mesajını çekmek için bir düzenli ifade (regular expression) kullanır.

Bu, betiğin şu gibi gerçek nedenleri göstermesini sağlar:

  • overloaded_error
  • rate_limit_exceeded
  • context_length_exceeded

Hata ayrıntılarını gördüğümde kök nedeni buldum. Çökmeler bir model geri dönüş (fallback) zincirinden kaynaklanıyordu. Zincirleme hatalara neden olan ücretsiz fallback modelini kaldırdım. Bunu kaldırmak cron işlerimi daha hızlı ve güvenilir hale getirdi.

Sonuç Betik artık her gece çalışıyor. Bir önceki günün dökümlerini kontrol ediyor. Eğer sessiz bir çökme bulursa Telegram'ıma bir uyarı gönderiyor.

Artık hataları bulmak için günlerce beklemiyorum. Onları her sabah görüyorum.

Ders Yeşil bir panel, ajanınızın çalıştığı anlamına gelmez. Framework durumu ve ajan çıktısı farklı şeylerdir.

Eğer otomatik ajanlar çalıştırıyorsanız, yalnızca durum kodlarına güvenmeyin. Dökümleri kontrol edin. Sizin yerinize dökümleri kontrol edecek bir araç oluşturun. En çok hasarı sessiz hatalar verir.

Kaynak: https://dev.to/mrclaw207/my-openclaw-cron-said-ok-but-did-nothing-i-fixed-it-with-a-30-line-review-script-33ll

İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi