İçeriğe Atla
Mustafa Erbay
Teknoloji · 5 dk okuma · görüntülenme Read in English

AI Kodu Üretir, Sorumluluğu Kim Alır?

Yapay zeka'nın kod üretimindeki yükselişiyle birlikte, sistem mimarları ve geliştiriciler için en kritik soru: Oluşan hatalarda sorumluluk kime ait?

100%

Yirmi yıllık kariyerimde, en kritik kararlarımın çoğu bir kod satırı yazmak değil, bir sistemi baştan sona anlamak ve o sistemin sorumluluğunu almaktı. Şimdi ise, klavyenin ucundaki ortak değişti: AI. Peki, bu yeni ortak hata yaptığında, “sorumluluk” kelimesi kimin masasına düşüyor?

Bugün hemen her geliştiricinin elinin altında bir AI aracı var. Hızlıca bir fonksiyon yazmak, karmaşık bir regexp oluşturmak veya bir SQL query optimize etmek için AI’dan destek almak artık rutin bir iş. Ancak bu kolaylık, beraberinde pek de kolay olmayan bir soruyu getiriyor: AI’ın ürettiği kodda bir sorun çıktığında, faturayı kime keseceğiz?

AI’ın Parlaklığı ve Gizli Gölgeleri

AI, doğru prompt’larla gerçekten sihirli işler çıkarabiliyor. Kendi yan ürünümün finansal hesaplayıcıları için karmaşık algoritmalar geliştirirken veya bir üretim ERP’sinin operatör ekranları için frontend component’leri oluştururken, sıkça AI’dan fikir alıyorum. Bazen tek bir prompt ile uzun sürecek bir işi belirgin biçimde kısalttığı oluyor. Bu hız, özellikle boilerplate code veya karmaşık ama standart algoritmalar için paha biçilmez.

Ancak bu parlaklığın altında, çoğu zaman gözden kaçan gölgeler var. AI, sistemin bütünsel mimarisini, network topolojisini, özel security policy’lerini veya o anki iş akışının inceliklerini tam olarak kavrayamıyor. Sadece elindeki veri setine ve prompt’a göre en olası çözümü sunuyor, bu da her zaman en doğru veya en optimize çözüm anlamına gelmiyor.

O Satır Kimin Parmak İzini Taşır?

İşte asıl mesele burada başlıyor. AI’ın ürettiği kodu doğrudan production’a gönderen bir geliştirici, o kodun tüm sorumluluğunu üstleniyor mu? Yoksa AI’ın kendisi mi, yoksa AI’ı geliştiren şirket mi sorumlu? Benim bakış açıma göre, bu sorunun cevabı net: o son commit’i atan, o kodu deploy eden kimse, sorumluluk onundur.

Bu, bir shell script’i kopyalayıp yapıştırmak gibi değil. AI’ın sunduğu kod, her zaman derinlemesine bir incelemeyi ve sistemin bağlamına göre adapte edilmeyi gerektirir. Örneğin bir network request için AI’dan alınan bir kod parçasında JWT token’ının yanlış saklanması veya rate limiting mekanizmasının kolayca aşılabilir olması gibi security vulnerability’ler, dikkatli bir gözle incelenmedikçe uzun süre fark edilmeyebilir.

Mimari Görüş ve Pragmatik Bakış

AI’ın sunduğu çözümleri her zaman geniş resim içinde değerlendirmek gerekir. Örneğin, monolith bir yapıyı microservice’lere bölerken AI’dan bir event-sourcing deseni için kod almak cazip gelebilir. Ancak bir bankanın iç platformu için event-sourcing deseni tasarlarken, bu desenin beraberinde getirdiği eventual consistency sorunlarını, transaction outbox deseninin gerekliliğini veya distributed transaction’ların karmaşıklığını AI sizin adınıza yönetemez. Bu kararlar, iş akışının, veri tutarlılığının ve hata toleransının derinlemesine anlaşılmasını gerektirir.

Benim için AI, bir yardımcı pilot gibidir; rotayı çizmenize yardımcı olur, bazı otomasyonları üstlenir ama son kararlar her zaman pilottadır. Karmaşık bir VPN topolojisi için AI’dan alınan IPSec config’lerini bile satır satır kontrol etmek gerekir. Çünkü MTU/MSS mismatch veya routing flap gibi sorunlar, AI’ın “mantıklı” bulduğu bir konfigürasyonda bile gizleniyor olabilir. DSCP/QoS işaretlemelerinin şirket çıkışlarında nasıl etkilendiğini veya VLAN segmentasyonunun doğru yapılıp yapılmadığını AI’ın anlaması, bugünkü teknolojiyle mümkün değil.

# AI'dan gelmiş bir örnek IPSec config parçası (basitlestirilmis)
# Bu tür çıktıları her zaman dikkatle incelerim.
conn my_vpn
  left=%any
  leftid=@my_server
  leftsubnet=192.168.1.0/24
  right=peer.example.com
  rightid=@peer_gateway
  rightsubnet=10.0.0.0/24
  authby=secret
  auto=start
  ike=aes256-sha2_256-modp1024!
  esp=aes256-sha2_256!

Bu tür çıktılar, bir başlangıç noktasıdır, nihai çözüm değil. Her bir parametrenin sistemin genel güvenliği ve performansı üzerindeki etkisini anlamak, mimarın sorumluluğundadır.

Geleceğin Kod Ortaklığı ve Sorumluluğun Evrimi

AI’ın kod üretimi yetenekleri her geçen gün gelişiyor, bu inkar edilemez. Ancak bu, bizim sorumluluğumuzu azaltmıyor, aksine dönüştürüyor. Artık sadece kodu yazmak değil, AI’ın yazdığı kodu audit etmek, doğrulamak ve sistemin bütününe entegre etmek de bizim işimiz. Observability araçları, feature flag mekanizmaları ve canary deployment stratejileri, bu yeni kod ortaklığında daha da kritik hale geliyor.

Peki, bu dijital ortaklıkta, o son git push’u kimin vicdanına emanet edeceğiz? Benim için cevap açık: her zaman insan. Sen bu konuda ne düşünüyorsun? AI’ın ürettiği kodun getirdiği riskleri nasıl yönetiyorsun? En pahalı “AI kaynaklı” hatan neydi?

Paylaş:

Bu yazı faydalı oldu mu?

Yükleniyor...

Bu yazı nasıldı?

Sıkça Sorulanlar

Bu makale ile ilgili okurların sorduğu yaygın sorular.

AI'ın ürettiği kodda bir sorun çıktığında, faturayı kime keseceğiz?
Benim deneyimim, AI'ın ürettiği kodda bir sorun çıktığında, sorumluluğun geliştiricinin omuzlarında kalabileceğini gösteriyor. Çünkü AI, sadece elindeki veri setine ve prompt'a göre en olası çözümü sunuyor, bu da her zaman en doğru veya en optimize çözüm anlamına gelmiyor. Bu nedenle, geliştiricilerin AI'ın ürettiği kodu dikkatlice incelemeleri ve test etmeleri gerekiyor.
AI kod üretimi için hangi araçları kullanmalıyım?
Ben genellikle AI kod üretimi için GitHub Copilot, Kite ve Tabnine gibi araçları kullanıyorum. Bu araçlar, hızlıca bir fonksiyon yazmak, karmaşık bir regexp oluşturmak veya bir SQL query optimize etmek için gerçekten yardımcı oluyorlar. Ancak, her zaman bu araçların önerilerini dikkatlice incelemeli ve gerektiğinde düzeltmeler yapmalıyım.
AI kod üretimi ile geleneksel kod yazımı arasında ne gibi farklar var?
Benim gözlemim, AI kod üretimi ile geleneksel kod yazımı arasında bazı önemli farklar var. AI kod üretimi, çok daha hızlı ve verimli olabilir, ancak aynı zamanda daha az kontrol ve anlama sağlayabilir. Geleneksel kod yazımı ise, daha çok kontrol ve anlama sağlar, ancak daha yavaş ve daha emek yoğun olabilir. Bu nedenle, hangisinin daha iyi olduğu, projenin özel gereksinimlerine ve geliştiricinin tecrübesine bağlıdır.
AI kod üretimi ile ilgili en büyük hata nedir?
Benim tecrübem, AI kod üretimi ile ilgili en büyük hata, AI'ın önerileriniblind olarak kabul etmektir. AI, sadece elindeki veri setine ve prompt'a göre en olası çözümü sunuyor, bu da her zaman en doğru veya en optimize çözüm anlamına gelmiyor. Bu nedenle, geliştiricilerin AI'ın önerilerini dikkatlice incelemeleri, test etmeleri ve gerektiğinde düzeltmeler yapmaları gerekiyor.
ME

Mustafa Erbay

Sistem Mimarisi · Network Uzmanı · Altyapı, Güvenlik ve Yazılım

2006'dan bu yana sistem mimarisi, network, sunucu altyapıları, büyük yapıların kurulumu, yazılım ve sistem güvenliği ekseninde çalışıyorum. Bu blogda sahada karşılığı olan teknik deneyimlerimi paylaşıyorum.

Kişisel Notlar

Bu notlar sadece sizde saklanır. Tarayıcınızda yerel olarak tutulur.

Hazır 0 karakter

Yorumlar

Sunucu Taraflı AI Moderasyon

Yorumlar sunucuda yapay zeka ile denetlenir ve kalıcı olarak saklanır.

?
0/2000

Sunucu taraflı AI denetim

✉️ Ücretsiz · Spam yok · İstediğin an çık

Yeni yazılardan haberdar olun

Yeni içerikler ve teknik notlar e-postanıza gelsin.

  • 📌
    Haftanın en iyisi Sadece okumaya değer tek yazı
  • 🔧
    Alet çantası Bu hafta kullandığım araçlar
  • 🧠
    Perde arkası Blog'a girmeyen notlar

Spam yapmıyoruz. İstediğiniz zaman ayrılabilirsiniz. · Sadece Umami (self-hosted, Google yok) ile takip.

Okuma İstatistikleriniz

0

Yazı Okundu

0dk

Okuma Süresi

0

Gün Serisi

-

Favori Kategori

İlgili Yazılar