« Tüm yayınlar

Yapay zeka kodunda bakım kalitesini izleyen sensörler

Bir mühendis, AI ajanlarının ürettiği kodun bakım kalitesini korumak için kodlama, pipeline ve üretim aşamalarına yerleştirdiği statik analiz, test ve güvenlik sensörlerini paylaşıyor.

Bir mühendis, tamamen yapay zeka ile yeniden inşa ettiği bir analitik panel uygulaması üzerinden, kod tabanının 'bakım kalitesini' (internal quality) izlemek için kullandığı sensör mimarisini paylaşıyor. Fonksiyonel doğruluk ve mimari uygunluğun aksine, bakım kalitesi zamanla değişiklik yapmayı düşük riskli tutmakla ilgili; yazar bunun bozulduğunu genelde küçük bir değişikliğin çok fazla dosyayı etkilemesiyle veya önceden çalışan şeylerin bozulmasıyla fark ediyor. Karmaşık bir kod tabanında AI ajanlarının da insan geliştiriciler gibi yanlış yerde arama yapabildiği, kopya kod fark edemediği veya gereğinden fazla bağlam yüklemek zorunda kalabildiği vurgulanıyor.

Yazar; tip kontrolü, ESLint, Semgrep, dependency-cruiser, test kapsamı, artımlı mutasyon testi ve GitLeaks gibi kodlama sırasında çalışan 'hesaplamalı' sensörlerin yanı sıra, güvenlik ve veri işleme incelemeleri, bağımlılık güncellik raporu ve modülerlik analizi gibi periyodik olarak çalışan 'çıkarımsal' sensörleri de sisteme entegre ediyor. Bu sensörler kodlama oturumunda, CI pipeline'ında ve düzenli aralıklarla tekrar çalıştırılarak hem anlık hataları hem de zamanla birikin sapmaları yakalıyor.

ESLint deneyiminde, fonksiyon uzunluğu, argüman sayısı ve döngüsel karmaşıklık gibi AI'nin sıkça ihlal ettiği kurallar için varsayılan eşiklerin manuel olarak sıkılaştırılması gerektiği ortaya çıkıyor. Yazar, ajanın uyarıları bastırırken gerekçe yazmasını zorunlu kılan özel bir ESLint formatlayıcısı geliştiriyor; böylece eşik artırımları veya tip bastırmaları izlenebilir ve gözden geçirilebilir hale geliyor. Gözlemlere göre, ajanlara net bir öz-düzeltme talimatı verilmediğinde (örneğin karmaşıklık eşiğini artırmanın istisna olması gerektiği belirtilmediğinde) AI eşiği gereğinden kolay yükseltiyor; talimat netleştirildiğinde ise iyi yeniden düzenlemeler önerebiliyor.

Bu deneyim, mühendislere AI destekli geliştirmede statik analiz araçlarının varsayılan ayarlarının yetersiz kaldığını ve ajanlara yönelik özel rehberlik metinleriyle desteklenmesi gerektiğini gösteriyor. Ayrıca, uyarı yönetiminin tarihsel olarak ekipler için zahmetli olduğu ama AI ajanlarıyla artık daha sürdürülebilir bir 'temiz taban çizgisi' kurmanın mümkün olabileceği öne sürülüyor.

» KaynakMartin Fowler