Vibe coding hakkında iki yaygın anlatı var. Birincisi, tek bir cümle yazarsanız yapay zekanın size milyon dolarlık bir uygulama vereceği. İkincisi ise, yapay zeka tüm kodu yazdığı için insanların içinde ne olduğu hakkında hiçbir fikri olmadığı. Bu nedenle, eninde sonunda başarısız olup büyük çaplı bir kıyamete yol açması gerektiği.

Bu anlatıların ikisi de gerçekliğin karikatürleri. Önceki makalelerde, çeşitli vibe coding projeleri üzerindeki çalışmalarımdan bahsetmiştim. Hem harika olduklarını hem de çok iş gerektirdiklerini görmüştük. Bu makalede, kodlama kontrolünü bir makineye devretmenin getirdiği bakım ve sürdürülebilirlik sorularına derinlemesine dalacağım.

Genç bir ürün yöneticisiyken, satış başkan yardımcımızı desteklemek için Los Angeles'a gönderilmiştim. Beni en sevdiği restoranlardan birine götürmeye karar verdi. Bu restoran füzyon mutfağında uzmanlaşmıştı, yani şef yemeğine birçok farklı etkiyi karıştırıyordu. Şefin spesiyaliyle ünlüydü, o da şefin o akşam sizin için yaratmaya karar verdiği şeydi.

Kendimi neyin içine soktuğumu merak ettiğimi hatırlıyorum. Yiyecek alacağımı biliyordum ama ne yutmam beklendiği hakkında hiçbir fikrim yoktu. Sonunda, o gece yediğimiz yemek... garipti. Yenilebilirdi. Gönüllü olarak tekrar gideceğim bir yer değildi.

Aracılı kodlama, o restorana gitmek gibidir. Kullandığınız kodlama yapay zekasının itibarının iyi olduğunu bilirsiniz, ancak size ne teslim edileceği hakkında gerçekten hiçbir fikriniz yoktur. Yapay zekadan gelen gerçek kod hakkında çok az içgörünüz vardır. Size ne servis edilirse edilsin, temelde onu yemek zorundasınız.

Ajanlar kodunuzu yazarken, bir grup müteahhit veya astınızın kodunuzu yazması gibidir. Test edip değerlendirene kadar ne alacağınız hakkında hiçbir fikriniz yoktur.

Her şey sizin isteminize bağlıdır. Çöp-gir, çöp-çık, eski klişe ifadenin ima ettiğinden çok daha derin bir anlama sahiptir. Yeterince net istemde bulunmazsanız ve konuşmayı yeterli netlik ve denetimle sürdürmezseniz, yapay zekadan alacağınız kodun sindirilmesi zor olacaktır.

Mühendislik yöneticileri, piramitlerin zamanından beri denetimleri altındaki müteahhitleri yönetme zorluğuyla karşı karşıya kalmıştır. İş atamak ve iş ürününü değerlendirmek, mühendislik yöneticilerinin yaptığı şeydir. Bu süreçte kalite ve kontrolü sağlamak, yazılım mühendisliğinin özüdür.

Öte yandan, vibe coding kıyamet tellallığının çoğu abartı olsa da, bunda gerçeklik payı da var. Kalite standartları ve uygulamaları olmadan, sorunlu kodla karşılaşabilirsiniz. Bu makalede, aracılı kodlama etrafındaki mitleri ve yapay zekalardan istediğinizi geri almanıza yardımcı olacak en iyi uygulamaları tartışacağız.

Birçok yapay zeka kodlama savunucusu, yapay zekaya derin, zengin gereksinim belgeleri sağlamayı önerir. Ancak deneyimlerime göre, yapay zekalar o derin belgenin tek bir öğesini yanlış yorumlayabilir ve izini süremeyeceğiniz veya bulamayacağınız şekilde tamamen raydan çıkabilir.

Ben yapay zekaya tek bir basit görev vermeyi tercih ediyorum. Bu başarıyla tamamlandığında, bir tane daha veriyorum. Bu şekilde, ne yapay zekanın ne de benim genel planın izini kaybetme olasılığı azalır.

Tek başına bir geliştirici olarak, kodumu satır satır yazardım. Her satırın terini dökerdim. Kodum hakkında her şeyi bilirdim. Ama bir mühendislik yöneticisiyken, ekiplerime ve ekiplerimdeki bireysel geliştiricilere güvenmek zorundaydım.

Elbette kodlayıcılarımız vardı (kabaca ajanların eşdeğeri). Ama yine de, kodlayıcılarımızdan veya müteahhitlerimizden herhangi birinin gönderdiği şeyin diğer her şeyle çalıştığından emin olmak için sisteme bir test ve entegrasyon disiplini inşa etmem gerekiyordu.

Aracılı kodlama kullanacaksanız, aynısını yapmanız gerekecek. Her aşamada kontrol noktaları. Entegrasyonu dikkatlice takip edin. Teslimatı dışarıdaki müteahhitlerden alıyormuş gibi varsayın ve bu nedenle ana projenize dahil etmeden önce çalışmalarını kontrol etmeniz gerekiyor.

Korktuğum bir arkadaşım var, yazılımımı onunla paylaşmaktan çekiniyorum.