Exploring Infinite Possibilities on FrontEnd 🚀
Burak Sağlık
Search...

Wed Aug 05 2026

Yapay zeka SDLC: Kodlamada avantajlar, riskler

Yapay zeka SDLC: Kodlamada avantajlar, riskler

🎯 Giriş: Yapay Zeka Her Şeyi Yapabilir — Ama Yapaması Gereken Birçok Şey Var

Hazırsan başlayalım. 🚀

Biraz önce bir projede GitHub Copilot ile kod yazarken, bir test hatasını bulmak için ChatGPT'e sormuştum. Sonra Docker container'ı deploy ederken bir güvenlik açığını tespit etmek için bir AI aracına başvurmuştum. İşte tam burada durdu — ve bir şeyi fark ettim:

  • AI araçları her aşamada eşit derecede güvenilir değil.
  • Kod üretirken çok güçlü, ama güvenlik incelemesinde yanıltıcı olabilir.
  • Test senaryolarını oluşturabilir, ama prod ortamındaki gerçek riskleri göremiyor.

Bu yüzden bu yazıyı yazıyorum. 👇

Ana tez şunu: Yapay zeka araçları yazılım geliştirme yaşam döngüsünün (SDLC) neredeyse her aşamasında var — ama her aşamada güvenle kullanılamıyor. Bazı yerlerde hayat kurtarıcı, bazı yerlerde ise gözü kapalı bir risk oluşturuyor.

Neden bu açı önemli? Çünkü çoğu ekolap AI araçlarını tek bir "ş miracle" olarak görüyor — her şeyi çözecekmiş gibi. Gerçekten öyle değil. Bu yazıda:

  • SDLC'nin hangi aşamalarında AI gerçekten işe yarıyor, hangilerinde sadece yanıltıyor
  • Güvenlik açıklarını gözden kaçırma riski nasıl artırıyor
  • Ve sen bu araçları bilinçli bir şekilde nasıl kullanabilirsin

Üzerine biraz daha dikkatli bakmak istiyorsan, burası tam doğru yer. ✅


🎯 SDLC'nin Aşamaları ve Yapay Zeka Araçlarının Genel Konumu

Merhaba! 💪 SDLC'ye yeni başlıyorsan ya da yapay zekayı bu süreçle nasıl harmanlayabileceğimizi merak ediyorsan, doğru yerdesin. Hadi bu tabloyla SDLC'nin temel aşamalarına ve yapay zekaların genel konumlarına bir göz atalım. 🔁

Aşama Yapay Zeka Araçlarının Konumu
Gereksinim Toplama Claude ve Gemini, belirsiz kullanıcı ihtiyaçlarını özetlemek ve kullanılabilir hâle getirmek için oldukça başarılı.
Tasarım GPT-5 ve Gemini, mimari diyagramları oluşturmak ve kullanıcı deneyimini tasarlarken hızlı fikir üretmek için çok kullanışlı.
Kodlama Claude uzun ve karmaşık kod bloklarını yazarken en tutarlı sonucu veriyor, GPT-5 ise hızlı prototipler için mükemmel.
Test Gemini otomatik test senaryoları oluşturmak ve kenar durumlarını bulmakta güçlü, Claude ise kod içi açıklama yazmak için ideal.
Dağıtım Yapay zekalar bu aşamada henüz tam otonom değil, ama Docker ve Kubernetes komutlarını yazıp hataları tespit etmek için çok yardımcı.
İzleme GPT-5 ve Claude, log analizini özetleyip anomali tespiti için arama motoru gibi davranarak izlemeyi kolaylaştırıyor.

🛠 Şimdi her bir aşamayı detaylı olarak ele alacağız. Hazırsan, ilk durak olan Gereksinim Toplama'ya dalalım!


🔁 Tasarım Aşaması — Yapay Zeka İpuçları Verir, Mimari Kararlarını Sen Ver

Hadi bu konuyu netleştirelim. Yapay zeka araçları bugün mimari tasarım sürecinde harika bir destek rolü oynıyor — ama "tamam, sana mimariyi tasarla" demek biraz farklı bir şey. 🛠

Yapay Zekanın Güçlü Yönleri

  • Teknik özetleme: Büyük bir dokümantasyonunu veya mevcut sistemini yapay zekaya ver ve "bunu 3 cümleye özetle" de. 🎯
  • Diyagram üretimi: Gemini ve Claude mimari diyagramları oluşturabilir. Örneğin:

    "Claude'a şunu sor: 'Bir e-ticaret sistemi için mikroservis mimarisini diyagramla, API Gateway ve mesaj kuyrukları dahil.' Sonra diyagramı incele, eksikleri sor."

  • ADR (Architecture Decision Record) taslakları: Yapay zeka teknoloji seçimlerinin pros/cons listesini çıkarabilir.
  • Kod örnekleri: Bir kararın implementasyonunu gösteren snippet'ler üretebilir.

❗️ Ama Tam Mimari Tasarımı Devretmenin Riskleri

Şimdi önemli kısım. Buraya dikkat et:

  • Bağlama duyarlılığı yok: Yapay zeka, takımın teknik borç durumunu, organizasyon kültürünü veya mevcut altyapı sınırlamalarını bilmez.
  • Gerçekçi olmayan öneriler: Bazen "Docker + Kubernetes + Kafka + PostgreSQL + Redis" gibi bir stack önerir — her şeyi, her zaman. 🛑 Bu gerçek bir mimari kararı değil, bir checklist.
  • Trade-off analizi zayıf: Mikroservis mi monolitik mi? İşte bu tür kararlarda yapay zeka kafanı açabilir ama son kararı sen vermelisin. Çünkü sen takımın durumunu, bütçesini, ekibinin deneyim seviyesini biliyorsun.
  • Veritabanı seçimi: PostgreSQL mi MongoDB mu? Yapay zeka genel karşılaştırma yapar ama senin veri erişim kalıpını, sorgu desenlerini ve ölçeklendirme beklentilerini tam kavramaz.

Kısacası: Yapay zeka bir mimar değil, bir danışman. İpucu verir, sen kararı verirsin.

Bir ADR Şablonu: YAML Formatında

İşte teknoloji seçimi için kısa bir ADR örneği. Yapay zekanın yorum satırlarıyla nasıl bir taslak üretebileceğini gör:

# ADR-001: Kullanıcı Yönetimi İçin Veritabanı Seçimi
# Tarih: 2025-01-15
# Karar Verendiler: [Sen, Takım Lead'in]
# Durum: Kabul Edildi
#
# 📝 Yapay Zeka İpucu: Bu ADR'nin taslakını Gemini ile üretirken
# "PostgreSQL vs MongoDB karşılaştırması, kullanıcı yönetimi
# senaryosu için" sorusu soruldu. Yapay zeka genel karşılaştırma
# sağladı ama trade-off değerlendirmesi ve son karar insan tarafından
# yapıldı.

karar:
  konu: "Kullanıcı yönetimi için veritabanı teknolojisi"
  secim: "PostgreSQL 16"
  alternatifler:
    - MongoDB
    - MySQL 8

gecerlendirme:
  - kriter: "İlişkisel veri bütünlüğü gerekiyor"
    sonuc: "PostgreSQL güçlü ACID desteği sunar ✅"
  - kriter: "Düşük gecikme gerekiyor"
    sonuc: "PostgreSQL + proper indexing yeterli ✅"
  - kriter: "Ekip deneyimi"
    sonuc: "Ekibin %80'i PostgreSQL kullanıyor ✅"

sonuç: "MongoDB'nun schema-less yapısı esneklik sağlasa da,
kullanıcı verilerinin ilişkisel yapısı ve bütünlük gereksinimleri
nedeniyle PostgreSQL tercih edildi."

# 🔁 Yapay Zekaya Sorulabilecek Sorular:
# - "Bu kararın eleştirisi ne olabilir?"
# - "PostgreSQL'ın bu senaryoda dezavantajları nelerdir?"
# - "Alternatiflerin karşılaştırmalı tablosunu çıkar."

Nasıl Kullanılıyor?

  • ADR taslakını yapay zekaya ver, yorum satırlarını kendi bilgilerinle doldur.
  • Yapay zekanın önerdiği alternatifleri ele al ama blind takip etme.
  • Son kararı mutlaka takım toplantısıyla onayla.

Bu sayede ne oluyor? Yapay zeka sana zaman kazandırır, sıradan karşılaştırmaları otomatikleştirir ve sen ise gerçek mimari düşüncesine odaklanırsın. 🎯

Kısacası: Araçları kullan, ama mimari sorumluluğunu asla devretme. Sen mimarsın — yapay zeka sadece elindeki kalemi biraz daha keskin tutar. ✅


🔁 Kodlama Aşaması — Yapay Zekanın En Büyük Gücü ve En Büyük Tuzakları

Hazırsan başlayalım. 🎯

Kodlama aşaması, aslında yapay zekanın en çok sevdiği alan. Ve aynı zamanda en çok yanıldığı alan. İki yandan bakalım — önce güçlü yönleri, sonra tuzakları.


🛠 Yapay Zekanın Kodlamadaki Güçlü Yönleri

Bunlar gerçekten yerinde:

  • Boilerplate kod üretimi — Tekrar eden şablonları yazmak artık yorucu değil. Yapay zeka 30 saniyede todo API'sinin tüm CRUD fonksiyonlarını çıkarabilir.
  • Tekrarlayan pattern'ler — Repository pattern, DTO mapping, middleware katmanları... Yapay zeka bunları tanıyabiliyor ve hızlıca üretiyor.
  • Dil çevirileri — TypeScript'i Python'a, Java'yı Go'ya çevirme gibi işlerde gerçekten etkili. 🔁
  • Algoritma örnekleri — Sorting, searching, graph traversal gibi klasik problemlerde doğru ve okunaklı çözümler üretiyor.

Kısacası: sıkıcı işleri yapıyor, sana odaklanman için zaman bırakıyor.


❗️ Ama Burada Dikkat Etmen Gereken 3 Büyük Tuzak

1. Karmaşık iş mantığında hata üretir

Yapay zeka "görünen" doğru kodu yazar. Ama iş mantığında gizli bir edge case olabilir — örneğin, bir ödeme işleme fonksiyonunda "tam olarak sıfır olan tutar" durumunu göz ardı edebilir. Kod çalışır gibi görünür ama gerçek dünyada para kaybına yol açabilir.

2. Domain bilgisine sahip olmayan alanlarda yanıltıcı kod üretir

Sağlık, finans, hukuk gibi alanlarda yapay zeka garip ama akılcı görünen kodlar yazar. Söz dizimi doğru, syntax'te hata yok — ama iş kuralı yanlış. Ve yanlış iş kuralı, çözülmesi zor hatalar demek.

3. Güvenlik açıklarını göz ardı edebilir

En tehlikeli olan bu. SQL injection, XSS, yetkilendirme kontrolü atlamaları... Yapay zeka bazen güvenlik duvarlarını hiç düşünmez. Kod çalışır, ama bir saldırganın elinde çorba olur. ⛔


🛠 Yapay Zekayı Doğru Kullanmak İçin Pratik İpuçları

Şimdi somut tavsiyeler:

  • Yapay zekadan kod yazdırma, sen incele. Her satırı oku — özellikle girdi doğrulama ve hata yönetimini.
  • Sadece senin bildiğin alanlarda güven. Tanımadığın bir domain'de kod varsa, mutlaka domain uzmanıyla doğrula.
  • Test yazmayı asla bırakma. Yapay zeka ürettiği koda unit test yaz ve beklenmeyen girdilerle dene.
  • Kritik güvenlik kodlarında yapay zekaya tek başına bırakma. Kimlik doğrulama, ödeme işleme, kullanıcı verisi gibi yerlerde insan denetimi şart.
  • Kod review sürecini kaldırma. Yapay zeka kodunu bir sonraki gün tekrar oku — göz kamaşması, hataları ortaya çıkarır.

🔍 Bir Karşılaştırma: AI Kodu vs. İnsan Kontrolü

Şimdi somut bir örnekle göstereyim. Python'da basit bir kullanıcı sipariş sorgusu:

Yapay Zekanın Ürettiği Kod (Dengeli Görünüyor, Ama Değil):

def get_user_orders(user_id):
    query = f"SELECT * FROM orders WHERE user_id = {user_id}"
    return db.execute(query)

❗️ Ortaya Çıkan Hata / Eksiklik: Bu kod SQL injection açığı içeriyor. user_id değerinin doğrudan sorguya yerleştirilmesi, kötü niyetli bir kullanıcı tarafından sorgunun tamamen manipüle edilmesine olanak tanır. Örneğin user_id yerine "1 OR 1=1" gönderilirse, tüm siparişler sızlar.

İnsan Kontrolüyle Düzeltilmiş Versiyon:

def get_user_orders(user_id):
    query = "SELECT * FROM orders WHERE user_id = %s"
    return db.execute(query, (user_id,))

Bu sayede ne oluyor? Parametrik sorgu kullanıldığında, user_id değeri veri olarak değil, komut olarak ele alınır. SQL injection riski tamamen ortadan kalkar. Yapay zeka ilk versiyonda bunu görmemişti — çünkü sözdizimi doğruydı, kod "çalışıyordu" gibi görünüyordu. Ama güvenlik söz dizimiyle ilgili değil; mantık ve alan bilgisi ile ilgili bir sorundu. 🎯


🔁 Son Söz: İnsanı Değiştirmeyi Hayal Etme

Yapay zeka kod yazabilir. Ama yanlış kodu yazma riskini görmüyor. Ve yanlış kod, milyon dolarlık veri kaybına, güvenlik ihlaline, sistem çöküşüne dönüşebilir.

Kodlama aşamasında yapay zekayı asistan olarak kullan, yönetici olarak değil. İnsan kodlayıcı hâlâ karar veriyor — hangi kodu güvenli, hangi kodu riskli, hangi kodu atlayıp hangi kodu test etmeli.

Sen o karar vericisin. Yapay zeka sadece hızlandırıcı. ⛔🛠


🔁 Kod İnceleme (Code Review) — Yapay Zeka Hızlı Ama Yüzden Kaçırır

Hazırsan başlayalım. AI araçları (Claude, Gemini, GPT-5) kod incelemede gerçekten harika bir hız sağlıyor. 🚀 Bir PR açtığında, stil sorunlarını (formatting, naming conventions) saniyeler içinde yakalıyor. Basit bir mantık hatası var mı diye bakıyor, sana bir "❗️ Dikkat, burada null reference olabilir" demesi çok kolay.

Ama ne oluyor burada? 🤔 AI hızlı tarama yapıyor, ama derin bağlamı kaçırıyor. Projenin tarihsel kararlarını, mevcut mimari kısıtlamalarını tam olarak kavramıyor. İşte tam da burada ❗️ yapay zeka incelemesi asla son inceleme olamaz.

İnsan code review neden hâlâ zorunlu? Çünkü biz o derinlikleri görüyoruz:

  • Bağlam Eksikliği: AI kodun kendisini görüyor, ama bu kodu neden yazdığımızı bilmiyor. 🎯 Bazen bir hata aslında iş kurallarına aykırı, teknik olarak ise temiz.
  • Güvenlik Açıkları: Basit XSS veya SQL Injection'ı yakalayabiliyor olabilir, ama iş mantığına dayalı gizli güvenlik açıklarını (business logic flaws) kaçırıyor. ⛔
  • Performans Sorunları: "Çalışıyor, tamam" diyor. Ama bu fonksiyon 100k veriyle birlikte çağırıldığında N+1 sorgusu mu yaratacak? AI bunu genelde görüyor değil. 🛠

İşte bu bot'u CI pipeline'ına nasıl eklersin? GitHub Actions üzerinden bir Claude API entegrasyonu örneği:

name: AI Code Review

on:
  pull_request:
    branches: [main]

jobs:
  ai-review:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Run AI Review Bot
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
        run: |
          echo "Claude API ile PR diff'i analiz ediliyor..."
          # Burada diff alınır ve Claude API'ye gönderilir
          # Örnek curl komutu (basitleştirilmiş):
          # curl -X POST https://api.anthropic.com/v1/messages \
          #   -H "x-api-key: $ANTHROPIC_API_KEY" \
          #   -H "content-type: application/json" \
          #   --data '{"model": "claude-3-sonnet-20240229", "messages": [{"role": "user", "content": "Analyze this diff for issues"}]}'
          echo "✅ AI incelemesi tamamlandı, sonuçlar yorum olarak eklendi."

Bu YAML dosyası, her PR'da AI'nin kodumuzu taramasını sağlıyor. 🔁 Ama unutma, bu sadece bir ilk tarama. Son karar her zaman insanın alınmalı. ❗️


❗️ Test ve Kalite Güvencesi — Yapay Zeka Burada En Tehlikeli Aşamadır

Hazırsan başlayalım. Konumuz bugün biraz karanlık ama çok önemli: yapay zeka araçlarının yazılım test aşamasındaki sınırları. Kısa söyleyeyim — yapay zeka test yazabilir, ama yazdığı testler sahte güvenlik hissi yaratabilir. Ve bu hiss, production'da bizi yakalar. 🎯


🤖 Yapay Zeka Testleri Gerçek Edge Case'leri Yakalayamaz

Yapay zekaya bir fonksiyon ver ve "test yaz" de. GPT-5 veya Claude muazzam test blokları üretir. Sağlıklı senaryoları cover eder, happy path'leri kontrol eder. Güzel, değil mi?

Ama mesele şu: gerçek dünyada çökmeye yol açacak edge case'ler genelde bu araçların gözünden kaçar.

  • Negatif değerler?
  • Sıfır bölme?
  • Null veya undefined girdiler?
  • Aşırı büyük payload'lar?

Yapay zeka bu tür senaryoları "imkânsız" diye işaretler. Çünkü o senaryolara hiç rastlamamıştır. Üretken olduğu için çok sayıda test üretir — ama sayı değil, kalite önemli. ❗️


🎭 Mock Veriyle Test Etmek, Production'da Çöken Senaryoları Gözden Kaçırır

Büyük bir tuzak da bu: mock veriler. Yapay zeka testler yazarken neredeyse her zaman kontrollü, temiz, "ideal" mock veriler kullanır.

Ama production'da ne oluyor?

  • API beklenmedik bir null döndürür
  • Veritabanı timeout alır
  • Bir servis 503 döner
  • Tarih formatı farklı gelir

Yapay zeka bu senaryoları mock'layamıyor — çünkü gerçek dünyanın kaosunu simüle edemiyor. O yüzden local'te tüm testler geçer, ama deploy sonrası sistem çöker. 🔁


🔒 Güvenlik Testleri İçin Yapay Zekaya Güvenmek Tehlikelidir

Bu konuya özellikle dikkat et. SQL injection, XSS, yetkilendirme bypass gibi güvenlik açıklarını test etmeye yapay zeka emanet etmek ciddi bir risk.

  • Yapay zeka bilmediği attack pattern'ları üretemez
  • Güncellenmemiş bir veritabanına dayanır
  • Konteks bilgisiz kalır — "bu endpoint kimler için açık?" sorusunu sormaz

GPT-5 ve Claude güvenlik testinde güçlü yönlerine sahip — şablonlar üretir, OWASP listesini bilebilir, temel taramalar yapabilir. Ama bunlar bir başlangıç noktasıdır, teslim noktası değil. ⛔


✅ İnsan Test Mühendisliği Ne Zorunlu Olduğunda?

Şimdi netleştirelim. Yapay zeka asla değil — ama yapay zeka + insan birlikte çalışırken çok güçlüdür. İnsan test mühendisi kesinlikle zorunlu olduğunda:

  • Kurallar dışı senaryolar gerektiğinde (edge cases, güvenlik, performans)
  • Üretim ortamındaki gerçek veriler analiz edildiğinde
  • Regresyon testleri manuel olarak doğrulanmalı — özellikle kritik iş akışlarında
  • Test stratejisi belirleniyor — ne test edilecek, ne edilmeyecek kararını insan verir

Kısacası: yapay zeka test yazabilir, ama test düşünemez. Düşünmek bizim işimiz. 🛠


💻 Kodla Görelim: Yapay Zeka Testi vs. Doğru Test

Bir fonksiyon düşünelim: apply_discount(price, discount) — fiyatı indirim oranına göre düşürür.

Yapay zekanın üretebileceği blok test şöyle görünebilir:

def test_apply_discount():
    assert apply_discount(100, 10) == 90
    assert apply_discount(200, 25) == 150
    assert apply_discount(0, 50) == 0

Görüyorsun? Sağlıklı senaryoları cover ediyor. Ama bir şey eksik: ne zaman hata vermesi gerektiğini hiç test etmiyor.

Edge case gözden kaçan: negatif fiyat, %100 üstü indirim, None girdi.

İşte doğru test şöyle olmalı:

import pytest

def test_apply_discount_happy_path():
    assert apply_discount(100, 10) == 90
    assert apply_discount(200, 25) == 150
    assert apply_discount(0, 50) == 0

def test_apply_discount_negative_price_raises_error():
    with pytest.raises(ValueError):
        apply_discount(-50, 10)

def test_apply_discount_over_100_percent_raises_error():
    with pytest.raises(ValueError):
        apply_discount(100, 150)

def test_apply_discount_none_input_raises_error():
    with pytest.raises(TypeError):
        apply_discount(None, 10)

Bu sayede ne oluyor? İlk test bloğu tüm testler geçer ama production'da negatif fiyatla sistem çöker. İkinci blok ise sınırları tanımlar ve beklenmedik girdilerde ne olacağını netleştirir. 🎯


📌 Özet

Yapay Zeka Testleri İnsan Test Mühendisi
Hızlı, geniş kapsamlı test blokları üretir Edge case'leri ve riskleri belirler
Happy path'i iyi cover eder Düşündüğü senaryoları test eder
Mock verilerle çalışır Production gerçekliğini simüle eder
Güvenlik taramasında şablon üretir Kontekst bazlı strateji geliştirir

Son söz: Yapay zeka muhteşem bir yardımcıdır — ama asla yalnız依靠 (yalnızca ona bağlı) olmayın. Test aşamasında son sözü insan söylemeli. ❗️


❗️ Dağıtım ve DevOps — Yapay Zekanın Dokunmaması Gereken Kritik Alanlar

Yapay zekaya CI/CD pipeline'larını, infrastructure-as-code'ü ve production deployment'ı emanet etmeyi düşünürsen, durdur ve bir kahve iç. 🛠 Bu süreçlerde yapay zekanın yarım doğru ama tehlikeli çıktılar üretebileceğini bilmek çok önemli. ❗️

İşte dikkat etmen gereken başlıca riskler:

  • 🛠 Yanlış Dockerfile konfigürasyonları: Yapay zeka bazen FROM tag'ını latest olarak bırakır veya cache'i sürdürmez. Böylece görünüşte çalışan ama güvenlik açısından zayıf bir imaj çıkar.
  • ❗️ Güvenlik açığı olan Kubernetes manifest'leri: K8s YAML'lerinde yetki tanımlarını (RBAC) yanlış yapar, container'ı root kullanıcısıyla çalıştırır. 🛑
  • 🛠 Yanlış cloud resource tanımları: Infrastructure kodlarında açık portlar veya yetersiz IAM politikaları oluşturabilir. ⛔

Hadi bu Dockerfile örneği üzerinden görelim:

# ❌ Yapay Zekanın Yarım Doğru Ama Tehlikeli Çıktısı
FROM node:latest
WORKDIR /app
COPY . .
RUN npm install
CMD ["node", "index.js"]
# ✅ Güvenli ve Doğru Versiyon
FROM node:20.11.0-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --only=production && npm cache clean --force
COPY . .
RUN addgroup -S appgroup && adduser -S appuser -G appgroup
USER appuser
CMD ["node", "index.js"]

🔁 Burada ne oluyor? İlk örnekte yapay zeka latest kullanmış, cache'i temizlememiş ve root olarak çalıştırılmış. İkinci örnekte ise sürüm sabit, cache temizlenmiş ve root kullanıcısıyla çalıştırılmayı engellemiş. Bu gibi "yarı doğru" çıktılar deployment'ı kolaylaştırır gibi görünür ama aslında sistere kapı aralamıştır.

❗️ Sonuç olarak, bu alanlarda yapay zekaya asla tek başına emanet etme. Her satır insan gözüyle geçmeli. ✅


🔁 İzleme ve Bakım — Yapay Zeka Veri Analizi Yapabilir, Ama Karar Vermeden Önce İnsan Gerekir

Haydi, SDLC'nin en kritik ama bazen ihmal edilen aşamasına geldik: İzleme ve bakım. Burada yapay zekalar, özellikle AI agents kavramı, harika bir iş çıkarıyor. Ama dikkat, bir şeyi karıştırmamak lazım. 🛠

Ne yapıyor bu yapay zeka arkadaşlar?

  • 📊 Log analizi: Binlerce satır logu bir bakışta özetliyor.
  • 🚨 Anomaly detection: Anormal davranışı anlık fark edip sana işaret veriyor.
  • 📈 Performans raporları: Hız ve kaynak kullanımı hakkında detaylı özetler çıkarıyor.

❗️ 🎯 Ama burada çok önemli bir noktaya çarpıyoruz: Analiz ≠ Karar. Yapay zeka hangi metriklerin dikkat çektiğini söyleyebilir, ama ne yapılması gerektiğine dair karar insan mühendise aittir. AI sana "Sunucu X'in CPU'su %99'a çıktı" diyebilir, ama "Bu sunucuyu mu kapatacağız, yoksa ölçeklendirmeyi mi artıracağız?" sorusuna cevap vermek sana kalıyor.

🛠 Yapay zekayı bu aşamada doğru şekilde entegre etmek için pratik ipuçları:

  • AI'yi bir duygulayıcı (notifier) olarak kullan, otomatik karar verici olarak değil.
  • Önerileri mutlaka incele ve bağlamını ekle.
  • İnsan mühendisi onay vermeden, otonom aksiyonlara geçme.

İşte yapay zekaya log verilerini özetlemesini nasıl söylersin? Bir prompt örneği:

prompt: |
  "Aşağıdaki application loglarını analiz et.
  - Hata türlerini ve sıklığını özetle.
  - En sık tekrar eden hatayı bul.
  - Bu hata muhtemelen hangi servise kaynaklanıyor?
  - Kısa bir Türkçe özet ver."
logs: |
  [ERROR] 2023-10-25 10:01:01 ServiceA: Connection timeout...
  [ERROR] 2023-10-25 10:01:02 ServiceA: Connection timeout...
  [INFO] 2023-10-25 10:01:03 ServiceB: Request processed...

Bu sayede ne oluyor? Yapay zeka logları taradıktan sonra sana sadece "ServiceA'da connection timeout sorunu tekrarlanıyor" demek yerine, özet ve olası kaynak servisi hakkında net bir rapor sunuyor. İnsan mühendis ise bu raporu alıp "Tamam, ServiceA'nin bağlantı havuzunu artırmalıyım" diye karar veriyor. ✅


🛠 Pratik AI Kullanımı Rehberi — Ne Zaman ve Neden Kullanmalısın?

Hadi düz bir dille konuşayım — yapay zekâ araçları yazılım geliştirme yaşam döngüsünün (SDLC) her aşamasında sana yardımcı olabilir, ama her yerde yardımcı olmak zorunda değil. Asıl fark, ne zaman kullandığında ortaya çıkıyor. İşte pratik AI kullanımı için somut kurallar:


✅ Yapay Zekayı Kullan — Ne Zaman?

  • Kod tekrarını azaltmak istiyorsan 🔁 AI'ya sık tekrar eden template kodları, CRUD operasyonları veya standart API endpoint'leri yaztır. Ne oluyor? Süre %40-60 kısalır, hata riski düşer.

  • Hızlı bir araştırma yapacaksan 🎯 Bir kütüphane, algoritma veya en iyi uygulama hakkında bilgiye ihtiyacın varsa AI'ya sor. Ne oluyor? Dokümantasyonu tek tek okumaktan kurtulursun — ama bulduğun bilgilerin doğruluğunu mutlaka kontrol et.

  • Test senaryolarını oluştururken 🛠 Birim testleri için edge case'leri AI'ya yazarabilirsin. Ne oluyor? Geniş kapsamlı test setleri daha hızlı hazır olur, özellikle karmaşık iş kurallarında faydalı.

  • Refactor önerileri almak istediğinde 🔁 Mevcut bir fonksiyonu daha okunabilir hale getirmek için AI'ya gönder. Ne oluyor? Alternatif yaklaşımları görmen ve kendi kararını daha bilinçli vermen mümkün olur.

  • SDLC'nin erken aşamalarında fikir üretirken 🎯 Mimari kararlardan önce, kullanıcı hikayelerini yazarken veya teknik boru hattını tasarlamakta iken beyin fırtınası için kullan. Ne oluyor? Düşünce zincirini hızlandırırsın, ama nihai kararı sen verirsin.


⛔ Yapay Zekaya Asla Emanet Etme — Ne Zaman?

  • Güvenlik kritik kod yazarken ❗️ Kimlik doğrulama, yetkilendirme, şifreleme veya ödeme iş mantığı gibi alanlarda AI'ya üretim kodu yazdırmayı bırak. Neden? AI, hassas güvenlik duvarlarını atlayabilecek hatalar üretebilir. Sen mutlaka her satırı incele.

  • Üretim ortamındaki kararları verirken ❗️ Veritabanı şeması değişiklikleri, migrate script'leri veya ölçeklendirme kararlarını AI'ya bırakma. Neden? Yanlış bir migration veritabanını çökertebilir — bu tamamen insan sorumluluğu.

  • Hukuki veya etik içerik oluştururken ❗️ Kullanıcı sözleşmeleri, veri gizlilik politikaları veya uyum dokümanları için AI'ya güvenme. Neden? Yasal sorumluluk sana aittir; AI bunu üstlenemez.

  • Proje genelinde mimari karar verirken ❗️ "Bu projede microservice mi, monolith mu?" gibi kararları AI'ya bırakma. Neden? AI senin iş bağlamını, takım dinamiklerini ve teknik boru hattını gerçekten bilmez. Sen karsın.

  • SDLC'de code review son aşamasında ❗️ AI review raporu yerine kendi incelemeni yap. Neden? AI kontext eksikliği yapabilir — örneğin bir metodun çağrıldığı her yeri göremez.


🎯 Özet: Altın Kural

AI bir asistan, bir karar verici değil. SDLC sürecinde her adımda sor kendine: "Bu adımda AI bana hız veriyor mu, yoksa sorumluluğu transfer ediyor mu?"

Hazırsan, bir sonraki bölümde bu kuralları gerçek bir projede nasıl uygulayacağımızı birlikte görelim. 🛠


🛠 Yapay Zekaya Asla Emanet Etmemen Gereken 5 SDLC Görevi

Hadi, yapay zekayı bir yardımcı olarak seviyor olsak da, kendine emanet edemeyeceğin görevler var. İşte SDLC'de asla bırakman gereken 5 kritik alan:

❗️ Güvenlik Açıkları Tespiti

  • Ne oluyor? Kodda zafiyetleri bulmak ve sızma risklerini tespit etmek.
  • Neden yapay zeka olmamalı? Yapay zeka bazen yeni tür saldırıları kavrayamıyor veya iş mantığına dair bağlamı kaçırıyor. Yanlış pozitif/yanlış negatif üretiyor ve gerçek tehditleri gözden kaçırıyor.
  • Kim yapmalı? Güvenlik mühendisleri. Bu sayede gerçek tehditleri kaçırıyoruz mı diye emin olmuyoruz.

❗️ Üretim Ortamı Kararları

  • Ne oluyor? Hangi özelliğin üretime alınacağı, altyapı ölçeklendirmesi veya dağıtım stratejilerinin belirlenmesi.
  • Neden yapay zeka olmamalı? Yapay zeka riskleri ölçemiyor ve gerçek dünyadaki çarpışmaları tahmin edemiyor. Sadece teknik performans odaklanıyor, iş dünyasının hassasiyetini görüyor değil.
  • Kim yapmalı? DevOps veya SRE ekibi. Bu sayede sistem çökmesi gibi kabusu yaşamıyoruz.

❗️ Kullanıcı Verisi İşleme

  • Ne oluyor? Kişisel verilerin anonimleştirilmesi, GDPR uyumunun sağlanması veya veri akışlarının yönetilmesi.
  • Neden yapay zeka olmamalı? Yapay zekaya hassas veriyi verirsen, o veriyi başka yerlere öğrenip taşıyabilir. Gizlilik ihlallerini önleyemez.
  • Kim yapmalı? Veri koruma sorumluları. Bu sayede gizlilik ihlallerinden kurtuluyoruz.

❗️ Lisans Uyumluluğu Kontrolü

  • Ne oluyor? Kullanılan açık kaynak bileşenlerin lisanslarını kontrol etmek ve yasal riskleri tespit etmek.
  • Neden yapay zeka olmamalı? Yapay zeka lisans metnlerindeki hukuki detayları yanlış yorumlayabiliyor ve copyleft risklerini görmezden geliyor.
  • Kim yapmalı? Hukuk birimi. Bu sayede telif hakkı davalarından kurtuluyoruz.

❗️ Kritik Mimari Kararlar

  • Ne oluyor? Mikroservis mi monolit mu olacak, hangi veritabanı kullanılacak, iletişim protokolleri nasıl seçilecek gibi seçimler.
  • Neden yapay zeka olmamalı? Yapay zeka teknik olarak güzel çözümler sunsa da iş gereksinimlerini ve takım kapasitesini bilemiyor. Sadece teknik olarak optimizasyona odaklanıyor.
  • Kim yapmalı? Lead architectlar. Bu sayede gelecekte ağır teknik borçtan kurtuluyoruz.

🎯 Son Söz — Yapay Zeka Bir Araçtır, Bir Müdir Değildir

Tüm bu yazıda konuştuklarımızın özetini çıkaralım:

  • 🔁 Claude, Gemini ve GPT-5 harika araçlar.
  • ❗️ Ama bu araçlar, yazılım geliştirme yaşam döngüsünün her aşamasında insan mühendisliğimizi yerinden edemez.
  • 🛠 Sen yazarsın, AI destekler. AI seni yönetmez.

Bonus Tavsiye: Yapay zekayı öğrenmeye devam et. 📚 Ama onu kontrol altında tut. Promptlarını düzenle, çıktıları incele, kodunu test et. AI seni değil, sen AI'ı kullanırsın.

🎯 Yapay zekaya güven, ama kendi eline geçirdiğin her projede büyüye. Hayırlı kodlamalar ve özgür geliştirmeler!


Bu içerik tamamen yapay zeka destekli otomasyon sistemi ile üretilmiştir.

Burak Sağlık

Burak Saglik

©2024 Desing and Developed by @Burak Sağlık

All rights reserved