Ersoy
İzi sürülmez, sadece hissedilir.
Yıldız Yazar
Süper Yazar
MinePass
Sunucu Sahibi
Onaylı Satıcı
- Katılım
- 1 Eylül 2016
- Mesajlar
- 222
- Elmaslar
- 177
- Puan
- 13.920
- Yaş
- 28
- Konum
- Almanya
- Minecraft
- BenErsoy
Discord:
benersoy
Merhabalar MC-TR Halkı!
Yapay Zeka ile Yapılan Minecraft Eklentilerine Gerçekten Güvenebilir miyiz?
Merhabalar MC-TR Halkı!
Yapay Zeka ile Yapılan Minecraft Eklentilerine Gerçekten Güvenebilir miyiz?
Son yıllarda yapay zekânın yazılım geliştirme alanında inanılmaz bir hızla yaygınlaşmasıyla birlikte Minecraft sunucularında kullanılan eklentilerin geliştirilme şekli de ciddi şekilde değişmeye başladı. Eskiden bir Minecraft eklentisi geliştirmek isteyen kişinin Java, Bukkit API, Spigot/Paper API, veritabanı sistemleri, event yapısı, thread mantığı ve en azından temel yazılım mimarisi hakkında belirli bir bilgiye sahip olması gerekirken, günümüzde yapay zekâ araçları sayesinde kodlama konusunda çok fazla deneyimi olmayan kişiler bile birkaç komut yazarak çalışan eklentiler oluşturabiliyor. Birkaç yıl önce saatlerce araştırılması, dokümantasyon okunması ve elle kodlanması gereken sistemler artık yapay zekâya anlatılarak dakikalar içerisinde ortaya çıkarılabiliyor. Komut sistemleri, GUI'ler, ekonomi sistemleri, oyuncu istatistikleri, kit sistemleri, warp sistemleri, moderasyon araçları, özel itemler, görev sistemleri, veritabanı bağlantıları, API entegrasyonları ve hatta oldukça kapsamlı oyun mekanikleri bile yapay zekâ yardımıyla geliştirilebiliyor. Bunun geliştiriciler açısından çok büyük bir avantaj olduğu açık. Ancak tam olarak burada benim kafama takılan bir soru var: Yapay zekâ tarafından yazılmış veya büyük ölçüde yapay zekâ yardımıyla geliştirilmiş bir Minecraft eklentisine gerçekten güvenebilir miyiz? Buradaki "güven" kelimesini yalnızca eklentinin virüs içerip içermemesi anlamında kullanmıyorum. Güvenlik, performans, veri gizliliği, kod kalitesi, kaynak tüketimi, izinler, dış bağlantılar, bakım kolaylığı, güncellenebilirlik, hata yönetimi ve geliştiricinin eklentinin ne yaptığını gerçekten bilip bilmediği gibi birçok farklı konu bu tartışmanın içerisine giriyor.
Öncelikle "çalışıyor" ile "güvenilir" arasındaki farkı konuşmak gerekiyor
Bence Minecraft topluluğunda en sık yapılan hatalardan birisi bir eklentinin düzgün çalışmasını doğrudan kaliteli ve güvenilir olduğu şeklinde yorumlamak. Örneğin yapay zekâya bir ekonomi eklentisi yaptırdığınızı düşünelim. Oyuncular para kazanabiliyor, para harcayabiliyor, /balance komutu çalışıyor, GUI açılıyor, veriler kaydediliyor ve herhangi bir hata mesajı görünmüyor. Sunucu sahibi eklentiyi kurduğunda her şey mükemmel çalışıyor gibi görünebilir. Fakat kodun içerisinde gereksiz SQL sorguları olabilir, her işlemde veritabanına tekrar tekrar bağlantı kuruluyor olabilir, ana thread üzerinde ağır işlemler yapılıyor olabilir, oyuncu verileri düzgün şekilde cache'lenmiyor olabilir veya oyuncunun sunucudan çıkması gibi durumlar doğru şekilde ele alınmıyor olabilir. Bunların hiçbiri eklentinin ilk bakışta çalışmasını engellemez. Hatta düşük oyuncu sayısına sahip bir sunucuda günlerce hiçbir problem ortaya çıkmayabilir. Ancak sunucu 20 oyuncudan 200 oyuncuya, 200 oyuncudan 1000 oyuncuya çıktığında daha önce fark edilmeyen problemler ciddi performans sorunlarına dönüşebilir. Dolayısıyla bir eklentinin "çalışıyor olması" ile "iyi tasarlanmış olması" arasında ciddi bir fark var. Bu durum yalnızca yapay zekâ tarafından yazılmış eklentiler için de geçerli değil; insan tarafından tamamen sıfırdan yazılmış bir eklenti de aynı sorunlara sahip olabilir. Fakat yapay zekânın kod üretimini çok kolaylaştırması nedeniyle bu konu özellikle son dönemde daha önemli hale geliyor.
Yapay zekânın ürettiği kodu gerçekten anlayan kaç kişi var?
Bence tartışmanın en önemli noktalarından biri bu. Yapay zekâdan bir eklenti istediğimiz zaman bize yüzlerce, hatta binlerce satırlık kod verebiliyor. Kodun içerisinde onlarca sınıf, manager, listener, utility ve farklı sistemler bulunabiliyor. Kodun dışarıdan bakıldığında profesyonel görünmesi de mümkün. Değişken isimleri düzgün olabilir, sınıfların isimleri mantıklı olabilir ve kodun içerisinde bol miktarda yorum bulunabilir. Ancak bütün bunlar kodun gerçekten doğru olduğu anlamına gelmiyor. Hatta bazen tam tersine, kodun fazla karmaşık olması hatayı bulmayı daha da zorlaştırabiliyor. Bir kişinin yapay zekâya "bana gelişmiş bir clan sistemi yap" demesiyle ortaya çıkan 3000 satırlık kodu gerçekten anlayıp anlamadığını düşünmek gerekiyor. Eğer geliştirici Java'nın temel mantığını, Bukkit/Paper API'nin nasıl çalıştığını, event sistemini, scheduler kullanımını, async ve sync arasındaki farkı, SQL işlemlerini veya concurrency problemlerini bilmiyorsa yapay zekânın verdiği kodu değerlendirme şansı da oldukça düşük oluyor. Böyle bir durumda kişi aslında bir yazılım geliştirmekten çok, yapay zekânın verdiği çıktıyı kopyalayıp çalıştırmış oluyor. Eklenti çalıştığı sürece de herhangi bir problem olmadığını düşünüyor. Fakat bir problem ortaya çıktığında yapay zekâya tekrar soruyor ve yapay zekâ başka bir kod veriyor. Bu şekilde bir süre sonra eklentinin nasıl çalıştığını geliştiricinin kendisi bile bilmiyor hale gelebiliyor. Sizce burada ortaya çıkan yazılımı gerçekten "geliştirilmiş" bir yazılım olarak değerlendirmek doğru mu?
"AI ile yazıldı" demek eklentiyi kötü yapar mı?
Diğer taraftan yapay zekâ konusunda gereğinden fazla önyargılı olunmasını da doğru bulmuyorum. Çünkü yapay zekâ sonuçta yalnızca bir araç. Bir geliştiricinin yapay zekâ kullanması, o geliştiricinin hiçbir şey bilmediği anlamına gelmez. Tam tersine, deneyimli bir geliştirici yapay zekâyı çok etkili bir yardımcı olarak kullanabilir. Örneğin bir geliştirici temel mimariyi kendisi oluşturup bazı tekrar eden kodları yapay zekâya yazdırabilir, daha sonra ortaya çıkan kodu inceleyebilir, performans açısından düzenleyebilir, güvenlik kontrollerini gerçekleştirebilir ve kendi testlerini uygulayabilir. Böyle bir durumda ortaya çıkan eklentinin büyük bir kısmının yapay zekâ yardımıyla yazılmış olması neden otomatik olarak onu kötü yapsın? Bugün birçok profesyonel yazılım geliştiricisi de yapay zekâdan kod yazarken, hata ayıklarken, dokümantasyon hazırlarken veya alternatif çözüm üretirken faydalanıyor. Dolayısıyla "AI kullandıysa kötüdür" şeklinde bir yaklaşım bana göre doğru değil. Aynı şekilde "insan yazdıysa güvenlidir" demek de doğru değil. İnsanlar da kötü kod yazabilir, güvenlik açığı bırakabilir, performansı önemsemeyebilir veya kullanıcı verilerini yanlış şekilde işleyebilir. Bu nedenle bence asıl soru "Bu eklentiyi AI mı yazdı?" değil, "Bu eklentiyi geliştiren kişi ortaya çıkan kodu gerçekten kontrol etti mi?" olmalı.
İnsan tarafından yazılan eklenti gerçekten daha mı güvenli?
Bu noktada başka bir soru ortaya çıkıyor. Bir eklentinin tamamen insan tarafından yazılmış olması ona otomatik olarak bir güven avantajı sağlıyor mu? Bana göre hayır. Tecrübeli bir geliştirici bile hata yapabilir. Bir SQL sorgusunda problem olabilir, bir event yanlış yerde kullanılabilir, bir listener gereğinden fazla çalışabilir, bir scheduler sürekli olarak gereksiz işlem yapabilir veya oyuncudan alınan bir veri düzgün şekilde doğrulanmayabilir. Hatta yıllardır geliştirme yapan bir kişinin bile ciddi bir bug yapması gayet normal. Yazılım geliştirme zaten hatasız kod yazma işi değil; hataları mümkün olduğunca erken tespit edip düzeltme işi. Bu nedenle bir eklentiyi değerlendirirken sadece geliştiricinin ne kullandığına değil, geliştirme sürecine de bakılması gerektiğini düşünüyorum. Yapay zekâ kullanılmış olabilir ancak kod incelenmiş ve test edilmiş olabilir. İnsan tarafından yazılmış olabilir ancak hiçbir test yapılmamış olabilir. Bu iki durumda hangisinin daha güvenilir olduğunu yalnızca "AI kullandı/kullanmadı" üzerinden belirlemek mümkün değil.
Güvenlik açısından en büyük problem ne olabilir?
Minecraft eklentileri genellikle sunucunun oldukça geniş bir bölümüne erişebiliyor. Bir eklenti oyunculara mesaj gönderebilir, komut çalıştırabilir, dosya okuyabilir ve yazabilir, veritabanına bağlanabilir, HTTP istekleri gönderebilir, sunucu bilgilerine erişebilir ve başka pluginlerle iletişim kurabilir. Dolayısıyla sunucuya yüklenen bir eklentinin sahip olduğu yetkileri küçümsememek gerekiyor. Özellikle yapay zekâ ile hazırlanmış bir eklentide geliştirici kodun ne yaptığını tam olarak bilmiyorsa çok daha dikkatli olunması gerektiğini düşünüyorum. Eklenti herhangi bir web adresine bağlanıyor mu? Harici bir API kullanıyor mu? Hangi bilgileri gönderiyor? Sunucu IP'si veya oyuncu bilgileri dışarıya aktarılıyor mu? Güncelleme kontrolü yaparken hangi sunucuya istek gönderiliyor? Lisans sistemi kullanıyorsa neyi doğruluyor? Veritabanında hangi bilgiler tutuluyor? Bunların tamamı aslında bilinmesi gereken şeyler. "Eklenti çalışıyor ve herhangi bir virüs uyarısı vermiyor" demek bu soruların cevaplandığı anlamına gelmiyor.
İnternete bağlanan her eklenti şüpheli midir?
Burada da dengeli olmak gerektiğini düşünüyorum. Bir eklentinin internete bağlantı kurması tek başına kötü bir durum değildir. Örneğin bir Discord entegrasyonu kullanıyorsanız Discord API'sine bağlanması gerekir. Bir web paneli ile iletişim kuruyorsa HTTP bağlantısı yapması normaldir. Güncelleme kontrolü yapan bir eklentinin geliştiricinin sunucusuna istek göndermesi de tek başına şüpheli değildir. Problem bunun kullanıcıdan gizlenmesi veya gereksiz olmasıdır. Bir eklenti neden internete bağlandığını açıkça belirtiyorsa, hangi verilerin gönderildiğini söylüyorsa ve bu konuda şeffaf davranıyorsa değerlendirme yapmak daha kolay olur. Ancak yapay zekâ tarafından oluşturulan bir kod içerisinde geliştiricinin bile fark etmediği bir HTTP isteği bulunuyorsa burada daha ciddi bir problem ortaya çıkabilir. Özellikle kodun tamamını okumayan bir geliştirici için bunun fark edilmesi oldukça zor olabilir.
Oyuncu verileri konusu da göz ardı edilmemeli
Bir diğer konu ise veri saklama. Günümüzde birçok Minecraft eklentisi oyuncular hakkında çeşitli veriler topluyor. UUID, oyuncu adı, ekonomi bilgileri, istatistikler, görev ilerlemeleri, mesaj geçmişleri, bağlantı zamanları veya çeşitli oyun içi aktiviteler veritabanlarında tutulabiliyor. Burada sunucu sahibinin hangi verilerin toplandığını bilmesi gerektiğini düşünüyorum. Bir geliştirici yapay zekâya "oyuncu istatistiklerini kaydet" dediğinde yapay zekânın hangi verileri kaydedeceğini her zaman tam olarak tahmin etmek mümkün olmayabilir. Üstelik bu verilerin yalnızca yerel bir veritabanında tutulup tutulmadığını veya başka bir servise gönderilip gönderilmediğini de kontrol etmek gerekiyor. Dolayısıyla güvenilirlik yalnızca "kötü amaçlı kod var mı?" sorusundan ibaret değil. Eklenti benim sunucumda hangi verilere erişiyor ve bu verileri ne yapıyor? sorusu da en az bunun kadar önemli.
Performans tarafında yapay zekâ ne kadar başarılı?
Güvenlik dışında performans konusu da bence çok önemli. Yapay zekâ genellikle kendisine verilen isteğe göre çalışan bir çözüm üretmeye çalışıyor. Ancak bir çözümün çalışması, Minecraft sunucusu için ideal olduğu anlamına gelmiyor. Özellikle Paper veya Spigot gibi platformlarda ana thread üzerinde yapılan işlemlerin ne kadar kritik olduğunu bilen kişiler bunun ne kadar önemli olduğunu bilir. Bir kod parçası 10 oyunculu bir test sunucusunda sorunsuz çalışabilirken 500 oyunculu bir sunucuda ciddi TPS düşüşlerine sebep olabilir. Örneğin oyuncuların tamamını sürekli olarak tarayan bir görev, her oyuncu hareketinde veritabanına sorgu atan bir sistem veya gereksiz yere sürekli yeni task oluşturan bir yapı küçük sunucularda fark edilmeyebilir. Ancak oyuncu sayısı arttığında sistemin maliyeti de artar. Yapay zekâ bazen bu tür durumlar için çalışan bir çözüm sunabilir ama bunun ne kadar verimli olduğunu geliştiricinin değerlendirmesi gerekir. Burada yine geliştiricinin teknik bilgisi devreye giriyor. Yapay zekâ size kod yazabilir fakat o kodun Minecraft sunucunuz üzerindeki gerçek maliyetini anlamak sizin sorumluluğunuzda.
"Ama bu eklentiyi binlerce kişi kullanıyor" yeterli bir güven göstergesi mi?
Toplulukta sık karşılaştığımız bir başka argüman da bu. Bir eklentinin çok fazla indirilmesi veya çok fazla sunucuda kullanılması elbette olumlu bir işaret olabilir. Fakat bunu kesin güvenlik garantisi olarak görmek doğru mu? Bence değil. Çünkü binlerce kişinin kullanması, o binlerce kişinin kaynak kodunu incelediği anlamına gelmiyor. Çoğu kişi eklentiyi indiriyor, sunucuya atıyor ve çalıştırıyor. Eğer bir sorun uzun süre ortaya çıkmıyorsa herkes eklentiyi güvenli olarak değerlendirmeye devam ediyor. Ancak bu yine de kesin bir garanti değil. Buna karşılık uzun süredir geliştirilen, açık kaynak olan, düzenli güncellenen, issue'ları takip edilen, geliştiricisi toplulukta bilinen ve güvenlik konusunda şeffaf olan bir eklenti elbette daha fazla güven verebilir. Yani popülerlik bence bir kriter olabilir ama tek kriter olmamalı.
Kaynak kodunun açık olması yeterli mi?
Açık kaynak konusu da oldukça ilginç. Bir eklentinin GitHub gibi bir platformda kaynak kodunun bulunması kullanıcı açısından ciddi bir avantaj. En azından eklentinin ne yaptığını inceleme imkânınız var. Fakat burada da "kaynak kodu açık = güvenli" şeklinde bir denklem kurmak mümkün değil. Çünkü kaynak kodu açık olsa bile çoğu sunucu sahibi onu incelemiyor. Ayrıca kod açık olsa bile kullanılan bağımlılıkların ne yaptığı, build sırasında hangi kütüphanelerin dahil edildiği veya release dosyasının kaynak koduyla gerçekten aynı olup olmadığı gibi konular da önem kazanabiliyor. Buna rağmen açık kaynak bir projenin denetlenebilir olması bence önemli bir artı. En azından topluluk içerisindeki deneyimli geliştiriciler kodu inceleyebilir, açıkları bildirebilir ve geliştirici bunları düzeltebilir.
Yapay zekâ kullanan geliştiricinin sorumluluğu ne olmalı?
Bence tartışmanın en önemli noktalarından biri de bu. Bir geliştirici yapay zekâ kullanarak bir eklenti oluşturduysa ve bunu başka insanların kullanımına sunuyorsa "Ben yazmadım, AI yazdı." demesi bana göre bir sorumluluk mekanizması oluşturmuyor. Yapay zekâ kullanılan bir araçtır. Bir geliştirici dışarıdan aldığı bir kütüphanenin yaptığı hatalardan tamamen sorumsuz olmadığı gibi, yapay zekâ tarafından oluşturulan kodu kullanırken de ortaya çıkan üründen sorumlu olmalı. Özellikle eklentiyi ücretli olarak satıyorsa veya binlerce sunucuda kullanılmasını amaçlıyorsa test sürecinin daha ciddi olması gerektiğini düşünüyorum. En azından kodun temel bölümlerinin incelenmesi, güvenlik kontrollerinin yapılması, performans testlerinin gerçekleştirilmesi, hata durumlarının kontrol edilmesi ve kullanılan harici servislerin açıkça belirtilmesi gerektiğini düşünüyorum.
Peki yapay zekâ eklenti geliştirmeyi kolaylaştırarak aslında topluluğa fayda mı sağlıyor?
Kesinlikle evet. Bu tarafını da göz ardı etmemek gerekiyor. Daha önce Java öğrenmeye başlayan bir kişinin küçük bir eklenti yapabilmesi için saatlerce araştırma yapması gerekiyordu. Şimdi ise yapay zekâ sayesinde kişi bir konu hakkında daha hızlı fikir edinebiliyor, hata mesajlarını anlamlandırabiliyor ve örnek kodlar üzerinden öğrenebiliyor. Belki de gelecekte çok daha fazla kişi kendi sunucusu için küçük eklentiler geliştirebilecek. Bu bence kötü bir şey değil. Hatta Minecraft topluluğunun teknik anlamda büyümesine katkı bile sağlayabilir. Problem, bu kolaylığın "artık hiçbir şey öğrenmeye gerek yok" düşüncesine dönüşmesi. Çünkü yapay zekâ bir şeyi sizin için yazabiliyor diye o şeyin nasıl çalıştığını öğrenmek gereksiz hale gelmiyor.
Bence gelecekte asıl değer kazanacak şey kod yazmak değil, kodu değerlendirebilmek olacak
Yapay zekâların kod yazma yeteneği geliştikçe basit ve orta seviye kodları üretmek giderek daha kolay hale gelecek. Bu durumda geliştiricilerin değeri yalnızca "Java kodu yazabiliyorum" seviyesinde kalmayacak. Üretilen kodu analiz edebilmek, yanlış çözümü fark edebilmek, performans sorunlarını tespit edebilmek, güvenlik açıklarını anlayabilmek ve doğru mimariyi seçebilmek daha önemli hale gelecek. Yani yapay zekâ aslında geliştiricinin önemini azaltmaktan ziyade geliştiriciden beklenen becerileri değiştirebilir. Belki gelecekte bir geliştiricinin yapay zekâya 3000 satır kod yazdırması sıradan bir şey olacak. Fakat o 3000 satırın gerçekten gerekli olup olmadığını, hangi kısmının riskli olduğunu ve hangi kısmının değiştirilmesi gerektiğini anlayabilmek asıl uzmanlık olacak.
Sonuç olarak benim görüşüm
Ben "Yapay zekâ ile yapılan eklentilere güvenilmez." şeklinde kesin bir yargının yanlış olduğunu düşünüyorum. Aynı şekilde "AI artık her şeyi yapıyor, geliştiriciye gerek yok." düşüncesinin de oldukça tehlikeli olduğunu düşünüyorum. Yapay zekâ çok güçlü bir araç olabilir ancak araç ile ortaya çıkan ürün aynı şey değildir. Bir eklentinin güvenilirliğini belirleyen temel faktörün kodun hangi araçla yazıldığı değil, kodun nasıl kontrol edildiği, nasıl test edildiği, hangi yetkilere sahip olduğu, hangi verileri işlediği, internete hangi bağlantıları yaptığı, performansının nasıl olduğu ve geliştiricisinin ortaya çıkan yazılımı ne kadar iyi tanıdığı olduğunu düşünüyorum. Eğer geliştirici yapay zekâdan yardım alıyor, fakat yazdığı kodu okuyabiliyor, anlayabiliyor, değiştirebiliyor, test edebiliyor ve gerektiğinde neden belirli bir çözümün yanlış olduğunu açıklayabiliyorsa burada yapay zekâ kullanılması bana göre ciddi bir problem değil. Ancak kişi Java bilmiyor, Paper API bilmiyor, kodu okumuyor, yapay zekânın verdiği her şeyi doğru kabul ediyor ve ortaya çıkan eklentiyi doğrudan yüzlerce oyuncunun bulunduğu production sunucusuna yüklüyorsa burada ciddi bir risk olduğunu düşünüyorum.
Bence bundan birkaç yıl sonra "Bu eklenti AI ile mi yapıldı?" sorusundan çok daha önemli sorular soracağız. Kaynak kodu incelendi mi? Test edildi mi? Hangi izinlere sahip? Hangi verileri topluyor? Hangi dış servislere bağlanıyor? Performans testleri yapıldı mı? Geliştiricisi sorun çıktığında destek veriyor mu? Proje ne kadar süredir aktif? Güvenlik açıkları nasıl ele alınıyor? Bunların tamamı eklentinin güvenilirliği konusunda çok daha anlamlı bilgiler verecektir.
Bu yüzden benim açımdan konu aslında "Yapay zekâ iyi mi kötü mü?" tartışması değil. Daha çok "Yapay zekânın yazılım geliştirmeyi bu kadar kolaylaştırdığı bir dönemde, geliştiricinin sorumluluğu nerede başlıyor ve nerede bitiyor?" tartışması. Çünkü bugün yapay zekâ birkaç dakika içerisinde çalışan bir Minecraft eklentisi oluşturabiliyor olabilir. Ancak o eklentinin gerçekten kaliteli, güvenli, performanslı ve sürdürülebilir olup olmadığını anlamak hâlâ insanın sorumluluğunda.
Bence bundan birkaç yıl sonra "Bu eklenti AI ile mi yapıldı?" sorusundan çok daha önemli sorular soracağız. Kaynak kodu incelendi mi? Test edildi mi? Hangi izinlere sahip? Hangi verileri topluyor? Hangi dış servislere bağlanıyor? Performans testleri yapıldı mı? Geliştiricisi sorun çıktığında destek veriyor mu? Proje ne kadar süredir aktif? Güvenlik açıkları nasıl ele alınıyor? Bunların tamamı eklentinin güvenilirliği konusunda çok daha anlamlı bilgiler verecektir.
Bu yüzden benim açımdan konu aslında "Yapay zekâ iyi mi kötü mü?" tartışması değil. Daha çok "Yapay zekânın yazılım geliştirmeyi bu kadar kolaylaştırdığı bir dönemde, geliştiricinin sorumluluğu nerede başlıyor ve nerede bitiyor?" tartışması. Çünkü bugün yapay zekâ birkaç dakika içerisinde çalışan bir Minecraft eklentisi oluşturabiliyor olabilir. Ancak o eklentinin gerçekten kaliteli, güvenli, performanslı ve sürdürülebilir olup olmadığını anlamak hâlâ insanın sorumluluğunda.
Yazar Notu
Bu konuyu açmamın temel sebebi yapay zekâya karşı veya yapay zekâdan yana kesin bir taraf seçmek değil; son zamanlarda "AI ile yaptım" ifadesinin Minecraft eklenti geliştirme konusunda giderek daha normal hale gelmesi ve buna rağmen ortaya çıkan kodun kalitesi, güvenliği ve sorumluluğu konusunda yeterince tartışma yapılmadığını düşünmem. Özellikle son dönemde yapay zekâ sayesinde daha önce hiç Java kodu yazmamış kişilerin bile oldukça kapsamlı eklentiler geliştirebilmesi bence hem çok güzel bir gelişme hem de beraberinde ciddi soru işaretleri getiriyor. Bir yandan insanların teknik projeler üretmesinin önündeki engeller azalıyor, diğer yandan ise kişi ürettiği kodun nasıl çalıştığını bilmiyorsa ortaya oldukça garip durumlar çıkabiliyor. Bu nedenle burada "AI kullanmak kötüdür" gibi basit bir sonuca varılmasını istemiyorum. Hatta tam tersine, yapay zekânın doğru kullanıldığı zaman küçük geliştiriciler için inanılmaz faydalı olduğunu düşünüyorum. Benim asıl sorguladığım nokta, yapay zekânın verdiği kodun herhangi bir denetim yapılmadan doğru kabul edilmesi ve bunun sonucunda ortaya çıkan eklentilerin production sunucularında kullanılmaya başlanması. Özellikle bir eklenti oyuncuların verilerine erişebiliyor, dosya sistemiyle çalışabiliyor, veritabanına bağlanabiliyor veya internet üzerinden harici servislere istek gönderebiliyorsa, geliştiricinin "AI böyle yazdı" demesinin yeterli bir açıklama olmadığını düşünüyorum. Sonuçta o eklentiyi yayınlayan kişi insan ve o eklentiyi kullanan kişi de yapay zekâ ile değil, geliştirici ile iletişim kuruyor. Bu yüzden sorumluluğun da geliştiricide olması gerektiğini düşünüyorum.
Aynı zamanda burada deneyimli geliştiricilerin görüşlerini de özellikle merak ediyorum. Çünkü benim gözümden kaçan birçok teknik detay olabilir ve bu konunun yalnızca genel bir tartışma olarak kalmasını istemiyorum. Örneğin gerçekten profesyonel olarak Paper/Spigot eklentileri geliştiren kişiler yapay zekâyı nasıl kullanıyor? Kodun hangi bölümlerini AI'a yazdırıyorlar? Üretilen kodu nasıl test ediyorlar? Yapay zekânın ürettiği kod içerisinde daha önce ciddi bir performans problemi veya güvenlik açığı ile karşılaşan oldu mu? Bir eklentinin kaynak koduna baktığınızda AI tarafından yazıldığı kolayca anlaşılabiliyor mu? Yoksa artık iyi bir geliştirici tarafından kontrol edilen AI kodu ile insan tarafından yazılan kodu birbirinden ayırmak neredeyse imkânsız hale mi geliyor? Bunlar bence tartışılması gereken çok daha ilginç sorular.
Ayrıca sunucu sahiplerinin de bu konuda fikirlerini merak ediyorum. Bir eklentiyi sunucunuza yüklerken gerçekten kaynak kodunu inceliyor musunuz? Eklentinin internete yaptığı bağlantıları kontrol ediyor musunuz? Kullanılan kütüphanelere bakıyor musunuz? Yoksa eklentinin Spigot/Paper üzerinde çalışması, güncel olması ve topluluk tarafından kullanılması sizin için yeterli mi? Diyelim ki çok başarılı görünen bir eklenti buldunuz fakat geliştirici açıkça "Bu eklentinin büyük bölümü yapay zekâ yardımıyla geliştirildi." diyor. Bu sizin eklentiye bakışınızı değiştirir mi? Eğer değiştiriyorsa neden? Değiştirmiyorsa yine neden?
Bir de işin etik tarafı olduğunu düşünüyorum. Yapay zekâ ile kod üretmek günümüzde oldukça normal hale geldi fakat yapay zekânın ürettiği kodu tamamen kendi emeğiymiş gibi sunmak konusunda topluluğun nasıl düşündüğünü merak ediyorum. Örneğin bir kişi yapay zekâya bütün eklentiyi yaptırıyor, birkaç küçük değişiklik yapıyor ve daha sonra bunu tamamen kendi geliştirdiği bir proje olarak yayınlıyor. Sizce burada bir sorun var mı? Yoksa kullanılan aracın hiçbir önemi yok mu? Bir geliştirici Photoshop kullanarak grafik hazırladığında nasıl "Photoshop ile yaptım" demek zorunda değilse, kod yazarken AI kullanması da aynı şekilde normal mi? Yoksa yazılım geliştirme konusunda AI kullanımının ayrıca belirtilmesi gerektiğini mi düşünüyorsunuz?
Ben özellikle yorumlarda sadece "AI çöptür", "AI harika", "AI kullanmak hile" veya "herkes AI kullanıyor artık" gibi tek cümlelik cevaplardan ziyade insanların neden böyle düşündüğünü görmek istiyorum. Çünkü bence bu konu iki taraflı düşünülmesi gereken bir konu. Yapay zekâ gerçekten inanılmaz bir hız ve erişilebilirlik sağlıyor. Daha önce teknik bilgisi olmayan birinin bile bir fikir üzerinde çalışmasını mümkün kılıyor. Fakat aynı zamanda teknik bilgisi olmayan kişilerin teknik olarak riskli yazılımlar üretmesini de kolaylaştırıyor. Yani aynı özellik hem avantaj hem dezavantaj oluşturabiliyor. Bu yüzden tartışmanın "AI iyi mi kötü mü?" seviyesinde kalması yerine, AI ile geliştirilen bir eklentiyi güvenilir yapan şeyin ne olduğu üzerine ilerlemesini daha faydalı buluyorum.
Kısacası benim sorum şu: Bir Minecraft eklentisini güvenilir yapan şey geliştiricinin kim olduğu ve kodu nasıl yazdığı mı, yoksa ortaya çıkan kodun nasıl test edildiği ve ne yaptığı mı? Yapay zekâ tarafından oluşturulmuş ama deneyimli bir geliştirici tarafından baştan sona incelenmiş bir eklenti mi daha güvenilirdir, yoksa tamamen insan tarafından yazılmış fakat hiç denetlenmemiş bir eklenti mi? Kaynak kodu açık olan bir eklentiye mi daha çok güvenirsiniz, yoksa kapalı kaynak fakat yıllardır kullanılan ve çok büyük bir topluluğa sahip bir eklentiye mi? Bir eklentinin binlerce kişi tarafından kullanılması sizin için yeterli bir güven göstergesi mi? Ve son olarak, sizce önümüzdeki birkaç yıl içerisinde "AI ile yazılmış eklenti" kavramı tamamen sıradanlaşacak mı, yoksa insanlar AI tarafından geliştirilen yazılımlara karşı her zaman ekstra bir şüpheyle mi yaklaşacak?
Yorumlarda görüşlerinizi, mümkünse teknik gerekçelerinizle ve varsa yaşadığınız gerçek deneyimlerle paylaşın. Özellikle geliştirici, sunucu sahibi veya eklenti kullanıcısı olarak farklı açılardan bakabilirsek konu çok daha faydalı bir tartışmaya dönüşebilir.
Aynı zamanda burada deneyimli geliştiricilerin görüşlerini de özellikle merak ediyorum. Çünkü benim gözümden kaçan birçok teknik detay olabilir ve bu konunun yalnızca genel bir tartışma olarak kalmasını istemiyorum. Örneğin gerçekten profesyonel olarak Paper/Spigot eklentileri geliştiren kişiler yapay zekâyı nasıl kullanıyor? Kodun hangi bölümlerini AI'a yazdırıyorlar? Üretilen kodu nasıl test ediyorlar? Yapay zekânın ürettiği kod içerisinde daha önce ciddi bir performans problemi veya güvenlik açığı ile karşılaşan oldu mu? Bir eklentinin kaynak koduna baktığınızda AI tarafından yazıldığı kolayca anlaşılabiliyor mu? Yoksa artık iyi bir geliştirici tarafından kontrol edilen AI kodu ile insan tarafından yazılan kodu birbirinden ayırmak neredeyse imkânsız hale mi geliyor? Bunlar bence tartışılması gereken çok daha ilginç sorular.
Ayrıca sunucu sahiplerinin de bu konuda fikirlerini merak ediyorum. Bir eklentiyi sunucunuza yüklerken gerçekten kaynak kodunu inceliyor musunuz? Eklentinin internete yaptığı bağlantıları kontrol ediyor musunuz? Kullanılan kütüphanelere bakıyor musunuz? Yoksa eklentinin Spigot/Paper üzerinde çalışması, güncel olması ve topluluk tarafından kullanılması sizin için yeterli mi? Diyelim ki çok başarılı görünen bir eklenti buldunuz fakat geliştirici açıkça "Bu eklentinin büyük bölümü yapay zekâ yardımıyla geliştirildi." diyor. Bu sizin eklentiye bakışınızı değiştirir mi? Eğer değiştiriyorsa neden? Değiştirmiyorsa yine neden?
Bir de işin etik tarafı olduğunu düşünüyorum. Yapay zekâ ile kod üretmek günümüzde oldukça normal hale geldi fakat yapay zekânın ürettiği kodu tamamen kendi emeğiymiş gibi sunmak konusunda topluluğun nasıl düşündüğünü merak ediyorum. Örneğin bir kişi yapay zekâya bütün eklentiyi yaptırıyor, birkaç küçük değişiklik yapıyor ve daha sonra bunu tamamen kendi geliştirdiği bir proje olarak yayınlıyor. Sizce burada bir sorun var mı? Yoksa kullanılan aracın hiçbir önemi yok mu? Bir geliştirici Photoshop kullanarak grafik hazırladığında nasıl "Photoshop ile yaptım" demek zorunda değilse, kod yazarken AI kullanması da aynı şekilde normal mi? Yoksa yazılım geliştirme konusunda AI kullanımının ayrıca belirtilmesi gerektiğini mi düşünüyorsunuz?
Ben özellikle yorumlarda sadece "AI çöptür", "AI harika", "AI kullanmak hile" veya "herkes AI kullanıyor artık" gibi tek cümlelik cevaplardan ziyade insanların neden böyle düşündüğünü görmek istiyorum. Çünkü bence bu konu iki taraflı düşünülmesi gereken bir konu. Yapay zekâ gerçekten inanılmaz bir hız ve erişilebilirlik sağlıyor. Daha önce teknik bilgisi olmayan birinin bile bir fikir üzerinde çalışmasını mümkün kılıyor. Fakat aynı zamanda teknik bilgisi olmayan kişilerin teknik olarak riskli yazılımlar üretmesini de kolaylaştırıyor. Yani aynı özellik hem avantaj hem dezavantaj oluşturabiliyor. Bu yüzden tartışmanın "AI iyi mi kötü mü?" seviyesinde kalması yerine, AI ile geliştirilen bir eklentiyi güvenilir yapan şeyin ne olduğu üzerine ilerlemesini daha faydalı buluyorum.
Kısacası benim sorum şu: Bir Minecraft eklentisini güvenilir yapan şey geliştiricinin kim olduğu ve kodu nasıl yazdığı mı, yoksa ortaya çıkan kodun nasıl test edildiği ve ne yaptığı mı? Yapay zekâ tarafından oluşturulmuş ama deneyimli bir geliştirici tarafından baştan sona incelenmiş bir eklenti mi daha güvenilirdir, yoksa tamamen insan tarafından yazılmış fakat hiç denetlenmemiş bir eklenti mi? Kaynak kodu açık olan bir eklentiye mi daha çok güvenirsiniz, yoksa kapalı kaynak fakat yıllardır kullanılan ve çok büyük bir topluluğa sahip bir eklentiye mi? Bir eklentinin binlerce kişi tarafından kullanılması sizin için yeterli bir güven göstergesi mi? Ve son olarak, sizce önümüzdeki birkaç yıl içerisinde "AI ile yazılmış eklenti" kavramı tamamen sıradanlaşacak mı, yoksa insanlar AI tarafından geliştirilen yazılımlara karşı her zaman ekstra bir şüpheyle mi yaklaşacak?
Yorumlarda görüşlerinizi, mümkünse teknik gerekçelerinizle ve varsa yaşadığınız gerçek deneyimlerle paylaşın. Özellikle geliştirici, sunucu sahibi veya eklenti kullanıcısı olarak farklı açılardan bakabilirsek konu çok daha faydalı bir tartışmaya dönüşebilir.