Story

Bir yapay zeka QA ajanı tek bir Mac mini üzerinde nasıl çalışıyor

1.792 bozuk test, bir Mac mini ve 24 araçlı bir ajan. PerfectApps QA ajanı testleri nasıl onarıyor, hataların triyajını nasıl yapıyor ve release'leri nasıl onaylıyor; neden bir Linux VPS yerine Apple silicon üzerinde çalışıyor.

Güncelleme: 2026-09-15

PerfectApps, kodsuz (no-code) bir uygulama platformu. QA ekibi Cypress ve Selenium'da 2.100'den fazla otomatik test senaryosuyla ilgileniyor. Bugün bu işin büyük kısmını, dedike tek bir Mac mini üzerinde yaşayan bir yapay zeka ajanı başlatıyor, analiz ediyor ve raporluyor.

Ajanın nasıl ortaya çıktığı, ne yaptığı ve donanım seçiminin neden bilinçli olduğu aşağıda.

Her şey 1.792 bozuk testle başladı

Zorunlu bir güvenlik düzeltmesi, Bootstrap'i PerfectApps kod tabanının tamamından kaldırdı. Sayfa yapısı her yerde aynı anda değişti ve ürünün 50'den fazla alanında 1.792 test senaryosu aynı gün bozuldu.

Elle onarım için kimse ayrıntılı bir tahmin yapmadı, çünkü bu iş hiçbir zaman elle yapılmadı. Kabaca öngörü şuydu: tüm ekip, yani dört kişi, iki aya kadar başka hiçbir şeyle uğraşmadan.

Ajan o noktada bir fikir olmaktan çıktı.

Önce onarım, sonra kapsama, sonra değerlendirme

Onarım. Ajan 1.792 testi tek tek düzeltmek yerine her kök nedeni bir kez buldu ve düzeltmeyi etkilenen tüm spec'lere uyguladı. Giriş işlemi tek bir ortak komuta taşındı; böylece tek bir değişiklik her teste ulaştı.

Kapsama. Onarım işe yarayınca aynı yaklaşım hiç test edilmemiş alanlara yöneldi. Test paketi 1.400'den 1.955 spec dosyasına çıktı. Buna, bir canvas üzerine çizilen ve bir testin tıklayabileceği hiçbir şey sunmayan görsel bir diyagram tasarımcısı da dahildi. Çözüm, canvas'ı test etmeyi bırakıp bunun yerine kaydedilen verileri kontrol etmekti: 51 yeni spec, ilk tam çalıştırmada hepsi yeşil.

Değerlendirme. Her regresyondan sonra birinin hataları tek tek inceleyip hangilerinin bozuk test, hangilerinin gerçek hata, hangilerinin gürültü olduğuna karar vermesi gerekiyordu. Bu, her release'te üç kişi arasında toplam 12 saat sürüyordu. Artık bu ajanın işi. Bir release'te 1.748 test sonucunu inceledi ve yaklaşık 300 hata arasında tam olarak bir gerçek ürün hatası buldu. Geri kalanı geçişten kalan borçtu.

Ajan ne yapıyor

Ajanın 24 aracı var ve hangilerini hangi sırayla çağıracağına kendisi karar veriyor. Ekip onunla Microsoft Teams'te ya da web üzerinden düz İngilizceyle konuşuyor.

Bir release çalıştırması sabit bir pipeline'dan geçiyor:

One release run

  1. 1SanityA smoke test on production. If it fails, everything stops.
  2. 2RegressionMore than 2,100 test cases in five parallel lanes, in about 90 minutes.
  3. 3New testsSpecs for areas without coverage, generated while regression runs.
  4. 4TriageEvery failure classified as a test issue, a real bug, a flaky test or a known blocker.
  5. 5ReportA GO or NO-GO verdict, posted to Teams and to the GitHub pull request.
Beş aşama, yaklaşık doksan dakika, tek bir karar.

Nelerin değiştiğine birkaç örnek:

GörevElleAjanla
Tam bir regresyon çalıştırmasının triyajı12 saat, 3 kişiDakikalar içinde
Bir Jira kaydından yeni test yazmakHer biri 2 ila 4 saatDakikalar içinde
Regresyondan sonra kanıtlarıyla hata kaydı açmakHer biri 30 ila 60 dakikaOtomatik
Bir hotfix release'ini onaylamakYarım günDakikalar içinde

Değer, tek tek satırlarda kazanılan zamanda değil. Değer, haftalarca süren elle çalışmanın artık release döngüsünde hiç yer almamasında.

Neden Linux sunucu değil de Mac mini

Ajan, dedike bir Mac mini üzerinde doğrudan (native) çalışıyor. Docker yok, Kubernetes yok, küme yok. Dış dünyaya bir Cloudflare Tunnel üzerinden ulaşıyor.

Bu, bir Linux VPS ile karşılaştırıldıktan sonra verilmiş bir karardı:

  • Tarayıcılar daha hızlı çalışıyor. Apple silicon üzerinde Chrome ve Cypress, VPS'e göre üç ila beş kat daha hızlı çalıştı.
  • Ajan gerçek depo üzerinde çalışıyor. Test dosyalarını doğrudan okuyup yazıyor; bu yüzden yeni bir spec oluşturmak için ek bir API katmanı gerekmiyor.
  • Taklit edilecek bir şey yok. Mac'in gerçek bir görüntü katmanı var; bu yüzden yalnızca bir tarayıcı açmak için ayakta tutulması gereken sanal bir ekran sunucusu yok.
  • Yerel modellere yer var. Mac'in Neural Engine'i üzerindeki küçük modeller yönlendirme ve basit sınıflandırmayı üstlenebiliyor; buluttaki büyük model ise gerçekten gerektiren akıl yürütmeye ayrılıyor.

VPS ayda 43 dolar daha ucuza gelecekti. Bu, taşınmanın gerektireceği bir günlük mühendislik emeğinden daha az.

Bir ajan geliştiriyorsanız bunun anlamı

  • Ajana kendi makinesini verin. Bir tarayıcıya, bir dosya sistemine ve kimse oturumunu kapatmadan ya da onu yeniden başlatmadan saatlerce çalışabilme serbestliğine ihtiyacı var.
  • Kimsenin istemediği işle başlayın. Darboğaz yeni özellik yazmak değil, triyaj ve test onarımıydı.
  • Son kararı bir insana bırakın. Ajan sınıflandırıyor ve öneride bulunuyor. Bir release'in yayına çıkıp çıkmayacağına ekip karar veriyor.
  • Donanımı iş yüküne göre seçin. Ajanınız bir tarayıcı kullanıyorsa ya da Apple platformları için build alıyorsa, Apple silicon kendini hızla amorti eder.

PerfectApps QA ajanı şirket içi kullanım için geliştirildi ve MacDuty'de dedike bir Mac mini üzerinde çalışıyor.

Bugün stokta

Bunlar şu anda kabinde. Birini seçin, neyle geldiğine bakın ve hesabınızı yalnızca sipariş verirken oluşturun.

Kabinler kontrol ediliyor

Size ait bir Mac mini

Bir yapılandırma seçin. Stokta yoksa e-postanızı bırakın, kabine girdiği gün size yazalım.

Yıllık: aylık ödemeye göre en az %19 daha az

  • 16GB

    Birleşik bellek, 120 GB/s

    Çekirdek
    10 CPU, 10 GPU
    Depolama
    Mevcut
    Stokta
  • En çok seçilen
    24GB

    Birleşik bellek, 120 GB/s

    Çekirdek
    10 CPU, 10 GPU
    Depolama
    Mevcut
    Stokta
  • 32GB

    Birleşik bellek, 120 GB/s

    Çekirdek
    10 CPU, 10 GPU
    Depolama
    Mevcut
    Stokta
Visa Mastercard SEPA havalesiFiyatlar EUR cinsinden; KDV, uygulandığı durumlarda ödemede eklenir. En az bir ay, sonra istediğiniz ay iptal edin.

Sıradaki