Yapay Zeka Kod İnceleme Asistanı Geliştirirken Öğrendiklerim: Yanlış Yeteneği Düzeltmek İçin Bir Hafta Harcadım Yazılım

Yapay Zeka Kod İnceleme Asistanı Geliştirirken Öğrendiklerim: Yanlış Yeteneği Düzeltmek İçin Bir Hafta Harcadım

AI kod inceleme aracı geliştirirken yanlış yeteneği düzeltmek için bir hafta harcadım. Asıl çözüm bambaşka bir yerdeydi. İşte öğrendiklerim.

Yapay zeka destekli bir kod inceleme eklentisi geliştirirken, en büyük dersi yanlış sorunu çözmeye çalışarak aldım. Bir hafta boyunca, eklentinin yanlış pozitif ürettiği bir senaryoyu düzeltmek için uğraştım. Dört farklı sürümde, inceleme prompt'unu defalarca yeniden yazdım, ancak sorun çözülmedi. Sonunda, hatanın kaynağının tamamen farklı bir yetenekte, yukarı akışta tek bir satırlık bir kod değişikliği olduğunu fark ettim. Bu deneyim, AI sistemlerini değerlendirirken doğru metrikleri kullanmanın ve sorunun kök nedenine odaklanmanın ne kadar önemli olduğunu gösterdi.

Eklentinin temel modeli (Claude Opus, herhangi bir yönlendirme olmadan) zaten ders kitabındaki hataların yaklaşık %65'ini yakalıyordu. Bu, eklentinin asıl değerinin yanlış pozitifleri bastırmak ve risk sınıflandırması yapmak olduğu anlamına geliyordu. Çünkü temel model, çoğu hatayı kendi başına zaten buluyordu. İlk değerlendirme sürümünde eklenti %87.8 başarı elde ederken, temel model %70 civarındaydı. Aradaki fark, eklentinin daha az yanlış pozitif üretmesi ve daha iyi risk sınıflandırması yapmasından kaynaklanıyordu. Örneğin, sadece dokümantasyon içeren PR'larda güvenlik bulgusu hayal etmiyordu.

Eklentinin doğruluğunu artırmak için alan bilgisi ekledim: CSV formül enjeksiyonu, Glacier depolama maliyet tuzakları, eski kimlik doğrulama önbellek etkileşimleri gibi konular. Bu, eklentinin başarısını %94.5'e çıkardı. Ardından testleri zorlaştırdım: on yeni senaryo ekledim ve puanlamayı yeniden ağırlıklandırdım. Böylece temel modelin kolay kazandığı senaryoların etkisi azaldı ve aradaki fark açıldı: eklenti %94.1, temel model %64.6. Son olarak, değerlendirme metriklerindeki risk sınıflandırması puanını 5'ten 10'a çıkardım ve aynı eklenti koduyla fark %9 daha arttı. Eklenti aslında riski doğru sınıflandırıyordu, ben sadece en iyi olduğu şeyi hafife alıyordum.

Son sürümde eklenti %97.7 başarıya ulaşırken temel model %66.6'da kaldı. Bu deneyim, AI sistemlerini değerlendirirken sadece nihai sayıya odaklanmamak gerektiğini gösterdi. Değerlendirme sürecinin kendisi, modelin güçlü ve zayıf yönlerini anlamak için kritik öneme sahip. Ayrıca, yanlış pozitifleri düzeltmek için prompt'u değiştirmek yerine, sorunun kaynağını bulmanın daha etkili olduğunu öğrendim. Bir satırlık kod değişikliği, haftalarca süren prompt mühendisliğinden daha işe yaradı.

Paylaş: