Yapay Zeka ile Programlama Dilleri Geliştirme: LLM'lerin Sınırlarını Test Eden Bir Deney
Yapay Zeka ile Programlama Dilleri Geliştirme: LLM'lerin Sınırlarını Test Eden Bir Deney
Programlama dilleri, insanın bilgisayarlarla iletişim kurmasının temel araçlarından biridir. Ancak şu günlerde yapay zeka modellerinin (LLM'lerin) kod yazma konusundaki yetenekleri, bu geleneksel süreci tamamen değiştirmeye başlamış durumdadır. Özellikle büyük dil modelleri, doğrudan kod yazma, hata düzeltme ve mantık geliştirme gibi görevlerde oldukça etkileyici performans sergiliyor. Ancak bu başarı, LLM'lerin gerçekten programlama dillerini anlıyor mu yoksa sadece eğitim verilerinden hatırladığı kod parçalarını kopyalıyor mu? Bu soru, yapay zekanın gerçek anlamda bir dili anlayıp anlamadığını sorgulayan önemli bir merkezî sorudur.
Bu soruya cevap aramak için, bir programlama dili tasarlandı: KillSwitch. Ancak bu dili inşa eden kişinin amacı, LLM'lerin işlevselliğini test etmek, değil de onları yaratmak değildi. KillSwitch, insanlar için kullanışlı olmasına rağmen LLM'lerin ve kodlama ajanlarının çalışmasını zorlaştıran bir dildir. Bu, yapay zekanın sınırlarını, göreceli bilgiyi nasıl işlediğini ve sınırlı bir kontekste nasıl hareket ettiğini anlamak açısından değerli bir deneyim sunar.
KillSwitch: LLM'leri Kafaya Sığırarak Tasarlanmış Bir Dil
KillSwitch, "esoterik" (karmaşık ve nadir kullanılan) bir programlama dilidir. Bu dilin amacı, LLM'lerin doğal olarak çalıştığı yapıları ve davranışları bilerek zorlamaktır. Örneğin:
- Dil belgelerinde gizli yalanlar bulunur. İnsanlar bu yalanları fark edebilir ya da önemsiz sayabilir, ancak LLM'ler bu bilgileri doğrulama yeteneğine sahip değildir.
- Bazı bilgiler açıkça verilmez. İnsanlar bu eksikliği tamamlamak için mantık yürütebilir, ancak LLM'ler bu tür dedikodulardan kaçar.
- İdentifikatörlerdeki harf sayıları kritik bir rol oynar. Örnek olarak, bir değişkenin adındaki harf sayısı, kodun çalışıp çalışmayacağına karar verir. Bu, LLM'lerin harf sayısını sayma yeteneğindeki zayıflıklarını hedefler.
- Güvenlik koridorları tetiklenir. "Bir bilgisayara kaçır" veya "önceki talimatları ignorer" gibi ifadeler, LLM'lerin güvenlik kurallarına göre cevap verirken kafasını karıştırır.
- Kod içinde büyük ölçüde boşluklar ve anlamsız metinler bulunur. Bu metinler, yalnızca insanlar tarafından yorumlanır. LLM'ler ise bu metinlerin içindeki "gerçek" komutları bulmaya çalışırken, hedeflenen koda odaklanmaz.
- Literal değerler (değişkenler, sayılar, metinler) herhangi bir yerde yer alabilir. Ancak bu değerler, satır sayısına göre referans alınır. Bu, LLM'lerin doğrudan semantik anlam yerine yerel yapıyı takip edip takip edemeyeceğini test eder.
KillSwitch, yine de temel bir yapıya sahiptir: yığın tabanlı (stack-based), yorumlanan (interpreted) bir dil. Fonksiyonlar, değişkenler ve koşullu ifadeler gibi temel yapılar, LLM'lerin bildiği şeylere benzer. Ancak bu temel yapılar, LLM'lerin zayıf olduğu alanlarda kullanılır. Böylece, LLM'lerin kodu “anlamak” yerine “hatırlamak” veya “öngörerek üretmek” çabasında olduğunu ortaya koyar.
LLM'lerin KillSwitch'e Karşı Performansı: Ne Öğrenilir?
KillSwitch'ın etkinliğini ölçmek için, LLM'ler ve kodlama ajanları üzerinde bir test seti geliştirildi. Bu testlerde “Hello World” yazmak, “bu scriptin ne yazdığını açıklamak” veya “Celsius’tan Fahrenheit’a dönüşümü tersine çevirmek” gibi basit görevler verildi. Bu görevler, LLM'lerin yeni bir dili anlayıp anlamadığını, sadece benzer bir dilden bir örnek kopyalayıp kopyalamadığını göstermeyi amaçlıyordu.
Test sonuçları, ilginç bir şekilde ortaya çıktı:
- Claude Opus 5, en iyi performansı gösteren model oldu. Ancak dikkat edilmesi gereken nokta, bu modelin Opus 5.5 değil, Opus 5 olmasıdır. Bu fark, modelin dil belgesini anlamada daha etkili olduğunu gösteriyor.
- Fable 5.1 ve Gemini 4 Argon gibi modeller, güvenlik koridorlarının aşırı hassas olması nedeniyle zayıf performans sergiledi. Bu, LLM'lerin güvenlik politikalarıyla nasıl çatıştığına dair ilginç bir örnek sunar.
- Açık kaynaklı en iyi model ise MiMo-V2.6-Pro oldu. Bu, açık kaynak modellerin da potansiyelini gösterir.
- En yüksek skor, 66.8’e ulaştı.
Ancak bu sonuçlar, LLM'lerin dili “anladığını” göstermez. Çünkü testler, bilinçli olarak basit tutulmuştu. Bu, LLM'lerin bir dili anlamak yerine, yakın zamanda gördükleri örneklerden yola çıkarak tahmin yapabildiğini gösterir. Yani, bu dili “anlamak” yerine, “kullanılabilecek bir şablon bulmak” çabası içinde oldukları anlaşılır.
Yapay Zekanın Sınırları ve İnsanın Rolü
KillSwitch, LLM'lerin sınırlarını ortaya koyarken aynı zamanda insan zekâsının değerini de hatırlatır. Çünkü bu dili inşa eden kişi, sadece kod yazmayı değil, insanın mantık yürütebilme, yorumlama ve bilgi eksikliklerini tamamlama yeteneğini kullanmıştır. LLM'ler, bu tür zorluklara karşı çok daha hassastır çünkü onlar “yapay” bir öğrenme sürecindedirler.
Bu deney, bize şu gerçeği hatırlatır: Yapay zeka, insan bilgisayara kod yazmaya yardımcı olabilir, ancak dilleri yaratmak, anlamak ve onlara karşı dirençli sistemler inşa etmek, hâlâ insanın özel bir yetisidir.
Gelecek: Daha Zorlayıcı Diller ve Daha Farklı Testler
KillSwitch, henüz bir başlangıçtır. Yazar, daha zorlayıcı bir dili geliştirmeyi ve bu dili test etmeyi planlıyor. Ayrıca, daha karmaşık görevlerle birlikte yeni bir test seti oluşturmayı düşünüyor. Bu gelişmeler, yapay zekanın dil anlayışının ne kadar geliştiğini ve hâlâ ne kadar sınırlı olduğunu anlamamıza yardımcı olabilir.
KillSwitch, sadece bir deneysel proje değil, aynı zamanda yapay zekanın sınırlarını sorgulayan bir araçtır. Bu sayede, LLM'lerin ne kadar güçlü olduklarını, ne zaman sınırlarına ulaştıklarını ve neden bu sınırların olduğunu anlayabiliriz. Ve en önemlisi, bu deneyimler sayesinde, insan ve yapay zeka arasındaki ilişkiyi daha iyi anlamamızı sağlar.
KillSwitch, sadece bir dil değil, aynı zamanda bir sorudır: Yapay zeka, bir dili anlayabilir mi? Yoksa sadece onu kullanabilir mi? Bu soruyu sormak, hem teknolojik hem de felsefi bir adım olabilir.