Bir dil modelini seksen tur boyunca kıtlıkla baş başa bıraksan ne yapar? Castle Benchmark bunu ölçmek için yazılmış, açık kaynak ve deterministik bir çok-ajanlı koloni benchmark'ı. Ajanlar oyuna MCP üzerinden bağlanıyor; her biri bir koloni yönetiyor, aynı haritayı paylaşıyor ve birbirini görebiliyor.

Ne ölçüyor
Kolonistler her tur yiyip içiyor; açık verirsen hastalanıyorlar ve hasta kolonist çalışamıyor. Bir koloni yalnız kendi işleyen binalarından beş adım mesafedeki hücrelerde çalışabiliyor, yani harita bir menü değil: uzaktaki ormana uzanmak oraya bir karakol kurmak demek. Sis dekor değil — keşifçi göndermek bir kolonisti yol boyunca meşgul ediyor ve o kolonist hiçbir şey toplamıyor.
İttifak ve barış karşı tarafın kabulünü gerektiriyor, temas ve savaş ilanı tek taraflı. Müttefikler birbirinin gördüğünü görüyor ve aralarındaki ticarette yolda hiçbir şey kaybolmuyor — ama her ittifak tur başına iki nüfuz yiyor, dolayısıyla herkesle ittifak kuran koloninin itibarı tükeniyor. Bir koloninin yazdığı mesaj gerçekten diğerinin gelen kutusuna düşüyor; içeriği gönderenin yazmak istediği şey oluyor, böylece pazarlık da yalan da ölçülebilir davranışa dönüşüyor.
Yangın her koloninin kendi takviminde çıkıyor, binayı birkaç turda yakıyor ve komşusuna sıçrıyor. Su atabilir, hasarlı yapıyı inşa maliyetinin beşte ikisine onarabilir ya da yangının yolunu kesmek için bir yapıyı yıkabilirsin. Hiçbir şey yapmamak da bedeli olan bir seçim.
Bir model gerçekten oynadı
DeepSeek V4 Flash ve Claude, aynı maçın iki koltuğuna oturup üç betikli rakibe karşı oynadı. DeepSeek 29. turda anıtı tamamlayıp maçı kazandı: bileşik puan 139'a karşı 132, baseline'lar 120 ve 105. Kulağa temiz bir sonuç gibi geliyor — değil.
Çünkü ardından şunu yaptım: aynı modeli, aynı seed'de, aynı koltukta üç kez oynattım. Dünyada hiçbir şey değişmedi. Puanlar: 165, 127, 93. Yetmiş iki puanlık yayılım. Yani iki model arasındaki yedi puanlık fark, modelin kendi kendisiyle tartışmasından ayırt edilemez.
O üç koşu bir de kusur buldu: üçü de anıtla bitti, biri 15. turda. Kazanma koşulunun fiyatı, koloninin başlangıç stoğunun neredeyse tamamıyla karşılanabiliyordu. Şimdi her kalem başlangıç stoğunun üstünde ve iki kalem haritada hiç yok — alet atölyeden, nüfuz pazardan gelir, yoksa gelmez. Yirmi betikli maç bunu bulamamıştı; üç model oyunu buldu.
Neyi kanıtlıyor, neyi kanıtlamıyor
Ölçemediğini söylemeyen benchmark reklamdır. O yüzden sınırı README'ye de yazdım.
Gösterebildikleri: bir ajanın seksen tur boyunca kısmi bilgiyle plan taşıyabildiğini — kırkıncı turdaki açlık, beşinci turdaki kararın sonucudur. Yayımlanmış kuralları okuyup gerçek sayılara göre davrandığını; okumayan ajan yarı verimli toplamalarda ve reddedilen gönderimlerde sayıya dönüşür. Bir kıtlığı diğerine karşı tarttığını. Başka ajanlar var diye farklı davrandığını. Ve bunun bilinebilir bir bedelini ödediğini: bin token, bir dakika düşünme ve yüz MCP çağrısı başına puan.
Gösteremedikleri: bir modelin "iyi" olduğunu. Bu tek ve dar bir oyun; buradaki beceri koda ya da araştırmaya taşınmaz. Şu an hiçbir iki modeli birbirinden ayıramıyor — yukarıdaki 72 puanlık gürültünün altındaki her fark, kaç maç koşarsan koş, gürültüdür. İnsan çapası henüz yok, yani 130 puanın iyi mi kötü mü olduğunu kimse bilmiyor. Ve ajanlık yetkinliği ile strateji iç içe: yasal aksiyon üretemeyen model protokol sebebiyle düşük puan alır.
Artefaktların arkasında durabildiği tek cümle şu: bu model, bu yayımlanmış kurallarla, bu maliyetle, bu oyunu böyle oynadı. Bundan büyüğünü iddia eden bir benchmark yalan söylüyordur.
Kendi modelinle dene
Sunucuyu ayağa kaldır, bir oturum aç, modeli MCP ucuna bağla. Claude Code --mcp-config ile, OpenCode kendi config'iyle — ikisi aynı maçta iki koltukta oturabiliyor. Karşılaştırma yapacaksan castle-benchmark compare eşleştirilmiş dünyaları karşılaştırıyor ve bir iddianın kaç koşu daha istediğini söylüyor.
Kod, kurallar, ölçüm ve bu yazıdaki bütün sayılar burada:
github.com/unkownpr/pixellab-castle
Tartışma