Testi Geçtim, Ama Yanlış Kodu Test Etmişim Yapay zekâ sistemlerinde tuhaf bir sorun var: aynı soruyu iki kez sorduğunda iki farklı cevap alabilirsin. Normal yazılımda 2+2 her zaman 4'tür. Modelde öyle değil. Bu yüzden ayrı bir düzenek kuruyorsun. Sabit sorular, sabit belgeler, kontrollü bir ortam. Kodu gerçek yolundan çağırıyor, sonucu puanlıyor, kaydediyor. İngilizcesi harness — koşum takımı. Atı arabaya bağlayan takım gibi: koşan at, ama yükü ve yönü takım belirliyor. Bende üç tane var. Biri her yeni kod canlıya çıkmadan önce koşuyor. Biri bilgi tabanına saldırı belgeleri sokup savunmanın tuttuğunu ölçüyor. Biri de yeni eklediğim bir kontrolün açık ve kapalı halini karşılaştırıyor. Sistem hakkında "şöyle davranıyor" diyebilmemin tek sebebi bu üç düzenek. Sonra şunu fark ettim. Saldırı testini koşturan düzenek, canlıda çalışan kodun aynısını değil, bir kopyasını çağırıyordu. Yani test geçiyordu ama geçen şey, kullanıcının karşılaştığı kod değildi. Devamı geldi. Bir düzenek saldırıyı doğru ölçüyordu, ama benim kurduğum savunma başka bir şeyi hedefliyordu — ölçülen problemle çözülen problem aynı değildi. Bir başkası, çalışırken canlı sisteme dokunma ihtimali taşıyordu; testin sonucu değil, testin kendisi sorundu. Üçü de "yeşil" veriyordu. Buradan çıkan şey şu: ölçüm aracı, ölçtüğü şey kadar hataya açık. Ve kimse ölçüm aracını test etmiyor, çünkü o zaten testin kendisi sanılıyor. Şimdi her koşumdan önce üç soruyu yazılı cevaplıyorum. Hangi kod dosyasını çağırıyor — canlıdaki mi? Neyi ölçüyor, düzeltmeye çalıştığım şeyin aynısı mı? Çalışırken dışarıya tek bir istek bile gidiyor mu? Üçünün de cevabı kayıtta. Çünkü "test geçti" cümlesi, testin doğru kurulduğunu kanıtlamıyor. Sen bir testin geçtiğini gördüğünde, tam olarak neyin geçtiğini biliyor musun? #AITwin #AIAgents #DigitalTwin #YapayZeka #LocalAI #TezcanErşayan