« Tüm yayınlar

Bir AI kod tabanınızı gerçekten anlıyor mu? Bunu nasıl test edersiniz

Bir AI ajanının kod tabanı anlayışını nasıl test edersiniz? Teardown denetimi yöntemi, on üç Ruby projesinde sınandı; güçlü ve zayıf yanları.

Kod yazma yeteneği artık büyük ölçüde çözülmüş bir problem; asıl soru şu: bir AI ajanı, kıdemli bir mühendis gibi 'neyin neye bağlı olduğunu' ve 'bunu değiştirirsem ne kırılır'ı gerçekten kavrıyor mu? Dosya açıklatmak, mimari trivia sormak ya da testlerin geçip geçmediğine bakmak işe yaramıyor çünkü bunlar akıcı ama yanlış cevapları doğru cevaplardan ayırt edemiyor.

Bir mühendis, bunun yerine 'teardown öncesi bağımlılık denetimi' adını verdiği somut bir yöntem geliştirmiş: gerçek bir uygulamanın merkezi modelini seçip ajana, bu modeli değiştirmeden önce ona bağımlı her yeri bulmasını istemek. Yöntemin gücü üç tasarım kararından geliyor: elle hazırlanmış, dosya:satır düzeyinde kesin bir cevap anahtarı; düz metni değil bu anahtarı esas alan bir değerlendirme; ve deterministik olmayan çıktıları yakalamak için her koşulun iki kez tekrarlanması. On üç gerçek Ruby kod tabanında, yapısal bir haritayla ve haritasız test edilmiş; büyük uygulamalarda fark belirginleşirken küçük, tek parça projelerde neredeyse eşitlenmiş.

Yazar testin sınırlarını da açıkça sayıyor: yalnızca statik bağımlılıkları yakalıyor, pub-sub veya dinamik dispatch gibi çalışma zamanı akışlarını kaçırıyor; tek bir görev tipine dayanıyor; cevap anahtarı kendi kör noktalarını taşıyor; ve ajanın tüm bağımlıları bulup bulamadığını ölçüyor ama hangisinin daha riskli olduğunu önceliklendirip önceliklendiremediğini ölçmüyor.

Mühendisler için önemi açık: production'a çıkmadan önce bir ajanın mimari anlayışını doğrulamanın somut, tekrarlanabilir bir yolu sunuyor — ve aynı zamanda böyle bir testin ne kadar kırılgan ve tartışmaya açık olduğunu gösteriyor.