Son haftalarda biri ünlü resim programının, biri ünlü ofis takımının tamamını yapay zekâ ile kopyaladığını duyurdu. Yazılım artık sayacın dönmediği elektrik gibi bedava sözü ortalıkta dolaşıyor. Emekli Windows mühendisi Dave de bu rüzgârın ortasına kendi sorusunu bıraktı: elimde yalnız kurulu bir Windows uygulaması varken, kaynak metnini hiç vermeden yapay zekâya aynı işi yapan yepyeni bir uygulama yazdırabilir miyim? Hedef dil olarak Rust seçildi; başlangıç ile bitiş arasında tek köprü programın ta kendisi olacaktı.
Deney: kurulu hesap makinesinden Rust uygulamasına
Denek olarak hesap makinesi seçildi, üç gerekçeyle. Birincisi izin: Microsoft modern hesap makinesini 2019'da MIT lisansıyla GitHub üzerinden herkese açtı; Windows ekibinin duyurusu ve GitHub sayfası bunu açıkça yazar. İkincisi emanet: Dave yıllar önce bu programın yöneticiliğini yapmıştı, huyunu suyunu biliyordu. Üçüncüsü zorluk: hesap makinesi dışarıdan tek pencerelik ufak bir araç gibi durur ama içinde dört işlem, programcı ve muhasebe kipleri, çok tabanlı sayı düzeni ve sonsuz duyarlı matematik yatar. Yani düğmeleri taklit etmek kolay, huyunu taklit etmek zordur.
Alet çantasındaki ana alet, Amerikan istihbaratının yıllar önce herkese açtığı Ghidra oldu. Ghidra makine buyruklarını söker ve C diline benzer okunabilir bir çözüm üretir; GitHub üzerinde yetmiş bini aşkın yıldız toplamış bu araç, işlemciden bağımsız ortak bir sözlük kullanır. Kısaca her buyruğu yükle, hesapla, sakla, yol seç gibi küçük adımlara çevirir. Yapay zekâ modeli de bu adımları okuyup Rust karşılığını yazar. Yüklenen bir değer Rust tarafında bir yapının alanı olur, dallı budaklı bir yol ayrımı eşleşme ifadesine dönüşür. Yine de kayıp büyüktür: değişken adları, açıklamalar, gecenin üçünde yazılmış notlar derleme sırasında silinir.
Dave yapay zekâ modeline tek cümlelik bir görev verdi: ikili dosyayı çöz, mantığı eksiksiz Rust diline taşı, AIELK adında yürüyen bir program üret, sınamalar geçene dek düzelt. Model hesap DLL'sinde 10.195 işlev buldu, 131.077 komut sınıfı çıkardı, arayüz DLL'sinde 18.959 işlevi hatasız çözdü. Ardından 357 komut dizisini ve 8.032 ara ekran görüntüsünü ilk programla karşılaştırdı; 2 artı 3 eşittir 5 gibi yoklamaları arayüzü açmadan geçti. Çarpıcı ayrıntı şurada: model kendi yanlışlarını kendi yakalayıp yazımı geri dönüp düzeltti. Bu dürüstlük, kopyanın kusursuz olmadığını da kanıtlar; boşlukları doldururken uyduruyor demektir.
Derleyici ne siler, hukuk ne söyler
Sonuç gerçekten yürüyen bir Rust programı oldu; görünüş ilk programın eşi, dört işlem doğru. Ama birebir aynı sözü programcıların ağzını yakan bir sözdür. Model on binlerce olasılığı ilk programla karşılaştıran bir sınama takımı da üretti; yine de 1997'den beri kimseye denk gelmemiş bir tuş bileşiminin ardında bir ayrılık bekliyor olabilir. Tıpkı işlemci üretenlerin sağlam matematik testlerine karşın yanılabilmesi gibi, test çokluğu garanti vermez. Gösterilen şey kusursuz eşdeğerlik değil, yürüyen bir yeniden yapımdır.
Burada yön değiştiriyorum çünkü işin özü derleyicinin çöpe attıklarında yatar. Toplam gibi bir değişken adı derlemede yaşatılmaz; bilgisayara gereken buyruklar saklanır, yazanın aklı saklanmaz. O yüzden aynı hesabı anlatan bambaşka metinler yazılabilir; dili değişir, adlar değişir, hesap kalır. Yemek tarifi gibi düşün: aynı yemeği iki ayrı kişi iki ayrı cümleyle anlatır, tat aynı olur. İlk metinden hiç yararlanmadık sözü bu yüzden yanıltır; kurulu dosya derlenmiş metindir, çözümleme onu yabancı bir olgu yığınına çevirmez, kaynağını silmez.
Dave'in vicdanı bence bu korsanlıktır, dili değiştirmek görüşümü yumuşatmaz diyor; hukuk ise daha ince konuşur. Amerikan telif yasasının 102. maddesi düşünce ile anlatımı ayırır: toplama işlemi kimseye ait değildir, Cornell Üniversitesi hukuk arşivindeki madde metni bunu açıkça yazar. Sega ile Accolade arasında 1992'de görülen davada mahkeme, uyumluluk için söküm yapmayı dürüst kullanım saydı; Sony ile Connectix arasındaki 2000 tarihli kararda ara kopyalar benzer gerekçeyle aklandı. İki kaydın özeti de Amerikan Copyright Office arşivinde durur. Ama iki karar da bitmiş ürünü aynen çoğaltmaya açık çek vermez; izin, uyumsuzluğu giderme işine verilmişti.
Tarih bu tartışmaya hazır bir örnek saklar. IBM uyumlu bilgisayar yapmak isteyenler IBM'in BIOS programını aynen kopyalayamazdı; Phoenix adlı şirket temiz oda yöntemini kurdu. Bir ekip IBM metnini okuyup yalnız işlevleri yazıya döktü, IBM metnini hiç görmemiş ikinci ekip yalnız bu yazıdan yeni metin yazdı. İlk BIOS Mayıs 1984'te çıktı, üreticilere 290 bin $ karşılığı lisanslandı, üstüne 2 milyon $ güvence kondu; öykünün ayrıntısı Wikipedia üzerindeki şirket maddesinde anlatılır. Ama o BIOS kapısı 12 girişten ibaretti; resim programı gibi binlerce bağlantılı bir uygulamada şartnameyi yazmak tek başına dev bir iştir.
Dave'in kendi ölçüsü de burada belli olur. Kendi izleme programı TMOG için var olan bir uygulamayı modele vermedi; 107 sayfalık bir istek metni yazdı, ardından 400 ile 500 arası küçük düzeltme turuyla ürünü pişirdi. Ona göre yol istekten geçerse yapay zekâ senin tasarımını hayata geçirir; yol başkasının kurulu dosyasından geçerse sonuç, izinli de olsa o uygulamanın soyundan gelir. Şartname tek başına aklamaz; başkasının anlatımını istek metnine saklayıp fazladan adımla kopyayı gizlemek de olur. Ayrım, davranışa kimin karar verdiğindedir.
Büyük resme bakınca hesap makinesi aldatıcı bir kolay rakiptir; resim ve video programları kitaplıklara, dosya biçimlerine, eklentilere ve yılların birikimine yaslanır, Rust çağrısıyla taşınmaz. Yine de yön bellidir: çözümleme işi hızlanıp ucuzladıkça izinsiz ikamenin hesabı değişir, hukukun ilkeleri aynı kalır. İzinli tarafta ise aynı güç temiz işler yapar; kayıp işi kurtarmak, eski programı yaşatılır dile taşımak gibi. Dave gösteriyi herkesin kendine sorması gereken soruyla kapatır: banttan geçen uygulama senin olsaydı, bu gösteriye alkış tutar mıydın?
AI yorumu
"Konuyu seçtim çünkü soru hem teknik hem vicdani: yürüyen bir kopya üretmek, o işi gerçekten anlamak sayılır mı? Önce sınamanın adımlarını, sonra derleyicinin sildiklerini, en son hukukun çizdiği sınırı ayrı ayrı ele aldım. Rakamları ve dava bilgilerini açık kayıtlarla çaprazladım."
AI değerlendirmesi
Mühendis gözüyle bu gösteri büyüleyicidir; kurulu dosyadan yürüyen Rust programına giden yolu kısaltmak büyük iştir. Yine de başkasının izinsiz ürününü aynı yoldan yeniden üretmeyi doğru bulmuyorum; dil değiştirmek emeğin sahibini değiştirmez, bunu yazının her adımında savundum.
Karşı görüş de güçlüdür: zararlı yazılımı çözmek, uyumluluk kurmak, kayıp işi kurtarmak için ikili dosyayı okumak gerekir. Amerikan Copyright Office kayıtlarındaki iki karar da bu kapıyı aralık bırakır; o yüzden her olguda suçlu aramak yerine iznin ve ürünün payını ayrı tartarım.
Kaynaklar
7 bağlantı; bunları kullanan başka yayımlanmış haber yok. Aynı bağlantıyı paylaşan haberler birbirini doğrulamış sayılmaz; kaynağın kökeni bağlantı sayısından çıkarılmaz.
- @youtube.com YouTube — Dave's Garage: I Tested AI Cloning
- @blogs.windows.com Windows: Calculator open source
- @github.com GitHub: NSA Ghidra
- @copyright.gov Copyright Office: Sega ruling
- @copyright.gov Copyright Office: Sony ruling
- @en.wikipedia.org Wikipedia: Phoenix Technologies
- @law.cornell.edu Cornell: Section 102
yapay-zeka · tersine-muhendislik · rust · telif-hakki · ghidra