« Tüm yayınlar

Dağıtık Sistemleri Yapay Zeka Ajanlarıyla Test Etmek

Claude Code, Codex ve benzeri ajanlar için iddiaya dayalı test planı ve bulgu raporu üreten iki SKILL.md becerisi, dağıtık sistem hatalarını yakalıyor.

Dağıtık ve durum bilgili (stateful) sistemleri test etmek için iki tamamlayıcı yapay zeka ajanı becerisi geliştirildi. Biri sistemin verdiği vaatlerden (claim) yola çıkarak bir test planı tasarlıyor, diğeri bu planı yürütüp bulguları raporluyor. Her ikisi de düz SKILL.md dosyaları olarak sunuluyor ve Claude Code, Codex, Copilot CLI, Cursor, Gemini gibi Markdown okuyup shell çalıştırabilen herhangi bir ajanla kullanılabiliyor. Sonuçta bir gözden geçirici, testleri yeniden çalıştırmadan sadece plan ve bulgu raporunu okuyarak sevkiyat kararı verebiliyor.

Yaklaşım, klasik entegrasyon testlerinin kısmi ağ bölünmeleri, deterministik olmayan eşzamanlılık, çökme-kurtarma senaryoları ve yeniden oynatma altında idempotentlik gibi üretimde gerçekten kırılan durumları büyük ölçüde kaçırdığı gözlemine dayanıyor. Bunun yerine her senaryo tek bir vaadi tek bir arıza altında çürütmeye çalışacak şekilde adlandırılıyor; güvenlik, dayanıklılık, izolasyon veya sıralama gibi kritik iddialar için soyut bir model (kayıt, kuyruk, log, kilit, kira, defter gibi), işlem geçmişi şeması, adlandırılmış bir doğrulayıcı (linearizability, serializability, exactly-once vb.) ve gözlemlenebilir arıza kanıtı zorunlu tutuluyor.

Sessiz geçişleri önlemek için her PASS, arızanın gerçekten tetiklendiğine dair kanıt taşımak zorunda; sonuçlar 10 durumlu bir doğrulama kümesiyle raporlanıyor ve her FAIL, SUT, test altyapısı, doğrulayıcı ya da ortam sorumluluğuna ayrılıyor. Bu, mühendislerin sadece 'kaos betiği çalıştı' ile 'iddia arızaya dayandı' arasındaki farkı net görmesini sağlıyor ve tekrar üretilebilirlik için doğru ekibe yönlendirme yapıyor.

Becerinin kurulumu tek satırlık bir komutla, herhangi bir kodlama ajanına verilerek yapılabiliyor; ajan depoyu klonlayıp kendi yapılandırmasına sembolik bağlantılarla ekliyor ve güncellemeler git pull ile idempotent şekilde yürütülüyor.

» KaynakHashnode #7