Yazılım giderek daha fazla yapay zeka tarafından geliştiriliyor – bu yüzden güvenilir olup olmadığını bilmek hayati önem taşıyor
Yazılım hayatımızın her alanına nüfuz etmiş durumda. Örneğin, yalnızca arabanızdaki bilgisayar sistemleri on milyonlarca satır kod içeriyor. Toplumumuzun dijitalleşmesi hızla arttıkça, daha fazla ve daha kaliteli yazılıma duyulan ihtiyacın da gelecekte artmaya devam etmesi bekleniyor.
Ancak burada bir sorun var: Bu kadar çok yazılımı geliştirecek yeterli insan programcı yok. Bu da, günlük hayatta kullandığımız yazılımların giderek daha fazlasının yapay zeka (YZ) desteğiyle oluşturulduğu anlamına geliyor.
Yazılım geliştiriciler, GitHub Copilot gibi araçlara zaten oldukça aşinadır. Programcılar için bir tür ChatGPT işlevi gören bu araç, insan programcıların verimliliğini artırmak için akıllı bir otomatik tamamlama aracı gibi çalışır.
Ancak şimdi, çok daha köklü bir dönüşüme tanık oluyoruz. Yapay zeka “ajanları”, insan programcılar adına birçok farklı geliştirme görevini üstlenmeye hazırlanıyor. Ajanlar, belirli görevleri yerine getirmek ve insan kullanıcılar için belirli hedeflere ulaşmak amacıyla yapay zekayı kullanan yazılım programlarıdır. YZ ajanları belirli bir düzeyde özerkliğe sahip olup öğrenme ve karar alma yeteneğine sahiptir, ancak şimdilik hâlâ insan denetimi altındadırlar.
Yakın gelecekte birçok yazılım uygulamasının tamamen YZ ajanları tarafından geliştirileceğini öngörüyoruz. “Ajanik” sistemler, belirli görevleri çözme konusunda uzmanlaşmış birden fazla YZ ajanının iş birliği yaptığı topluluklardan oluşur. Böyle bir sistem sayesinde, yalnızca uygulamanın ne yapmasını istediğinizi sade bir İngilizce açıklamayla belirterek bir yazılım uygulaması oluşturabilirsiniz.
Bu sistemin olumlu etkileri olabilir. Ajanik sistemler, yazılım geliştirme bilgisi olmayan kullanıcıların da kendi ihtiyaçlarına uygun yazılımlar oluşturmasını veya mevcut yazılımları uyarlamasını sağlayabilir. Ancak olumsuz sonuçlar da mümkündür. Ajanlar kusursuz olmaktan uzaktır ve kolaylıkla güvenlik açıkları içeren, verimsiz veya belirli topluluklara karşı önyargılı kodlar üretebilirler.
Örneğin, işe alım yazılımı geliştiren bir yapay zeka ajanı, eğitimi veya iyileştirilmesi için kullanılan verilerdeki önyargılar nedeniyle erkek adayları kadın adaylara tercih edebilir. Bu nedenle, Avrupa Birliği’nin Yapay Zeka Yasası (AI Act) gibi düzenlemelerin gerektirdiği şekilde, bu tür riskleri en aza indirecek mekanizmalar oluşturmalıyız.
Araştırmacılar, bu sorunu öncelikle her yapay zeka ajanının temelinde yer alan Büyük Dil Modellerini (LLM – Large Language Models) kapsamlı bir şekilde test ederek ele alıyor. LLM, büyük miktarda veriyle eğitilmiş bir yapay zeka sistemidir. Ajanlar, kullanıcı taleplerine en iyi yanıtı tahmin etmek ve oluşturmak için kendi içlerinde bulunan LLM’yegüvenirler.
Tüm büyük dil modellerini (LLM) doğruluk, güvenlik açıkları ve önyargılar gibi çeşitli kriterlere göre değerlendirerek, yazılım geliştiriciler bir yapay zeka ajanı için en uygun LLM’yi seçebilir. Bu seçim, ajanın hangi görevlerde kullanılacağına bağlı olacaktır.
Bu süreç, ajanların belirli bir etik davranış sergilemesini sağlamaya yardımcı olur. Ancak onların talimatlarımızı anladığını ve uyguladığını nasıl bilebiliriz? Çözümümüz, geliştirilecek yazılımın planlarını (tasarımlarını) temel almak.
Genel olarak, bir mimar olmasanız bile bir evin planlarını anlamak mümkündür. Benzer şekilde, bir yazılımın planını mümkün olduğunca anlaşılır hale getirirsek, ileri düzey yazılım geliştirme bilgisine sahip olmayan kullanıcılar bile konsepti kavrayabilir ve nasıl değişiklik yapabileceklerini anlayabilir.
Kullanıcının ilk tanımından yola çıkarak, yapay zeka ajan(lar)ı olası bir çözümün ayrıntılı bir planını sunar ve bunu kullanıcıya sade bir dille açıklar. Kullanıcı, planı onaylayabilir veya iyileştirme talep edebilir. Nihai onayın ardından yazılım uygulaması, bu plandan otomatik olarak oluşturulur.
Bu yazılım geliştirme yöntemi, düşük kodlu (low-code) veya kodsuz (no-code) geliştirme olarak bilinir. Çünkü kodun büyük bir kısmı (bazı uygulamalarda tamamı), bir insan tarafından sıfırdan yazılmak yerine bilgisayar tarafından planlardan otomatik olarak üretilir. Açık kaynaklı BESSER platformumuz, uygulamaları bu yöntemle oluşturmanıza yardımcı olur.
Bilim kurgu yazarı Arthur C. Clarke bir zamanlar şöyle demiştir: “Yeterince gelişmiş herhangi bir teknoloji, sihirden ayırt edilemez.” Çok yakında bu sihir, günlük hayatımızın bir parçası olacak. Ancak dikkatli olmamız gerekiyor; bu sihrin, iyileştirmek yerine zarar verebilecek bir büyücülüğe dönüşmemesi önemli.