Son birkaç gün içinde Twitter’daysanız, muhtemelen ChatGPT adlı bir hizmetten çokça tweet görmüşsünüzdür. ChatGPT, OpenAI şirketinin sisteme yazılı biçimde yanıt verdiği istemler sağlamanıza izin veren bir konuşma aracıdır. Denemek isterseniz buradan sizlerde deneyebilirsiniz.
ChatGPT, Yazılım Mühendisliğini Değiştirecek – Ama Umduğunuz Şekilde Değil
Yapay zeka ve makine öğrenimi gelişmeleri etrafında hem sosyal medya hem de ana akım medyada öne sürülen iddialara bir çok insan şüphe ile yaklaşıyordu.
Yapay zeka ve makine öğrenimi modellerini uygulama konusunda derin bir geçmişe sahip olmasak da, teknolojinin temellerini çoğu kişiden daha iyi anlayan kişiler, alandaki teknik ve matematiksel başarıların takdir edilmesi, ileri sürülen iddiaların çoğunun (tamamen olmasa da) biraz fazla abartılı olduğunu düşünmekteydi.
Geçtiğimiz günlerde ChatGPT hakkında yorumlar görmeye başladığımızda, bunların başka bir abartı olduğunu hissedildi. Yazılım veya teknoloji ile ilgilensin yada ilgilenmesin bu konuda bu kadar fazla yorum ve tweet olduğunu gören herkes denemeye çalıştı. Haliyle bu da Chatbot un fazla talepten çalışmamasına neden oldu.
Teknokodi ekibi olarak bizlerde denedik ve gerçekten şaşkınlık içerisinde kaldık. Normal konuşabiliyor, sizi istediğiniz dilde anlıyor, istediğiniz bir konuda yardımcı oluyor ve sizlere kod blokları öneriyor. ChatGPT gerçekten inanılmaz bir şey ve gelecekte yazılım mühendisliğinin nasıl olabileceğine dair bir fikir veriyor, ancak bazı insanların düşündüğünü düşündüğümüz şekilde değil.
Belki de bazı insanlar için üretkenlikteki bu artış o kadar büyük olacak ki gerçekten işsiz kalacaklar. Kendini geliştirmeyen yada geliştirmek istemeyen, her ne kadar bir projeyi tamamen yazamasada (şimdilik!) kişiler yapay zekaya yenik düşebilirler.
Öncelikle Dall-E 2 ye bakalım
DALL·E 2, doğal dildeki bir tanımdan gerçekçi görüntüler ve sanat yaratabilen yeni bir AI sistemidir.
Dall-E 2 için hazırlanan bir YouTube videosunda, bir tasarımcı ve sanatçının bakış açısıyla çalışma şeklini nasıl değiştirebileceğini gösteriyordu. Özetle, bu yapay zeka sanatçıların ve tasarımcıların yerini alamayacaktı. Çünkü hayal gücü bambaşka birşeydi.
Bunun yerine, üretkenliği artıracak ve kullanıcılar için sanal bir ilham perisi olarak hareket etmeye yardımcı olabilecek bir yardım aracı haline gelecekti.
Yine ekip olarak Dall-E 2 yi denediğimiz zaman burada da şaşkınlığımızı gizleyemedik. Her ne kadar sanatçıların ve tasarımcıların yerini alamayacak olsa da ve hayal gücümüze yakın bir görüntü üretemese de yine de fikir vermek açısından çok iyi çalıştığını gözlemledik.
ChatGPT ve Konuşma Yazılım Geliştirme
Bizler Dall-E 2’yi kullandığımız sırada, OpenAI ekibinin yazılım geliştirme ve başka şeyler için yeni bir Dall-E 2 gibi yapay zeka tabanlı bir araç üzerinde çalışmaktaydı.
En son ChatGPT sürümüyle, bunu açıkça yapıyorlardı ve hemen söyleyeceğim, bu, yazılım geliştiricileri olarak çalışma şeklimizi gerçekten değiştirecek ve bazıları için bu, yazılım geliştirme kariyerlerinin sonunun başlangıcı olabilir.
İlk kullanımda, insanların çevrimiçi yaptıklarını gördüm; bu, iyi bilinen bir algoritma oluşturmak veya ona kod hakkında sorular sormak gibi yazılım geliştirme hakkında ChatGPT’ye yapmacık sorular sormaktı. Bunun çıktısı biraz etkileyiciydi ama bir yazılım mühendisi olarak çözümleri muhtemelen başka yollar ile de yazılabilirdi.
Tüm AI araçlarına güç veren birincil algoritmalar, rasyonel veya mantıksal olarak değil, model tabanlıdır, bu nedenle uygulamalarda hatalar olması kaçınılmazdır.
En son ChatGPT sürümüyle, bunu açıkça yapıyorlardı ve hemen söyleyeceğim, bu, yazılım geliştiricileri olarak çalışma şeklimizi gerçekten değiştirecek ve bazıları için bu, yazılım geliştirme kariyerlerinin sonunun başlangıcı olabilir.
İlk kullanımda, insanların çevrimiçi yaptıklarını gördüm; bu, iyi bilinen bir algoritma oluşturmak veya ona kod hakkında sorular sormak gibi yazılım geliştirme hakkında ChatGPT’ye yapmacık sorular sormaktı. Bunun çıktısı biraz etkileyiciydi ama bir yazılım mühendisi olarak çözümleri muhtemelen başka yollar ile de yazılabilirdi.
Tüm AI araçlarına güç veren birincil algoritmalar, rasyonel veya mantıksal olarak değil, model tabanlıdır, bu nedenle uygulamalarda hatalar olması kaçınılmazdır.
Bir sonraki denememizde farklı bir açıdan yaklaştık. Flutter’da basit bir not alma uygulaması üzerinde çalışıyorum ve bunu ChatGPT ile nasıl yapabileceğimi görmek istedim. “Flutter’da basit bir not alma uygulaması nasıl yapabilirim?” (“How do I build a simple note-taking application in Flutter?”) diye sordum. OpenAI, API’lerinin hızı sınırlı olduğu için uygulamanın yalnızca yarısını yaptığını, ancak yaptığı şeyin temel bir not alma uygulaması için iyi bir başlangıç olduğunu varsayıyoruz. En önemlisi, benim için bir dizi temel görevi tamamladı;
- Uygulamam için temel bir başlangıç mimarisine ilişkin öneriler.
- Uygulamam için standart kod öneriliyor.
- Classlara isim öneriyor.
Buradaki değer çok büyük değil ve olmasını beklemiyorduk. Bunların birçoğu neredeyse herkesin yapabileceği türden ancak gerçekten çok vakit kazandırıyor. Bunun da ötesinde, ChatGPT ile “sohbet etmeye” devam ettik ve daha fazla özellik oluşturmasını ve oluşturulan kodu daha da iyileştirmesini sağladık.
Peki gelecekte yazılımcılara ihtiyaç olacak mı?
Github Co-pilot gibi ChatGPT de basit if-else blokları yerine en az bir fonksiyonun çıktısını bizlere vermektedir. Bu da gerçekten işlerimizi kolaylaştırmaktadır. Senior da olsa junior da çoğu zaman Stackowerflow a gidip kodu kopyala-yapıştır yaparak projemizde kullanmaktayız.
Yapay zekadaki bu ilerlemeler devam ettikçe, standart sınıflar oluşturmak, algoritmalar uygulamak, basit web formları oluşturmak, basit veri işleme yapmak vb. gibi en temel programlama görevleri giderek daha fazla bilgisayar destekli olacak. Şu anda bu görevlerden bazıları zaman alıyor ve şirketler bu işi yapmak için giriş düzeyinde veya daha düşük düzeyde yazılım geliştiricileri işe alıyor. Bu kaçınılmaz olarak değişecektir.
Bu geleceğin kaçınılmaz olarak yaklaştığını varsayarsak, bu teknik insanları nerede bırakır? Temel tekrarlayan eylemler yapay zeka tarafından giderek daha fazla gerçekleştirildiğinden, geriye kalan iş oldukça teknik ve ortama özel olacaktır. Mantıksal ve rasyonel düşünmeye daha fazla güvenmeyi gerektiren bu işin benzersiz doğası nedeniyle, bu sorunlar model tabanlı bir yapay zekanın erişiminin ötesinde olacaktır. Günümüzde büyük şirketlerin işten çıkarma dalgası gibi ileride birçok firma da bu yapay zeka sayesinde alt seviye geliştiriciler yerine, mantıksal ve rasyonel düşünen iyi bir geliştirici alıp, ufak işleri yapay zekaya vermeyi tercih edebilirler.
ChatGPT Nedir? Bir de ChatGPT’nin kendisinden dinleyelim
Merhaba, ChatGPT bir dil modelidir ve OpenAI tarafından eğitilmiştir. Dil modeli, yüksek doğrulukla dil kullanımını tahmin etmeye çalışan yapay zeka (AI) teknolojisidir. ChatGPT, bir konuşma dizisi girdisi alır ve bu girdiye dayanarak bir sonraki en olası cümleyi üretebilir.
ChatGPT, birçok farklı uygulamada kullanılabilir. Örneğin, bir müşteri hizmetleri departmanında bir insanın yerine çalışarak müşterilere cevaplar verebilir veya bir chatbot olarak insanlarla sohbet edebilir. Ayrıca, yazışmaları otomatik olarak tamamlamak için kullanılabilir veya dil öğrenme amacıyla da kullanılabilir.
ChatGPT, OpenAI tarafından geliştirilen ve GPT-3 (Generative Pretrained Transformer 3) adlı dil modelinin bir ürünüdür. Bu dil modeli, milyarlarca dil örneğini kullanarak eğitilmiştir ve bu nedenle son derece gelişmiş bir dil anlama yeteneğine sahiptir.
Kullanımı ise oldukça basittir. ChatGPT’ye bir konuşma dizisi girdisi verilir ve bu girdiye dayanarak bir sonraki en olası cümleyi üretir. Bu üretilen cümle kullanıcının yazışmasına eklenebilir veya kullanıcı tarafından değiştirilebilir.
Tüm bu özellikleri nedeniyle, ChatGPT birçok farklı uygulamada kullanılabilir ve insanların yazışmalarını otomatik olarak tamamlamak için ideal bir teknolojidir. Örneğin, bir müşteri hizmetleri departmanında bir insanın yerine çalışarak müşterilere cevaplar verebilir veya bir chatbot olarak insanlarla sohbet edebilir.