Yapay Zeka Kodlama Asistanım Sürekli Bozuluyordu — Neleri Değiştirdim
Altı hafta önce, yapay zeka kodlama asistanım çöp üretiyordu.
Derlenen ancak hiçbir işe yaramayan fonksiyonlar yazıyordu. Testleri yanlış sebeplerle geçiyordu. Bir hatayı düzeltiyor ama üç yeni hata yaratıyordu.
Sorunun asistan olduğunu düşünmüştüm. Yanılmışım. Sorun, benim kendi disiplinsizliğimdi.
Mühendislik işlerimin %40'ında bir yapay zeka asistanı kullanıyorum. Refactor işlemleri, test oluşturma ve hata incelemelerini yönetiyor. Kod tabanım dağınık olduğunda, yapay zeka bu dağınıklığı 3 kat daha kötü hale getiriyordu.
Yapay zeka disiplinin yerini almaz. Halihazırda neye sahipseniz onu büyütür.
Çıktıyı düzeltmek için iş akışımı şu şekilde değiştirdim:
Testler durumu (state) değil, davranışı (behavior) doğrulamalıdır. "assert user is not None" gibi testler yazmayı bırakın. Bu bir yalandır. Bir test, "assert user.email == expected_email" gibi belirli verileri kontrol etmelidir. Eğer test zayıfsa, yapay zeka bunu suistimal edecektir.
Her bir diff'i okuyun. Eskiden koda bakmadan refactor işlemlerini kabul ederdim. Bu durum döngüsel bağımlılıklara ve karmaşık bir mimariye yol açıyordu. Bir değişikliğin neden daha iyi olduğunu açıklayamıyorsanız, onu reddedin.
Durumu (state) açık hale getirin. Yapay zekanın önbellekleri (cache) veya oturumları (session) nasıl yöneteceğini "kendi kendine bulmasına" izin vermeyin. Bunları istemlerinizde (prompts) veya şemalarınızda tanımlayın. Çıkarılan durumlar (inferred state), canlı ortamı (production) çökertecek sessiz hatalara yol açar.
Asistan değişiklikleri için kendi testlerinizi yazın. Asistan kodu her değiştirdiğinde, önce insan tarafından yazılmış bir test yazıyorum. Bu 15 dakika alıyor ama saatlerce sürecek hata ayıklama (debugging) zahmetinden kurtarıyor.
Hataların açıkça raporlanmasını talep edin. Eğer bir değişiklik testleri geçiyor ama mantığı bozuyorsa, sistem bunu işaretlemelidir. "Testler geçiyor, yayına al" ifadesini asla geçerli bir metrik olarak kabul etmeyin.
Sonuçlar:
- Haftalık hata sayısı 5'ten 1'in altına düştü.
- Haftalık hata ayıklama süresi 6 saatten 1 saate düştü.
Asistan değişmedi. Ben değiştim.
Eğer yapay zeka asistanları kullanıyorsanız, önce kod tabanınızı düzeltin. Testlerinizi iyileştirin, durumunuzu netleştirin ve incelemelerinizi sıkılaştırın.
Asistan bir aynadır. Büyütülmeye değer bir şeyiniz olduğundan emin olun.
Kaynak: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f
İsteğe bağlı öğrenme topluluğu: https://t.me/GyaanSetuAi
