Yapay Zeka ile Güvenli Yazılım Geliştirme Modeli

Photo by Jo Lin / Unsplash

Tek bir yapay zeka modeli kullanarak yazılım geliştirmek hızlıdır ancak risklidir. Bir AI modeli hata yaptığında çoğu zaman kendi hatasını fark edemez. Bu durum özellikle mimari kararlar, güvenlik açıkları veya yanlış yorumlanmış iş gereksinimleri söz konusu olduğunda ciddi problemlere yol açabilir.

Bu nedenle güvenli AI destekli geliştirme için giderek daha fazla kullanılan yaklaşım AI‑Against‑AI Development modelidir. Bu modelde farklı AI agentlar farklı rolleri üstlenir ve birbirlerinin çıktısını denetler.

Örneğin bir model gereksinimleri ayrıştırırken, başka bir model teknik tasarımı üretir ve üçüncü bir model bu tasarımın doğruluğunu kontrol eder. Böylece üretim süreci tek bir modele bağlı kalmaz.

Bu yaklaşımın üç temel avantajı vardır:

  • AI hatalarının ikinci bir model tarafından yakalanması
  • Mimari ve kapsam tutarlılığının korunması
  • Kalite ve güvenlik risklerinin azaltılması

Başka bir ifadeyle AI‑Against‑AI yaklaşımı yazılım üretimini "tek bir AI tarafından yazılan kod" seviyesinden çıkarıp kontrollü bir üretim hattına dönüştürür.

Bu makalede açıklanan AI Yazılım Fabrikası modeli tam olarak bu prensip üzerine kuruludur.


Giriş

Yapay zeka destekli yazılım geliştirme araçları son birkaç yıl içinde dramatik bir hız kazandı. Modern AI modelleri yalnızca kod yazmakla kalmıyor; gereksinim analizi, mimari tasarım, hata ayıklama, test üretimi ve dağıtım süreçlerinde de aktif rol alabiliyor.

Bu durum yazılım geliştirme süreçlerinde büyük bir verimlilik artışı sağlarken, aynı zamanda yeni riskler de doğuruyor. Tek bir AI modeline güvenerek yazılım üretmek; yanlış mimari kararlar, gizli hatalar veya domain yanlış anlamaları gibi ciddi problemlere yol açabiliyor.

Bu nedenle güvenli AI destekli yazılım geliştirme için çoklu AI rol mimarisi (Multi‑Agent Development Model) giderek daha önemli hale geliyor.

Bu makalede, AI araçlarını birbirini denetleyecek şekilde kullanarak güvenli ve tutarlı yazılım geliştirmeyi sağlayan bir AI Yazılım Fabrikası modeli iki aşamalı olarak açıklanıyor.


Aşama 1 — Küçük ve Orta Ölçekli Projeler İçin Minimal AI Modeli

Birçok ekip AI destekli geliştirmeye başlarken doğrudan çok sayıda agent kullanan karmaşık modellere geçmeye çalışır. Ancak pratikte çoğu proje için bu gerekli değildir.

Başlangıç için en güvenli ve sürdürülebilir yaklaşım iki AI modelinin rol ayrımıyla çalıştırılmasıdır.

Temel Rol Dağılımı

AI1 → Product Governor
AI2 → Engineering Executor

AI1 — Product Governor

Bu rolün sorumlulukları:

  • Gereksinimlerin ayrıştırılması
  • Kapsam tanımı
  • User story üretimi
  • Acceptance criteria oluşturma
  • Sistem genelinde tutarlılık kontrolü

AI1 bu aşamada bir Product Owner ve Sistem Denetçisi gibi davranır.


AI2 — Engineering Executor

Bu rolün sorumlulukları:

  • Teknik tasarım oluşturma
  • Kod üretimi
  • Test yazımı
  • Refactoring
  • Deployment hazırlıkları

AI2 bu aşamada bir Mühendis ve DevOps uygulayıcısı rolündedir.


Kritik Nokta: İki Zorunlu Kontrol Kapısı

İki AI modeliyle güvenli geliştirme yapabilmek için süreçte iki kritik kapı bulunmalıdır.

Design Gate

AI2 doğrudan koda başlamamalıdır.

Önce aşağıdaki çıktıları üretmelidir:

  • Etkilenen modüller
  • Veri modeli değişiklikleri
  • API kontratları
  • Servis etkileşimleri
  • Güvenlik etkileri

Bu aşama mini bir Technical Design Document üretmeyi amaçlar. Bu sayede AI tasarımsız kod üretmez.


Consistency Gate

Technical design üretildikten sonra tasarım tekrar AI1 tarafından değerlendirilmelidir.

Kontrol edilen noktalar:

  • Gereksinimlerle uyum
  • Gereksiz mimari karmaşıklık
  • Kapsam genişlemesi (scope creep)
  • Önceki sistem kararlarıyla uyum

Bu aşama AI'nın sık yaptığı overengineering hatasını büyük ölçüde azaltır.


Minimal AI Yazılım Fabrikası Akışı

Human
  ↓
AI1 (Scope & Requirements)
  ↓
AI2 (Technical Design)
  ↓
AI1 (Consistency Review)
  ↓
AI2 (Implementation)
  ↓
AI1 (Quality Review)
  ↓
Human Approval

Bu model küçük ve orta ölçekli projeler için oldukça güçlüdür.

Doğru kullanıldığında iki AI modeli bile bir yazılım fabrikası disiplini oluşturabilir.


Aşama 2 — Büyük veya Kritik Projeler İçin Çoklu AI Modeli

Sistem büyüdükçe veya proje kritik hale geldikçe daha fazla rol ayrımı yapmak gerekir.

Bu noktada 4 AI agent modeli daha güvenli hale gelir.

Çoklu Agent Mimarisi

Human Orchestrator
      ↓
Product AI
      ↓
Architecture AI
      ↓
Developer AI
      ↓
QA / Review AI

Bu model yazılım geliştirme süreçlerinin klasik SDLC rollerini AI ortamına taşır.


Product AI

Sorumluluklar:

  • Gereksinim ayrıştırma
  • Backlog üretimi
  • Acceptance criteria
  • Kapsam kontrolü

Bu rol sistemin iş doğruluğunu korur.


Architecture AI

Sorumluluklar:

  • Sistem mimarisi
  • Servis sınırları
  • Veri modeli
  • API kontratları
  • Güvenlik etkileri

Bu rol sistemin teknik doğruluğunu sağlar.


Developer AI

Sorumluluklar:

  • Kod üretimi
  • Refactoring
  • Test yazımı
  • Migration hazırlığı

Bu rol implementasyon katmanını oluşturur.


QA / Review AI

Sorumluluklar:

  • Acceptance criteria doğrulaması
  • Edge case analizi
  • Güvenlik kontrolleri
  • Tutarlılık kontrolü

Bu rol sistemin kalite kapısıdır.


Büyük Projelerde Örnek Akış

Human
 ↓
Product AI
 ↓
Architecture AI
 ↓
Developer AI
 ↓
QA AI
 ↓
Developer AI (fixes)
 ↓
Release

Bu yapı özellikle şu durumlarda önemlidir:

  • Kurumsal sistemler
  • Çok modüllü uygulamalar
  • Kritik veri sistemleri
  • Yüksek güvenlik gereksinimi olan platformlar

Kullanılabilecek AI Platformları

Bu model belirli bir platforma bağlı değildir. Farklı AI araçları bu rolleri üstlenebilir.

Örnek olarak kullanılabilecek bazı platformlar:

AI Coding Agents

  • Cursor
  • GitHub Copilot
  • Claude Code
  • OpenAI Codex
  • Windsurf
  • Amazon Q Developer
  • Aider
  • Continue.dev
  • Sourcegraph Cody
  • Tabnine

AI geliştirme araçları genellikle iki kategoriye ayrılır:

IDE tabanlı araçlar

  • Cursor
  • Windsurf
  • GitHub Copilot
  • JetBrains AI

Terminal / Agent tabanlı araçlar

  • Claude Code
  • Codex CLI
  • Aider
  • Cline

Birçok geliştirici bu araçları tek başına kullanmak yerine birlikte kullanmayı tercih etmektedir.

Bu makalede kullanılan AI1 / AI2 rol modeli, herhangi bir AI platform kombinasyonu ile uygulanabilir.


İnsan Rolü: Domain Authority

AI destekli geliştirme modellerinde insan rolü ortadan kalkmaz.

İnsan geliştirici şu kritik soruların cevabından sorumludur:

  1. Gerçek problem doğru tanımlandı mı?
  2. Çözüm kurumun iş süreçleriyle uyumlu mu?
  3. Operasyonel riskler var mı?

AI modelleri teknik çözümler üretmede çok başarılıdır; ancak gerçek dünya operasyonlarını ve kurum kültürünü her zaman doğru anlayamaz.

Bu nedenle insan geliştirici sistemde domain authority rolünü korur.


AI ile Güvenli Yazılım Geliştirme İçin 10 Kural

AI destekli geliştirme yüksek hız sağlar, ancak kontrol mekanizmaları kurulmazsa ciddi kalite ve güvenlik riskleri doğurabilir.

Aşağıdaki prensipler güvenli AI geliştirme için temel kurallardır.

1. AI doğrudan koda başlamamalıdır

Her geliştirme süreci önce tasarım aşamasından geçmelidir.

2. Gereksinim ve implementasyon farklı AI rolleri tarafından yapılmalıdır

Scope ve implementasyon aynı modelde yapılırsa hatalar büyüyebilir.

3. Tasarım mutlaka ikinci bir AI tarafından kontrol edilmelidir

Consistency Gate bu nedenle kritik bir adımdır.

4. Acceptance criteria olmadan kod yazılmamalıdır

AI üretimi her zaman doğrulanabilir kriterlere dayanmalıdır.

5. AI tarafından üretilen kod her zaman review sürecinden geçmelidir

Kod üretimi ve kalite kontrolü ayrı aşamalar olmalıdır.

6. Overengineering aktif olarak kontrol edilmelidir

AI modelleri gereğinden karmaşık mimariler üretmeye eğilimlidir.

7. Domain doğruluğu insan tarafından kontrol edilmelidir

AI teknik doğruluğu sağlayabilir ancak iş doğruluğunu garanti edemez.

8. Deployment ve rollback planı zorunlu olmalıdır

AI tarafından geliştirilen sistemler için geri dönüş planı her zaman hazır olmalıdır.

9. Test üretimi AI sürecinin parçası olmalıdır

Unit test ve edge case testleri otomatik olarak üretilmelidir.

10. AI tek başına otorite değildir

AI bir üretim aracıdır; nihai karar mekanizması her zaman insan olmalıdır.


Kurumsal SDLC Zorunluluklarının Entegrasyonu

AI destekli geliştirme süreçleri kurumların mevcut yazılım yaşam döngüsü (SDLC) kurallarının yerine geçmez. Aksine, AI üretim hattının kurumun üzerinde mutabık kalınmış SDLC kurallarıyla uyumlu çalışması gerekir.

Birçok kurumda bu kurallar ayrı bir dokümanda tanımlıdır (örneğin SDLC.md gibi kapsamlı bir süreç dokümanı).

AI geliştirme süreci bu dokümanda tanımlanan zorunlulukları otomatik olarak uygulayacak şekilde tasarlanmalıdır.

AI yazılım fabrikası modeline entegre edilmesi gereken tipik SDLC zorunlulukları şunlardır:

1. Gereksinim İzlenebilirliği

Her geliştirme aşağıdaki zinciri kurmalıdır:

Requirement → User Story → Acceptance Criteria → Implementation → Test

AI sistemleri bu zinciri üretmeli ve korumalıdır.


2. Mimari Uyum Kontrolü

Yeni geliştirilen kod mevcut sistem mimarisi ile uyumlu olmalıdır.

AI tarafından üretilen tasarım aşağıdaki sorulara cevap vermelidir:

  • Mevcut servis sınırları korunuyor mu
  • Veri modeli bozuluyor mu
  • Entegrasyon sözleşmeleri değişiyor mu

Bu kontrol genellikle Architecture Gate içinde yapılır.


3. Kod Standartları

AI tarafından üretilen kod kurumun belirlediği standartlara uymalıdır.

Örneğin:

  • Naming convention
  • Logging standartları
  • Error handling modeli
  • Güvenlik kuralları

Bu kontroller genellikle Review AI tarafından yapılabilir.


4. Test Zorunlulukları

Kurumsal SDLC süreçlerinde genellikle aşağıdaki testler zorunludur:

  • Unit test
  • Integration test
  • Edge case testleri

AI üretim hattı bu testleri otomatik olarak üretmelidir.


5. Güvenlik Kontrolleri

AI tarafından üretilen kod aşağıdaki risklere karşı kontrol edilmelidir:

  • Veri sızıntısı
  • Yetki kontrol hataları
  • Injection saldırıları
  • Gizli anahtarların kod içine yazılması

Bu kontroller Security Review aşamasının parçası olmalıdır.


6. Değişiklik İzleme

Her AI üretimi aşağıdaki artefaktları üretmelidir:

  • Değişen dosyalar listesi
  • Migration planı
  • Geri dönüş planı

Bu sayede sistemde yapılan değişiklikler izlenebilir hale gelir.


7. Deployment ve Rollback Planı

Kurumsal sistemlerde her değişiklik için şu bilgiler zorunludur:

  • Deployment sırası
  • Environment değişiklikleri
  • Rollback prosedürü

AI tarafından üretilen her değişiklik bu bilgileri içermelidir.


8. Audit Trail

AI üretim hattında alınan kararlar kaydedilmelidir.

Örneğin:

  • Hangi gereksinim için geliştirme yapıldı
  • Hangi tasarım onaylandı
  • Hangi kod değişiklikleri üretildi

Bu kayıtlar özellikle kurumsal sistemlerde kritik öneme sahiptir.


AI destekli geliştirme süreçleri başarılı olabilmek için yalnızca hızlı değil, aynı zamanda kurumsal SDLC disiplinleriyle uyumlu olmalıdır.

Bu nedenle AI yazılım fabrikası modeli her zaman kurumun mevcut SDLC süreçlerini referans almalıdır.


AI Kurallarının Proje İçinde Kullanılması

Yukarıda açıklanan kuralların yalnızca dokümantasyon olarak kalması yeterli değildir. Bu prensipler doğrudan proje içinde kullanılan AI agentlara operasyonel kurallar olarak verilmelidir.

Pratikte bu yaklaşım genellikle proje içinde bir veya daha fazla referans dokümanı kullanılarak uygulanır. Örneğin:

  • SDLC.md
  • AI_RULES.md
  • ARCHITECTURE.md

AI agentlar geliştirme sürecine başlamadan önce bu dokümanları okur ve kararlarını bu kurallara göre üretir.

Tipik bir proje dizini örneği:

/project
   /docs
      SDLC.md
      AI_RULES.md
      ARCHITECTURE.md
   /src
   /tests

AI agentlara verilen talimat genellikle şu şekilde olur:

  • Bu projede geliştirilen tüm kodlar SDLC.md kurallarına uymalıdır.
  • Mimari kararlar ARCHITECTURE.md ile uyumlu olmalıdır.
  • Geliştirme süreci AI_RULES.md içindeki AI geliştirme prensiplerine göre yürütülmelidir.

Bu yaklaşımın iki önemli faydası vardır:

  1. AI üretimi kurumsal standartlardan sapmaz
  2. Farklı AI araçları kullanılsa bile davranış tutarlılığı korunur

Başka bir ifadeyle, AI agentlar yalnızca promptlarla değil, proje içinde bulunan yaşayan dokümantasyon ile yönlendirilmelidir.

Kurumsal ortamlarda bu yaklaşım AI üretimini rastgele bir aktivite olmaktan çıkarır ve onu kontrollü bir yazılım üretim sistemi haline getirir.


Sonuç

AI destekli yazılım geliştirme büyük bir hız artışı sağlamaktadır. Ancak bu hız kalite ve güvenlik risklerini de beraberinde getirir.

Güvenli geliştirme için en etkili yaklaşım:

  • AI modellerini farklı roller için kullanmak
  • Modelleri birbirini denetleyecek şekilde çalıştırmak
  • Geliştirme sürecine kontrol kapıları eklemek

Küçük projelerde iki AI modeli ve iki kalite kapısı yeterli olabilir.

Büyük ve kritik sistemlerde ise çoklu AI agent mimarisi daha güvenli bir geliştirme ortamı sağlar.

Gelecekte yazılım geliştirme yalnızca kod yazma süreci olmayacak; iyi tasarlanmış bir AI destekli üretim sistemi haline dönüşecektir.

Dogan ZORLU

Dogan ZORLU