OpenAI Codex, tek bir satır insan eliyle yazılmış Assembly kodu olmadan, 18 kaynak dosyası ve yaklaşık 2.500 satır kod sunarak eksiksiz bir 16-bit x86 Assembly tarzı Asteroids DOS oyunu yazdı. Bu deney, bir yapay zekanın, alışılagelmiş "kod tamamlama" demolarının ötesine geçerek, planlamadan hata ayıklamaya kadar tüm bir yazılım yaşam döngüsünü doğrudan bir programcı müdahalesi olmadan yönetebileceğini gösteriyor.
Test neden önemliydi
Çoğu halka açık yapay zeka kodlama gösterisi, küçük kod parçacıkları veya basit araçlarla sınırlı kalıyor. Üst sınırı test etmek için deney, Codex'i hayal edilebilecek en kısıtlı ortama zorladı: oyun motorları, grafik kütüphaneleri veya üst düzey dil kolaylıkları olmayan DOS üzerinde 16-bit x86 Assembly. Amaç, bir yapay zekanın sadece kod üretmekle kalmayıp, çevresindeki mühendislik görevlerini de yönetip yönetemeyeceğini görmekti.
Roller nasıl paylaştırıldı
İnsan sorumlulukları üç eylemle sınırlıydı:
- Genel proje hedefini belirlemek (Asteroids tarzı bir nişancı oyunu).
- Ortaya çıkan oynanışla ilgili soruları yanıtlamak.
- Her sürümü test etmek ve gözlemlenen hataları raporlamak.
Codex'in sorumlulukları geri kalan her şeyi kapsıyordu:
- Bir proje planı ve mimarisi taslağı oluşturmak.
- Assembly kaynak dosyalarını yazmak.
- Kodu hata ayıklamak (debug), yeniden düzenlemek (refactor) ve yapılandırmak.
- Commit'ler ve dal (branch) yönetimi dahil olmak üzere Git deposunu yönetmek.
- Binary dosyasını oluşturmak ve bir DOS emülatöründe çalıştırmak.
İnsan hiçbir zaman tek bir Assembly komutu yazmadı, hiçbir zaman bir derleyici çağırmadı ve geliştirme sırasında oyunu hiç başlatmadı. Etkileşim, hata belirtilerini tanımlamakla sınırlı kaldı; yapay zeka kök nedeni kendi başına buldu ve düzeltti.
Yinelemeli iş akışı
Her döngü, Codex'in bir kilometre taşı önermesiyle (örneğin, "oyuncu gemisi hareketini uygula") başladı. Ardından ilgili kaynak dosyalarını üretti, bunları commit etti, çalıştırılabilir dosyayı oluşturdu ve çalışabilir sürümü test ediciye teslim etti. Codex belirtiyi analiz etti, kod tabanı üzerinden izini sürdü ve daha fazla insan rehberliği olmadan bir yama (patch) yayınladı.
Nihai ürün neleri içeriyor
- 18 Assembly kaynak dosyası, geleneksel bir depo yapısında düzenlenmiş.
- ≈2.500 satır Assembly, girdi işleme, sprite çizimi, çarpışma algılama ve yüksek skor sistemini kapsıyor.
- Standart bir DOS ortamında çalışan ve klasik Asteroids oynanışını taklit eden oynanabilir bir DOS çalıştırılabilir dosyası (executable).
- Sıfır insan eliyle yazılmış Assembly, yapay zekanın tüm düşük seviyeli programlama görevlerini üstlendiğini doğruluyor.
Riskler ve çıkarımlar
Eğer bir yapay zeka, bir projeyi kavram aşamasından çalışan bir binary dosyasına kadar otonom bir şekilde yönetebilirse, bir programcının kod tabanının ana orkestra şefi olarak geleneksel rolü değişir. Şirketler; rutin kurulum, dokümantasyon ve rutin hata ayıklama için harcanan süreyi azaltarak mühendislerin tasarım ve ürün stratejisine odaklanmasını sağlayabilir.
Deney aynı zamanda sınırları da vurguluyor. Test ortamı kasıtlı olarak dardı: mekanikleri iyi bilinen tek oyunculu bir DOS oyunu. Bu yaklaşımı harici bağımlılıkları, güvenlik kısıtlamaları veya performans açısından kritik kod yolları olan büyük, çok modüllü sistemlere ölçeklendirmek henüz kanıtlanmış değil. Dahası, insan test edici hala nihai kalite kontrol noktası olarak görev yaptı; bu denetim olmasaydı tespit edilemeyen bir mantık hatası gözden kaçabilirdi.
Karşı argümanlar ve açık sorular
- Güvenilirlik: Assembly programlama affetmez; tek bir "off-by-one" hatası tüm programı çökertebilir. Codex gördüğü hataları düzeltti, ancak yalnızca stres testi altında ortaya çıkan ince zamanlama sorunlarını gözden kaçırabilir.
- Sürdürülebilirlik: İnsan stil kılavuzları olmadan üretilen kodun, özellikle yapay zekanın isimlendirme kuralları ekip standartlarından farklıysa, gelecekteki geliştiriciler için okunması veya genişletilmesi daha zor olabilir.
- Fikri mülkiyet: Bir yapay zeka kodu yazdığında, kodun sahibi kimdir? Mevcut lisanslama çerçeveleri insan yazarlığını varsaymakta ve yapay zeka tarafından üretilen çıktılar için gri bir alan bırakmaktadır.
Sırada ne var?
- Daha geniş kapsamlı kıyaslamalar (benchmarks): Aynı otonom iş akışının ağ uygulamalarına, mobil uygulamalara veya modern C/C++ projelerine uygulanması, yaklaşımın retro tarzı oyunların ötesine geçip geçemeyeceğini test edecektir.
- Araç entegrasyonu: Codex'in CI/CD süreçlerine dahil edilmesi, sadece kod üretimini değil, aynı zamanda test, güvenlik taraması ve dağıtımı da otomatikleştirebilir.
- Politika gelişimi: Yapay zeka tarafından üretilen kodlar yaygınlaştıkça, yasal ve kurumsal politikaların mülkiyet, sorumluluk ve uyumluluk konularını ele alması gerekecektir.
Sonuç net: Yapay zeka artık iyi tanımlanmış ve sınırları belli projeler için tek başına çalışan bir yazılım mühendisi gibi hareket edebilir; insan eliyle kod yazmaya gerek duymadan işlevsel, düşük seviyeli kodlar sunabilir. Bu yeteneğin ana akım yazılım geliştirme süreçlerini yeniden şekillendirip şekillendirmeyeceği, ekosistemin güvenilirlik, sürdürülebilirlik ve yasal endişeleri ne kadar hızlı bir şekilde ele alabileceğine bağlıdır.
