İçeriğe geç
edumintsBlog
Backend3 dk okuma

13 Yapay Zeka Modelinden 12'si Yeni İsmi Bildiği Halde Eski İsmi Yazdı

Kaynak: dev.to

Paylaş
İçindekiler 4 başlık

Test Edilenler ve Çarpıcı Sonuçlar#

Kaggle Kıyaslama Yarışması kapsamında hazırlanan bu çalışmada; 17 yapay zeka modeli, OpenTelemetry şartnamesinin 26 farklı sürümüne göre kod yazma, hatırlama ve düzeltme testlerine tabi tutuldu. Değerlendirme sonucunda öne çıkan bulgular şunlardır:

  • 17 modelden 16'sı kullanımdan kaldırılmış isimler yazdı ve bu isimlerin %83'ü bir yılı aşkın süredir yürürlükten kalkmıştı.
  • 13 modelden 12'si, doğrudan sorulduğunda doğru şekilde güncellediği isimleri kod yazarken eski haliyle kullandı.
  • 17 modelden 7'si, bir metriğin birimini değiştirip eski adını koruyarak onu "düzeltti"; bu da metriği her iki yönden işlevsiz hale getirdi.
  • Şartname sürümünü belirten tek bir yönlendirme cümlesi, eski isim kullanımını %36 azalttı ancak modellerin uydurma isimler türetmesine yol açtı.

Sessiz Hatalar: Semconv Drift Kıyaslaması#

Yapılan testlerde Claude Sonnet 5 modeline db.system özniteliğinin yerini neyin aldığı sorulduğunda, Ocak 2025'ten beri yürürlükte olan db.system.name yanıtını doğru verdi. Ancak aynı modelden bir go-redis çağrısına izleme (tracing) eklemesi istendiğinde şu kod bloklarını üretti:

  • attribute.String("db.system", "redis")
  • attribute.String("db.operation", cmdName)
  • attribute.String("db.statement", statement)

Buradaki üç öznitelik adı da kullanımdan kaldırılmıştır. Kod derlenir, span başarıyla dışa aktarılır ve backend veriyi depolar; görünürde hiçbir şey hata vermez. Ancak haftalar sonra db.system.name filtresi uygulayan izleme panosu hiçbir Redis trafiği göstermez ve boş kalan panoyu kimse üretilen kodla ilişkilendiremez. OpenTelemetry Go projelerine katkı sağlayan deneyimli mühendisler dahi bu açığı kod incelemelerinde fark edemeyebilir; çünkü kod doğru görünür, yalnızca şartname sürümüne uyumsuzdur.

Değişen Standartlar ve Dört Temel Görev#

Telemetrinin ortak dili olan anlamsal kurallar (semantic conventions) sürekli güncellenmektedir:

  • http.method, 2023 yılında http.request.method oldu.
  • db.statement, 2024 yılında db.query.text olarak güncellendi.
  • Milisaniye cinsinden rpc.client.duration, Ocak 2026'da saniye cinsinden rpc.client.call.duration oldu.

Kaggle üzerindeki Semconv Drift kıyaslaması dört görevden oluşur:

  • Yazma (Write - 12 senaryo): Flask, Express, psycopg, go-redis, kafkajs ve gRPC gibi günlük kodları Python, Go ve TypeScript'te enstrümante etme.
  • Bilme (Know - 22 senaryo): Eski bir ismin yerini neyin aldığını doğrudan yanıtlama (tuzaklar ve yanıtı "değişmedi" olan kontrol soruları dahil).
  • Düzeltme (Fix - 8 senaryo): Birim dönüşümleri dahil eski kod parçalarını modernize etme.
  • Sürüm İpucu ile Yazma (Write with version hint - 12 senaryo): Güncel şartname sürümünü belirten tek bir cümle eşliğinde kod üretme.

Geliştirici ve Öğrenme Çıkarımları#

Yapay zeka modellerinin ezberlediği kuralı kodlama pratiğine yansıtamaması, üretim observability pipeline'larında sinsi veri kayıplarına yol açar. Geliştiriciler, LLM çıktılarına güvenmek yerine derleme ve CI/CD süreçlerinde linter ve otomatik şema doğrulayıcıları zorunlu kılmalıdır.


Bu konuyu derinlemesine öğrenmek isterseniz: Üretim Observability Pipeline modülüne göz atın.

Kaynak ve atıf

Bu yazı, dev.to üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:

  • dev.to/apples_one_cd174284bffb/12-of-13-ai-models-knew-the-new-name-and-still-wrote-the-old-one-2jla