
Bir araştırma ekibi, yapay zekanın (YZ) yazılım geliştirmede karşılaştığı zorlukların kapsamlı bir haritasını yayınladı ve bu alanı daha da ileriye taşımak için bir araştırma yol haritası önerdi.
Yapay zekanın, yazılım geliştirmenin sıradan görevlerini sessizce devraldığı bir gelecek hayal edin: karmaşık kodları yeniden düzenlemek, eski sistemleri taşımak ve yarış koşullarını tespit etmek gibi. Böylece, insan yazılım mühendisleri, makinelerin henüz çözemediği sistem mimarisine, tasarımına ve yaratıcı sorunlara odaklanabilir. Yapay zekadaki son gelişmeler bu vizyonu daha da yakınlaştırıyor gibi görünüyor.
Ancak, Bilgisayar Bilimi ve Yapay Zeka Laboratuvarı (CSAIL) - MIT ve ortak araştırma enstitülerindeki bilim insanlarının yeni bir çalışması şunu gösterdi: Bu geleceği gerçekleştirmek için öncelikle günümüzün gerçek zorluklarına doğrudan bakmalıyız.
MIT'de elektrik mühendisliği ve bilgisayar bilimleri profesörü, CSAIL'de kıdemli araştırmacı ve çalışmanın başyazarı Armando Solar-Lezama, "Birçok kişi, yapay zeka her şeyi otomatikleştirebildiği için artık programcılara ihtiyaç olmadığını söylüyor," dedi. "Aslında önemli bir ilerleme kaydettik. Bugün sahip olduğumuz araçlar eskisinden çok daha güçlü. Ancak otomasyonun tüm potansiyelini ortaya çıkarmak için hâlâ kat etmemiz gereken uzun bir yol var."
Profesör Armando Solar-Lezama, yazılım mühendisliğinin yaygın algısının, bir öğrenci programlama ödevine benzer bir görev olduğu yönünde olduğunu savunuyor: Küçük bir fonksiyonu alıp onu işleyecek bir kod yazmak veya LeetCode tarzı bir alıştırma yapmak. Gerçek ise çok daha karmaşık: Tasarımları optimize etmek için kod yeniden düzenlemelerinden, bir şirketin tüm teknoloji yığınını değiştiren milyonlarca satır kod içeren COBOL'dan Java'ya büyük ölçekli geçişlere kadar.
Ölçüm ve iletişim zorlu sorunlar olmaya devam ediyor
GPU çekirdek değişiklikleri veya Chrome V8 motorundaki çok katmanlı iyileştirmeler gibi endüstriyel ölçekli kod optimizasyonlarını değerlendirmek hâlâ zordur. Mevcut kıyaslamalar çoğunlukla küçük, paketlenmiş problemler içindir. En pratik ölçüm olan SWE-Bench, bir yapay zeka modelinden GitHub'daki bir hatayı düzeltmesini ister. Bu, birkaç yüz satır kod içeren ve potansiyel olarak verileri açığa çıkaran düşük seviyeli bir programlama alıştırmasıdır ve yapay zeka destekli yeniden düzenleme, insan-makine çift programlama veya milyonlarca satır kod içeren yüksek performanslı sistem yeniden yazma gibi çok çeşitli gerçek dünya senaryolarını göz ardı eder. Kıyaslamalar bu yüksek riskli senaryoları kapsayacak şekilde genişletilene kadar, ilerlemeyi ölçmek ve dolayısıyla hızlandırmak açık bir sorun olarak kalacaktır.
Ayrıca, insan-makine iletişimi de büyük bir engel teşkil ediyor. Doktora öğrencisi ve başyazar Alex Gu, şu anda yapay zekâ ile etkileşimin hâlâ "kırılgan bir iletişim hattı" gibi olduğunu söyledi. Yapay zekâdan kod üretmesini istediğinde, genellikle birkaç basit ve yüzeysel test setiyle birlikte büyük, yapılandırılmamış dosyalar alıyor. Bu boşluk, yapay zekânın hata ayıklayıcılar, statik analizörler vb. gibi insanların aşina olduğu yazılım araçlarından etkili bir şekilde yararlanamaması gerçeğinde de kendini gösteriyor.
Topluluktan harekete geçme çağrısı
Yazarlar, bu sorunlara sihirli bir değnek çözümü olmadığını savunuyor ve topluluk ölçeğinde çabalar çağrısında bulunuyor: programcıların gerçek geliştirme sürecini yansıtan veriler oluşturmak (hangi kodun saklanacağı, hangi kodun kaldırılacağı, kodun zaman içinde nasıl yeniden düzenleneceği vb.); yeniden düzenleme kalitesi, yama dayanıklılığı ve sistem geçiş doğruluğu için ortak değerlendirme araçları; ve yapay zekanın belirsizliği ifade etmesine ve insan müdahalesini davet etmesine olanak tanıyan şeffaf araçlar oluşturmak.
Doktora öğrencisi Alex Gu, bunu tek başına hiçbir laboratuvarın sağlayamayacağı, büyük ölçekli açık kaynak toplulukları için bir "harekete geçme çağrısı" olarak görüyor. Solar-Lezama, ilerlemenin küçük ve kademeli adımlarla, "sorunun bir parçasını tek tek çözen araştırma bulguları" ile geleceğini ve yapay zekanın bir "kod önerme aracı"ndan gerçek bir mühendislik ortağına dönüşeceğini öngörüyor.
"Bu neden önemli? Yazılım zaten finans, ulaşım, sağlık ve neredeyse günlük faaliyetlerin temelini oluşturuyor. Ancak onu güvenli bir şekilde oluşturmak ve sürdürmek için harcanan insan emeği bir darboğaz haline geliyor," dedi Gu. "Gizli hatalar yapmadan ağır işleri halledebilen bir yapay zeka, programcıların yaratıcılığa, stratejiye ve etiğe odaklanmasını sağlayacaktır. Ancak bunu başarmak için, bir kod parçasını bitirmenin kolay kısım olduğunu anlamamız gerekiyor; zor kısım ise geri kalan her şey."
(MIT Haberlerinden kısa bir çeviri)
Kaynak: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html
Yorum (0)