
Yapay zeka destekli kodlama dünyasında çalışırken, mükemmel bir tasarım sistemi oluşturmuş olmak yeterli görünse de gerçek hayat biraz daha karmaşık. Kodunuzu yazdırdığınızda, belirlediğiniz tasarım kurallarının dışına çıkan çözümlerle karşılaşmak kaçınılmaz. Bu durum özellikle vibe coding yaklaşımıyla çalışan tasarımcıları ve geliştiricileri düşündürüyor.
Bu sorun aslında yapay zekanın yaratıcı doğasından kaynaklanıyor ve tamamen kontrol edilebilir değil, ancak doğru stratejilerle minimize edilebilir.
Teknik ekiplerin oluşturduğu becerilere (skills) bağlı kalmak aslında kötü bir strateji değil. Şirketlerin kendi özel becerilerini geliştirmesi, yapay zekanın uydurma eğiliminin önüne geçmek için kritik bir adım. Bu yaklaşım hem tutarlılığı sağlıyor hem de marka kimliğinizi koruyor.
Yapay zeka araçları, mevcut kod tabanına bakarak öğrenmeye çalışsa da bazen beklenmedik yorumlar yapabiliyor. Bu durum özellikle karmaşık tasarım sistemlerinde kendini gösteriyor. Araç, bir pattern'i anlayıp kendi versiyonunu üretmeye çalıştığında, orijinal tasarım prensiplerinden uzaklaşabilir.
En etkili yaklaşım, kodlamaya geçmeden önce net bir tasarım sistemi oluşturmak. Bu süreç şöyle işliyor:
İlk adımda ekip olarak oturup tasarım sisteminizi tanımlayın. Bu aşamada renkler, tipografi, component'lar, spacing kuralları gibi temel elementleri belirliyorsunuz. Sonrasında design.md dosyası oluşturup tüm bu kuralları dokümante edin.
Bu dosyayı oluşturduktan sonra, yapay zeka aracınıza net bir talimat verin: "Bu tasarım sisteminin dışına çıkma." Bu basit ama etkili komut, çoğu durumda istenmeyen sapmaları engelliyor.
Stitch gibi araçlarla tasarım dosyalarınızın çıktısını alıp doğrudan kod editörünüze aktarabilirsiniz. Bu yöntem, tasarım ile kod arasındaki boşluğu daha da kapatıyor.
Ne kadar detaylı bir tasarım sistemi oluştursanız da, yapay zeka bazen sınırları aşacak. Bu durum frustrasyona neden olabilir ama tamamen normal. Önemli olan, bu sapmaları nasıl yöneteceğinizi bilmek.
UI testleri ve frontend testleri bu noktada devreye giriyor. Otomatik testler, tasarım sisteminden sapmaları erken aşamada yakalamanıza yardımcı oluyor. Bu testleri düzenli olarak çalıştırarak, hangi component'ların beklenenden farklı davrandığını görebilirsiniz.
Ekleme işlemlerinde özellikle dikkatli olun. Yapay zeka yeni bir component eklerken, mevcut sisteme uymayan özellikler katabilir. Bu durumlarda manuel kontrol şart.
Bu süreci daha verimli hale getirmek için birkaç pratik adım uygulayabilirsiniz. İlk olarak, tasarım sisteminizi mümkün olduğunca spesifik tanımlayın. Genel ifadeler yerine net değerler ve kurallar kullanın.
İkinci olarak, prompt'larınızda (komutlarınızda) tasarım sistemi referansını her seferinde tekrarlayın. "Mevcut tasarım sistemine uygun şekilde" gibi hatırlatmalar yapın.
Üçüncü olarak, incremental (artımlı) yaklaşım benimseyin. Büyük değişiklikleri bir seferde yapmak yerine, küçük parçalar halinde ilerleyin. Bu şekilde kontrol kaybını minimize ediyorsunuz.
Son olarak, code review sürecinizi güçlendirin. İnsan gözü hâlâ yapay zekanın gözden kaçırdığı detayları yakalayabiliyor.
Bir e-ticaret sitesi geliştirirken, button component'ları için belirli bir padding sistemi oluşturmuş olabilirsiniz. Ancak yapay zeka, farklı bir sayfa için button oluştururken kendi padding değerlerini kullanabilir. Bu durumda sitenin genel görünümü etkilenir.
Başka bir örnekte, renk paletinizde primary color olarak mavi tonları belirlemiş olsanız da yapay zeka, "daha modern" görünüm için farklı mavi tonları seçebilir. Sonuçta tutarsız bir görünüm ortaya çıkar.
Bu tür durumlarla karşılaştığınızda panik yapmayın. Sorunu tespit edin, tasarım sisteminizdeki ilgili kuralı güçlendirin ve aracınızı yeniden yönlendirin.
Tasarım sistemi oluştururken hangi detayları gözden kaçırmamalıyız?
Renk değerleri, font büyüklükleri, spacing değerleri, border radius gibi temel CSS değerlerini mutlaka belirtin. Ayrıca hover states, focus states gibi etkileşim durumlarını da tanımlayın.
Yapay zeka sürekli aynı hatayı yapıyorsa ne yapmam gerekir?
Prompt stratejinizi değiştirin. O specific hata için özel bir uyarı ekleyin. Örneğin: "Button'larda sadece 16px padding kullan, başka değer kullanma."
Büyük projelerde bu kontrol nasıl sağlanır?
Otomasyona yatırım yapın. Design tokens kullanın ve otomatik testler yazın. Manuel kontrol büyük projelerde sürdürülebilir değil.
Yapay zeka destekli kodlama araçları güçleniyor ama hâlâ insan rehberliğine ihtiyaç duyuyor. Tasarım sisteminden sapmalar engellenemez olabilir ama yönetilebilir. Önemli olan, bu sapmaları erken fark edip müdahale etmek. Mükemmel kontrolden ziyade, akıllı kontrol stratejileri geliştirmek daha gerçekçi ve sürdürülebilir bir yaklaşım.
Ben de yaşadığım bir sorunla ilgili bir soru sormak istiyorum. Vibe Coding esnasında her ne kadar kodun geri kalanına bakarak kodlamaya çalışsam da belli dizayn sistemlerinin dışına çıkıyor kod ne yazık ki. Burada teknik ekibin yarattığı skillere bağlı kalıyorum. Sen de benzer sorunlar yaşıyor musun? Bu süreci daha verimli hale getirmek için önerilerin var mı? Burada teknik ekibin yarattığı skillere bağlı kalmak bence kötü bir şey değil. Aslında iyi bir şey. Çünkü şirketler kendi skillerini yazıyorlar. Burada da EY'in önüne geçmesini sağlıyorlar. AI'in bir şeyleri uydurmasının önüne geçmesini sağlıyorlar. Ama ben şu hiç skillsiz yaptığım bir işten bahsettim. Hiç skillsiz derken ben kendim skiller yüklemiştim. Şirket skilli olmadan yaptığım bir çalışma olmamıştı. Burada da öncelikle şunu yapmak gerekiyor. Kodlamaya girmeden design sistemi yaratalım demek gerekiyor. Önce bir design sistem yaratıyoruz. O konuda el sıkışıyoruz. Sonra da hep diyoruz ki hatta design.md dosyası oluşturuyoruz ona ve sonrasında da diyoruz ki bunun dışına çıkma. ve öyle yaptığımızda bunun dışına çıkmamış oluyor belli bir tabii ki de çıktı örnekler oluyor her ne kadar işte mevcut ürünün development ekibinin verdiği skilde olsa biz kendimiz dizayn md de oluşturmuş olsak vesaire hatta bu dizayn dosyalarını Stitch ile oluşturduğum bir çalışmam da olmuştu. Stitch'te o design dosyalarının çıktısını alabiliyorsunuz. Ve o design sistemi Cloud Code'a veriyorsunuz. Dizayn sistemimiz bu. Bunun dışına çıkma diyoruz. O tarz şeyler deneyebilirsiniz. Ama illaki dışına çıktığı noktalar oluyordur. Orada da işte o UI testlerini, frontend testlerini yapmak kalıyor bize.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sodales leo id commodo ornare.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sodales leo id commodo ornare.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus sodales leo id commodo ornare.