Blog Yazısı
Cursor ve Ötesi: AI Agent'larını Mimari Bir Disipline Oturtmak, SDD vs Vibe Coding
AI agent'ları ile yazılım geliştirmede Spec-Driven Development ve Vibe Coding yaklaşımlarının pratik farkları.

Yapay zeka destekli kod üretimi geliştirme hızını ciddi biçimde artırdı. Bir component, endpoint ya da test senaryosu artık çok daha kısa sürede üretilebiliyor. Ancak ekip büyüdüğünde hız tek başına yeterli olmuyor; mimari tutarlılık ve tek doğru kaynak ihtiyacı öne çıkıyor.
Vibe Coding nedir?
Vibe Coding, geliştiricinin AI’a doğrudan görev verip kod üretmesini ifade eder. Örneğin “Sepette 100$ üzeri alışverişte ücretsiz kargo ekle” gibi bir prompt ile agent hızlıca implementasyona geçebilir.
Bu yaklaşım hız kazandırır ama ekipte herkes aynı domain bilgisine sahip değilse aynı business logic birden fazla serviste farklı şekillerde yazılabilir. Sonuç; parçalanmış logic, kırılan contract’lar ve production hataları olabilir.
Spec-Driven Development neyi değiştirir?
SDD yaklaşımında gerçek kaynak kod değil, spesifikasyondur. Akış kabaca şöyledir:
Constitution -> Spec -> Plan -> Tasks -> Code
Bu yaklaşımda insan mimariyi ve kuralları tanımlar; AI ise kodu ve testleri bu sınırlar içinde üretir. Böylece kararlar rastgele prompt’larla değil, kalıcı bir spec setiyle yönlendirilir.
Neden ekipler için daha güvenli?
Spec-first veya spec-anchored bir yaklaşım kullanıldığında:
- iş mantığı tek bir yerde tanımlanır
- API contract değişimleri daha kontrollü ilerler
- agent çıktıları daha deterministik hale gelir
- review süreci prompt kalitesine değil, spec uyumuna odaklanır
spec-kit neden önemli?
GitHub’ın yayınladığı spec-kit, SDD akışını pratik bir klasör yapısı ve komut seti haline getirir. constitution.md, spec.md, plan.md ve tasks.md gibi artefaktlar agent’ın doğrudan koda atlamasını engeller ve geliştirme sürecini daha denetlenebilir hale getirir.
Sonuç
AI agent’ları yazılım geliştirmeyi hızlandırır; fakat ekip ölçeğinde asıl değer, bu hızın mimari disiplinle birlikte korunmasındadır. Vibe Coding hızlıdır, SDD ise sürdürülebilirlik ve tutarlılık sağlar.