OpenAI’ın en son yeniliği olan Codex AI ajanı, kodlamaya yeni bir yaklaşım sunuyor – ChatGPT benzeri bir arayüzle desteklenen bir "vibe-coding" ortamı. Konsept ilk başta gösterişli görünse de, yeni Codex ajanın yetenekleri oldukça etkileyici.
OpenAI, Codex’i aktif geliştirme aşamasında olduğunu belirten bir araştırma önizlemesi olarak etiketledi. Şu anda, ChatGPT Pro, Enterprise ve Team katmanı abonelerine erişilebilir durumda olup, yakın gelecekte Plus ve Edu kullanıcılarına da genişletilmesi planlanıyor.
OpenAI’ın duyurusuna göre, Codex adı 2021’den beri gelişen bir kodlama aracıyla ilişkilendiriliyor. Bu tartışmada, "Codex", yeni duyurulan sürümü ifade ediyor.
Codex, OpenAI’ın sunucularında bulunuyor ve GitHub depolarıyla entegre oluyor. Gösteriler, Codex’in bir ekip içinde ek bir programcı gibi işlev gördüğünü gösteriyor.
Bir dizi hatayı çözmek ve görevi buna göre yürütmek için talimat verilebilir. Ayrıca kod değişiklikleri için onay istiyor, ancak kodu özerk olarak değiştirme yeteneğine sahip gibi görünüyor.
Codex, kodu analiz edip değiştirebilir, belirli sorunları belirleyebilir, iyileştirme alanlarını saptayabilir ve diğer kodlama ve bakım görevlerini gerçekleştirebilir. Her görev, kavram ve tasarımdan birim testine kadar her şeyi işlemesi için yapay zekaya olanak tanıyan yeni bir sanal ortam başlatır.
Kodlamada Bir Paradigma Değişimi
Bu, kodlama paradigmasında gerçek bir değişimi ifade ediyor. Daha önceki AI kodlama yardımı, öncelikle mevcut koda dayalı olarak otomatik olarak kod satırları veya blokları oluşturan otomatik tamamlama özelliklerini içeriyordu.
Teknoloji, yapay zekanın küçük kod parçaları yazabileceği veya hatalarını ayıklayabileceği noktaya geldi. Bu, ZDNET’in programlama testleriyle ilgili olarak özellikle ilgimi çeken kısım.
Yapay zekanın bir diğer rolü de genel sistemin analizi. Yakın zamanda, tüm kod tabanlarını dekonstrükte edebilen ve kod incelemeleri ve öneriler sunabilen yeni bir Deep Research aracını keşfettim.
Codex şimdi, bir ekipteki diğer programcılara veya kod bakımı öğrenen genç programcılara görevleri devretmeye benzer şekilde, tüm programlama görevlerinin buluttaki yapay zekaya emanet edilebileceği bir noktaya ulaşıyor.
OpenAI bunu "Yapay zekanın yalnızca siz çalışırken size yardımcı olmakla kalmayıp bağımsız olarak da iş üstlendiği, aracı yerel yazılım geliştirme" olarak tanımlıyor.
Lansman videosu, Codex’in her biri ayrı, izole edilmiş bir sanal ortamda çalışan birden fazla görevi aynı anda yönetme yeteneğini gösterdi.
Programcılar, aracıya görevler atadı ve bu görevleri bağımsız olarak yürüttü. Tamamlandıktan sonra, aracı test sonuçlarını sağladı ve kod değişiklikleri önerdi.
Demoda Codex’in hata düzeltmeleri yaptığı, yazım hatalarını taradığı, görev önerileri sunduğu ve proje genelinde yeniden düzenleme yaptığı (davranışı değiştirmeden yapıyı iyileştirmek için kodu değiştirmek) gösterildi.
Kıdemli geliştiriciler ve tasarımcılar, gereksinimleri ifade etmeye ve başkalarının çalışmalarını incelemeye aşinadır. Codex’i kullanmak onlar için önemli değişiklikler getirmeyecektir. Ancak, güçlü gereksinim ifade etme ve inceleme becerilerinden yoksun geliştiriciler, Codex’i yönetmeyi biraz zor bulabilirler.
Buna rağmen, araç gösterildiği gibi performans gösterirse, Codex daha küçük ekiplerin ve bireysel geliştiricilerin daha fazlasını başarmalarını, tekrarlayan görevleri azaltmalarını ve sorun raporlarına daha etkili bir şekilde yanıt vermelerini sağlayacaktır.
Potansiyel Tuzaklar ve Azaltma Stratejileri
ChatGPT’nin kodlama yetenekleriyle ilgili önceki deneyimler, odağı kaybetme veya amaçlanan yönden sapma eğilimini ortaya koydu. Bu, bireysel kod blokları için feci bir durum olmasa da, bir kodlama aracısının sınırlı gözetim altında çalışmasına izin verilirse, istenmeyen ve sorunlu sonuçlara yol açabilir.
Bunu ele almak için OpenAI, Codex’i bir AGENTS.md dosyasında belirtilen talimatlara uyması için eğitti. Depoda bulunan bu dosya, programcıların ve ekiplerin Codex’in davranışını yönlendirmesini sağlar. Adlandırma kuralları, biçimlendirme kuralları ve kodlama süreci boyunca istenen diğer tutarlı yönergeler hakkında talimatlar içerebilir. Esasen, ChatGPT’nin kişiselleştirme ayarlarını depo merkezli bir ekip ortamına genişletir.
Ek olarak, OpenAI, Codex CLI olarak adlandırılan ve bir geliştiricinin makinesinde yerel olarak çalışan bir Codex sürümünü tanıttı. Eşzamansız olarak çalışan ve tamamlandıktan sonra raporlar sağlayan bulut tabanlı Codex’in aksine, yerel sürüm programcının komut satırı aracılığıyla çalışır ve eşzamanlı olarak işlev görür.
Esasen, programcı bir talimat girer ve Codex CLI işleminin bir sonuç döndürmesini bekler. Bu, programcıların çevrimdışı çalışmasını ve etkin geliştirme makinelerinin yerel bağlamından yararlanmasını sağlar.
Umut Vaat Eden Araştırma Prototipi
Demo etkileyiciydi, ancak geliştiriciler gösterdiklerinin ve yayınladıklarının bir araştırma prototipi olduğunu vurguladılar. "Büyülü anlar" olarak adlandırdıkları şeyi sunsa da, hala önemli bir geliştirme gerektiriyor.
Bu teknolojinin geliştirmenin geleceği ve kendi geliştirme sürecim için belirli etkilerini anlamaya çalışıyorum. Birincil ürünüm, tescilli eklenti eklentileriyle açık kaynaklı bir WordPress eklentisidir. Codex potansiyel olarak açık kaynaklı çekirdek eklenti için genel depoyu analiz edebilir.
Ancak, Codex genel bir deponun ve birden çok özel deponun tek bir genel projenin parçası olarak ilişkisini yönetebilir mi? Ve test sadece kodumu değil, aynı zamanda performansı değerlendirmek için ek bir ekosistemi - WordPress - çalıştırmayı da içerdiğinde nasıl performans gösterir?
Yalnız bir programcı olarak, Codex gibi bir aracın potansiyel faydalarını anlıyorum. Ayda 200 dolarlık Pro aboneliği bile değerli olabilir. Somut, paraya dönüştürülebilir bir değer elde edebileceğimi varsayarsak, bir insan programcıyı işe almak çok daha pahalıya mal olur.
Deneyimli bir ekip yöneticisi ve iletişimci olarak, Codex gibi bir şeye görevler devretmekten rahatım. Slack üzerinden bir ekip üyesiyle iletişim kurmaktan önemli ölçüde farklı değil.
Codex’in öneriler sunması, taslak sürümler hazırlaması ve onayımı beklemesi, kodum içinde özgürce çalışmasına izin vermeye kıyasla bir güvenlik hissi veriyor. Bu, insanların hedefler belirlediği, yapay zekanın potansiyel uygulamaları taslak haline getirdiği ve insanların daha sonra ya onayladığı ya da başka bir yineleme için yapay zekayı yönlendirdiği yeni bir geliştirme yaşam döngüsü için ilgi çekici olasılıklar açıyor.
Cevaplanmamış Sorular ve Gelecek Etkileri
Yapay zekaları kodlama için kullanma konusundaki önceki deneyimlerime dayanarak, Codex potansiyel olarak bakım süresini kısaltabilir ve kullanıcılara düzeltmelerin teslimini hızlandırabilir. Bununla birlikte, bir özellik belgesine dayalı olarak yeni özellikler eklemedeki etkinliği belirsizliğini koruyor. Benzer şekilde, işlevselliği ve performansı Codex sonrası uygulamasından sonra değiştirmenin zorluğu henüz belirlenmedi.
Yapay zeka kodlamanın birden fazla şirkette benzer bir hızda geliştiği dikkat çekicidir. Yakında, Codex ile bazı işlevleri paylaşan GitHub Copilot’un Kodlama Aracısı hakkında başka bir makale yayınlayacağım.
O makalede, bu kodlama araçlarının genç ve başlangıç seviyesindeki programcıların yerini alabileceği yönündeki endişelerimi dile getirmiştim. İnsan işleri üzerindeki etkilerinin ötesinde, bir geliştiricinin kariyerinin orta aşamasını yapay zekaya devredersek kaybedilebilecek kritik eğitim fırsatları sorusu da var.
Yazılım Sektörünün "Bilinmeyene Doğru"
Disney’in Frozen II filminde Idina Menzel tarafından seslendirilen "Into the Unknown" adlı bir şarkı var. Şarkı, ana karakterin statükoyu sürdürmek ve "bilinmeyene doğru" gitmek arasındaki iç çatışmasını yansıtıyor.
Aracı yazılım geliştirme ile, sadece yapay zeka kodlamanın ötesinde, tüm yazılım sektörü "bilinmeyene doğru" bir yolculuğa çıkıyor. Yazılımlarımızı geliştirmek için yapay zeka tabanlı sistemlere giderek daha fazla güvendikçe, yetenekli bakımcıların sayısı muhtemelen azalacaktır. Yapay zekalar etkili bir şekilde çalışmaya devam ettiği ve erişilebilir kaldığı sürece bu kabul edilebilir. Ancak, henüz duyarlı olmayan, bulut tabanlı bir altyapıya devretme kolaylığı için temel becerilerin körelmesine ve iyi maaşlı işlerin feda edilmesine izin mi veriyoruz?
Zaman cevapları ortaya çıkaracaktır ve umarım bu vahiy zamanımız tükendiğinde gerçekleşmez.
Bunun gibi bir araca gerçek geliştirme görevleri devretmeyi düşünür müydünüz? Uzun vadeli etkisinin yazılım ekipleri veya bireysel geliştiriciler üzerinde ne olacağını düşünüyorsunuz? Ve kod yaşam döngüsünün daha fazlası yapay zekaya emanet edildikçe kritik becerileri veya rolleri kaybetme konusunda endişeli misiniz?