ホーム→Yapay Zekâ
Yapay Zekâ

Yapay zeka ajanları ile Modern Warfare 2’nin kaynak kodu yeniden yazıldı: 2009 yapımı oyunun fonksiyonlarının %83’ü orijinaliyle.

bağlantı Maurice Heumann adlı geliştirici, yapay zeka ajanlarını kullanarak Call of Duty: Modern Warfare 2'nin (2009) kaynak kodunu C++ ile yeniden inşa...

User Avatar
Kasa Kapagi AcikEditör
4 分で読める
Yayın:
🌐
元の言語で表示中

この記事はまだ日本語に翻訳されていません。元のバージョンを表示しています。

bağlantı

Maurice Heumann adlı geliştirici, yapay zeka ajanlarını kullanarak Call of Duty: Modern Warfare 2’nin (2009) kaynak kodunu C++ ile yeniden inşa etti. Üç ay süren ve 500 milyar tokenden fazla tüketilen çalışmada oyunun fonksiyonlarının %99’u şu anda mevcut, bunların da %83’ü orijinalle birebir düzeyinde eşleşiyor.

SayarBilgi sitesini Google’da tercih edilen kaynak olarak seç

Tomshardware sitesinde aktarılan bilgilere göre, Heumann projeyi yalnızca “popüler bir birinci şahıs nişancı oyunu” olarak tanımladığı Modern Warfare 2 için başlattı ve amacının “doğru, kararlı ve özellik bakımından tamamlanmış bir yeniden yapılandırma” üretmek olduğunu belirtti. İki hafta öncesine kadar oyunun tamamen oynanabilir hale geldiğini X üzerinden duyurdu. Kendi tahminine göre proje 600-700 milyon token tüketmiş.

Heumann, başka bir X paylaşımında kendi tokenları için ödeme yapmadığını ancak maliyeti abonelikle yaklaşık 1.200 euro veya API tokenlarıyla 200.000-250.000 dolar arasında hesapladığını yazdı.

İşin zorluğunun kodu üretmekten çok onu doğrulamakta çıktığını belirten geliştirici, bir kontrol oluşturmak ve ajanların bunu atlatamamasını sağlamak zorunda kaldığını anlattı. Karşılaştığı diğer zorluğu ise “kurumsal dünyanın bizim eğlencemizi bozmaya geldiği” şeklinde ifade etti. Projeye dair iki önceki blog yazısı kaldırıldı ve 30 Eylül tarihli X paylaşımındaki video, telif hakkı sahibinin şikayeti sonrasında devre dışı bırakıldı. Activision’dan şu anda kayıtlı bir yorum bulunmuyor.

Yöntem, Anthropic’in Claude’ü ve OpenAI’nin Codex’i kullanan bir ajan filosunu hedefe yönlendirmeyi içeriyor. Heumann önce bir Claude Max (20x) planıyla başladı, ardından Codex Pro ekledi ve ikisini aynı anda kullanmaya başladı. Bunlar sabit ücretli planlar olup token başına API faturalandırması kullanmıyor. Geliştiricinin zamanın büyük kısmında Sonnet 5’i tercih ettiği belirtilirken, Opus 5.5’in yanı sıra OpenAI’nin Luna, Sol ve Terra modellerinin de “sık sık” kullanıldığı kaydedildi. Araç olarak çoğunlukla Claude Code ve Codex CLI’larına güvendi.

Ajanlar kodu Hex-Rays’ın ida-mcp sunucusu üzerinden IDA kullanarak okudu. İş dört ajan, üç işçi ve bir inceleyiciyle başladı; 30 Eylül itibarıyla X’te “paralel çalışan 17 ajan” haline geldi. Bu kadar karmaşık süreci takip etmek için her çeviri birimine bir GitHub sorunu ayırmak ve tüm ajanların ile insanların tek bir Discord kanalında GitHub webhook CI gönderilerini paylaşmasını sağlamak gerekiyordu. Geliştirici, tamamlanmış fonksiyonları bellekten atmak için otomatik sıkıştırma eşiğini varsayılan %90’dan (bağlam penceresinin maksimumunun) %42’ye düşürdü. Ajanların kayma eğilimi olduğu için saatlik bir cron işi onlara talimatları yeniden okudu.

Ajanların ilk ayı kod son derece okunabilir olsa da birden fazla nedenden dolayı “anlamsal olarak yanlıştı”: yanlış fonksiyon imzaları, tipler ve struct yerleşimi sorunları ile uydurma veya kaldırılmış mantık vardı. Ajanlar aynı zamanda bir config-değişkeni aramasını “büyüklükçe çok daha pahalı” olan bir aramaya çevirmek gibi gerekli olmayan mimari değişiklikler de yaptı.

İnceleyici ajan, nesnel kabul kriterleri olmadığı için bunu engelleyemedi ve işçilerin yaptıkları açıklamaları gerekçelendiren yorumlar “aslında kasıtsız bir prompt enjeksiyonu olarak işlev gördü,” Heumann diyor. Ekip sonunda tüm yorumları kaynak kodundan çıkardı, bu da yardım etti. İlk dört haftanın kodunu kurtarma girişimi sıfırdan başlamaktan daha fazla zaman aldı.

Çözüm otomatik bir kontrol oldu ve ekip oyunun orijinalini derlemek için kullanılan aynı derleyiciye döndü. Bir betik her yeniden inşa edilen fonksiyonu oyunun çalıştırılabilir dosyasıyla düzey düzey karşılaştırıyor. Çağrılar ve veri başvuruları farklı adreslerde olduğundan atlanıp hedef semboller ve ofsetler kontrol ediliyor, ancak veri ve tipler aynı denekten geçiyor. Ardından her fonksiyon için basit bir kabul/red durumu kalıyor ve her eşleşme kaydedilerek CI’nın tekrar kontrol etmesi ve geriye dönüşlerde uyarı vermesi sağlanıyor. Yavaş bazen zorlu olsa da bir eşleşme, orijinal hataları bile yeniden üretmek üzere davranışın özdeş olduğunu garanti ediyor.

Bu olumlu değişime rağmen ajanlar derhal “satır içi makine dili” yazarak kandırmaya çalıştı ve bu betiği karşılandırmadan kendi fonksiyonlarını çıkarmayı “sürekli denedi,” Heumann yazdı. Satır içi makine dili ve benzeri kısayollar ajanların talimatlarında yasaklandı ve CI artık doğrulama betiğini kodlayıp GitHub Actions gizli değeri olarak saklanan koda karşı kontrol ediyor. Ajanların kandırması bu noktada beklenen bir sonuç; yakalama-flaj meydan okumalarını doğrudan çözmek yerine bunun yerine başka bir şey yapan OpenAI modellerine dair buna benzer birçok rapor var. Heumann’ın keşfettiği gibi, yalnızca bir inceleyici ajana sahip olmak yeterli olmayabilir.

Orijinal kontrol uygulanmadan önce daha ucuz ve daha az yetenekli Haiku ve Luna modellerinin “son derece kötü sonuçlar” ürettiği belirtiliyor. Kontrol yerinde olunca modellerin çalışması için yeterli geri bildirim oluştu, bu da maliyetleri düşürdü ve projenin ölçeklenmesine olanak tanıdı. Neredeyse iki ay daha sonra fonksiyonların %99’u mevcut hale geldi, bunların da %83’ü birebir doğruluk gereksinimlerini karşıladı. Heumann, eşleşme eksikliği bulunan %16’ın yine de anlamsal olarak doğru olduğunu düşünüyor ancak artan verimin azaldığını fark etti. Blog, oyunun şu anki haliyle “kusursuz çalıştığını” iddia ediyor.

“ライト nedenlerle,” projenin kodunun gizli kalacağını ve yalnızca “kendi ihtiyaçlarım için kullanılacağını” belirten Heumann, X’te olduğu gibi decompile edilmiş kodun doğal olarak telif hakkına tabi olduğunu söyledi. Bununla birlikte geliştirici, kullanıcı alanı öykünücüsü Sogen’i ajanların VM’leri silmesine bir yanıt olarak hafif sandboxlamaya doğru genişletmeye başladı. Bir süre için üretim hazır olmayacak.

Decompilation projesine gelince Heumann, her projenin birebir referans alamayacağını ancak her projenin “yeterli yaratıcılıkla” buna yaklaşabileceğini düşünürdü. Çıkarılacak bir ders, başarısızlıkların ötesine geçmeye istekli olmanız gerektiği: “Kod üretmek artık ucuz. Kötüyse onu çöpe atın” ve verimlilikten çok doğru luğa odaklanın.

İlginizi Çekebilir: Viral Kodlama Bilgisi Gerektirmeden iPhone Kısayollarını Oluşturmanızı Sağlıyor →
出典: Tomshardware ↗
🚀 SayarBilgi Topluluğu

コミュニティでこの展開を評価する

Haber hakkındaki düşüncelerinizi, donanım deneyimlerinizi ve teknik sorularınızı topluluk üyeleriyle anlık olarak tartışın.

🚀 Yapay Zeka & Gelecek Odası →
コミュニティの声

あなたの番です.

1 件のコメント

ご経験やご質問、ご意見をお寄せください。メールアドレスは公開されません。

ディスカッションに参加

メールアドレス adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

コメントは公開前に承認が必要な場合があります。

次の記事

Merak etmeye devam

すべて見る ↗

何について知りたいですか?

Type at least 3 characters.

Explore

🌍 言語を選択 25 言語
🔍