Yapay zekayı şu an en çok kullananlar listesinde muhtemelen yazılımcılar başı çekiyordur. ChatGPT, Copilot vs. derken şu an iş öyle bir noktaya geldi ki biraz biz yazıyoruz biraz yapay zeka. Kendim için konuşursam en azından, kardeş kardeş yazıyoruz diyebilirim. Mesela matematiksel bir işlem yapacağım, formülün x için olan kısmını yazmaya başlıyorum, gerisini hemen öneriyor. x’i yardımlaşarak yazdık diyelim, y’yi hemen kendisi öneriyor. Tab tuşuna basmak ister istemez çok kolayımıza geliyor :).
Oyun geliştirirken sık sık matematiksel formüller kullanmamız gerekir. En basitinden mesafe bulmak için hipotenüs alma ya da x, y eksenlerindeki hız değerine göre açı bulma gibi. Bazı durumlarda tabi duruma özel bir formül çıkarmanız gerekir. Eskiden olsa elime hemen kağıt kalem alıp çizmeye başlardım, problemi çözecek bir formül bulmaya çalışırdım. İnternette araştırıp, benzer bir şey yapmış birisi varsa onun kodundan yardım alırdım. Sürekli farklı türde oyunlar yaptığımız için, karşımıza sık sık böyle problemler çıkardı.
Yapay zeka hayatımıza girdikçe işler bir hayli değişti açıkçası. Bir gün yine kod yazarken bu tarz bir problemle karşılaştım. Yapay zeka, tabii ki bir şeyler önerdi ama yapmak istediğim gibi bir sonuç veremedi. Masamda artık kalem olmadığını o zaman fark ettim, eskiden her zaman kalem, kağıt hazır olurdu. Bilgisayarda bir çizim programı açıp, x, y eksenleri çizip, biraz uğraştıktan sonra istediğim gibi bir sonuç elde edebildim. Tabii ki beni bir düşünce aldı ve bu yazıyı yazmama giden süreç bu olayla başladı diyebilirim.
Yapay zeka bizi gerçekten uyuşukluğa itiyor, bu olay sonucunda bunu net bir şekilde gördüm diyebilirim. Eskiden bu tarz formülleri tabiri caizse gözüm kapalı oluşturabilirdim. Malum olayda zorlanarak ve işin ilginci kendimi düşünmeye zorlayarak problemi çözebildim. Yapay zekaya o kadar alışmışız ki, o bir çözüm üretemeyince bir anda tıkanıveriyoruz. Yapay zeka olmadan da bugün başkalarıyla, başka firmalarla rekabet etmek ne kadar mümkün orası da meçhul. Yukarısı bıyık, aşağısı sakal mevzusu biraz. Bu konuya geçmeden önce maziye ufak bir dalmak istiyorum izninizle.
Yazılıma merakım lise yıllarına, belki biraz daha öncesine dayanıyor. O zamanlar kaynaklar çok kısıtlıydı ve yanımda, çevremde yol gösterecek birisi de yoktu. Tanıdıklarım içerisinde yazılıma, oyun geliştirmeye meraklı tek kişiydim muhtemelen. Zamanla internetten indirdiğim oyun kodlarını kurcalayarak, biraz daha büyüyünce aldığım kitaplardan öğrenerek yıllar içerisinde belli bir seviyeye geldim. Kendi kendime bir çok yöntem geliştirdim, mesela platform oyunu yaparken objelerin birbiriyle teması için bir yöntem geliştirdim kendimce. Yıllar sonra yabancı kaynaklarda gördüm ki, bu kullandığım yöntem aslında çok bilinen bir yöntemin benzeri bir şeymiş. Ben bunları bilmeden kendi kendime benzer bir şeyler üretmişim. Bir çok durumda tabii daha kolay bir yöntemi başka birisi bulmuş.
İzlediğim bir dizi vardı. Dizide insanlar yer altında silo adı verilen yapılarda yaşıyorlar. İnsanların dış dünya hakkındaki bilgileri çok kısıtlı, yönetim kimsenin fazla bilmesine izin vermiyor. Kitap, eskiye ait obje bulundurmak yasak. İnsanların dışarıyı görebildikleri bir kamera var, dışarısı harabeye dönmüş klasik nükleer savaş sonrası bir görüntü var. Bu durumdayken siloda yaşayanlardan birisi, dünyanın güneşin etrafında ve kendi etrafında döndüğünü çözüyor.
Bunun konumuzla ne alakası var diyebilirsiniz. Yapay zeka bu tarz keşifler yapabilmeyi engelliyor gibi geliyor bana. En azından kod noktasında bana öyle geliyor. Onun söylediğini yazıp, projeyi hızlıca bitirmek çok cazip geliyor. Ben eskiden saatlerce bir problem üzerinde düşündüğümü hatırlarım. Mesela bir gün çok spesifik bir problemle karşılaştık, objeyi çizgi çekerek ikiye bölmemiz gerekiyor. Bölünen parçalar daha sonra tekrar bölünebilecek. Mesela bir limon, onu istediği kadar parçaya ayıracak oyuncu. İnternette anca kesme kısmını bulabildik ama görüntü düzgün olmuyordu. Gün içinde saatlerce uğraşıp çözememiştik. Akşam gemiyle eve dönerken yolda aklıma bir şey gelmişti, onu deneyip yapabilmiştik. Biraz zihninizi dağıtın, rahat bırakın çözüm sizi bulur olayı doğru yani.
Yapay zeka çıktıktan sonra en son ne zaman bir problem üzerinde bu kadar uğraştım bilemiyorum. Çoğunlukla yapay zekaya sorup işe yarar bir şey elde ediyoruz, bizim düşünmemize çok gerek kalmıyor. Biz eskisi kadar çok düşünmüyoruz ama işler önceye göre çok hızlanıyor. Şöyle şöyle bir fonksiyona ihtiyacım var dediğinizde, saniyeler içinde kodu sizin için yazıyor. Bu hıza normal bir insanın yetişebilmesi mümkün değil. Yani öyle bir noktaya geldi ki iş, yapay zekayı bıraksak işler yavaşlayacak. Hem biz eskisi kadar problem çözemiyoruz, hem de yapay zekanın kattığı hız var.
Şöyle bir durum da var, bu sanırım bahsettiğimiz uyuşukluğun son noktaları olabilir. Bazı yazılımcılarda denk geliyor, yapay zekanın öneri vermesi için kod yazmayı bırakıp bekliyorlar. Genelde çok hızlı öneri verse de, dosya boyutuna ya da ne yapıldığını anlayıp anlamadığına göre cevap süresi uzayabiliyor. Yazılımcı donmuş bir hale o önerinin gelmesini bekliyor. Ben açıkçası bu kadar sabırlı değilim, bir kaç saniye içinde öneri vermezse kendim yazmaya devam ediyorum :).
Peki ne yapabiliriz? Zaman zaman yapay zeka desteği kapatılıp kod yazılabilir diye düşünüyorum. Henüz bunu denemedim, muhtemelen çok zor gelecek bu kadar yıl yardım aldıktan sonra. Kendimizi, zihnimizi bir şekilde diri tutmamız lazım. Bu arada bu yazıyı da VS Code üzerinde yazıyorum, Copilot eklentisi de ekli ve aktif. Düz yazı seçiliyken öneri vermiyor çok şükür. Burada da öneri verseydi, güzel cümleymiş kullanayım deyip tab tuşuna basardım muhtemelen :).
Not: Bir kaç yerde tab tuşuna basma geçti. Yazılım dışındaki kişiler için anlamsız gelebilir. Copilot öneri verdiğinde kodu kullanmak için tab tuşuna basıyoruz. Bazen öyle bir durum oluyor ki, bir satır aşağı in öneri güzel tab tuşuna bas, in bas, in bas… Bütün kodu yapay zeka yazıyor.