HarnessWars · AI harness karşılaştırması
GLASS CATHEDRAL — FRACTURE DYNAMICS BENCHMARK v1.0
GPT-6 Luna ile dört harness: planlama, geliştirme ve teslim performansı
GPT-6 Luna · OpenAI · high effort
Plan → uygulama
- Tüm araçlarda ortak geliştirme promptuyla önce planlama, ardından geliştirme akışı izlendi. Pi’de planlama ayrı bir talimatla başlatıldı.
Teslim performansı bu görevdeki hız, maliyet ve iki çıktı kontrol listesini ölçer. Araç başına tek geliştirme koşusuna dayanır; puanlar vaka içinde normalize edilir ve Port Crane puanlarıyla doğrudan karşılaştırılamaz. Planlama kalitesi ve agent koordinasyonu puanlanmaz. Videodaki özpuanlar ve kontrollü denetimin sentetik FPS değerleri bu puana katılmaz; dosyayı çift tıklayarak açma koşulu doğrulanmamıştır.
Harness sonuçları
Videodaki sıraylaVideoda: Sol üst
Sıra #2Pi
6,43/10
- Görev süresi
- 42 dk
- Maliyet
- 0,150 USD
En düşük maliyet; daha uzun geliştirme süresi.
Videoda: Sağ üst
Sıra #1Droid
9,33/10
- Görev süresi
- 15 dk
- Maliyet
- 0,170 USD
En hızlı teslimat ve en güçlü hız–maliyet dengesi.
Videoda: Sol alt
Sıra #3Codex CLI
5,86/10
- Görev süresi
- 24 dk
- Maliyet
- 0,340 USD
24 dakika ile ikinci en hızlı teslimat.
Videoda: Sağ alt
Sıra #4OMP
3,10/10
- Görev süresi
- 77 dk
- Maliyet
- 0,830 USD
Bu koşuda en uzun süre ve en yüksek maliyet.
Değerlendirme
ReWo-Bench değerlendirmesinde Droid, hız ve düşük maliyeti birleştirerek 9,33/10 ile öne çıkıyor. Pi en ekonomik, Codex CLI ise ikinci en hızlı teslimatı sağlıyor. OMP bu koşuda daha uzun süre ve daha yüksek maliyetle geride kalıyor. Denetimde dört HTML’nin ikişer kontrollü tekrarında final JSON ve fizik hash’leri incelendi; uygulama JavaScript hatası kaydedilmedi. Bunlar bağımsız harness geliştirme denemeleri değildir.
Ağırlıklı puanlama
| Ölçüt | Ağırlık | Pi | Droid | Codex CLI | OMP |
|---|---|---|---|---|---|
| Hız | 40% | 3,57 | 10,00 | 6,25 | 1,95 |
| Maliyet | 40% | 10,00 | 8,82 | 4,41 | 1,81 |
| Test erişimi | 10% | 4,00 | 8,00 | 8,00 | 8,00 |
| Raporlama | 10% | 6,00 | 10,00 | 8,00 | 8,00 |
| Toplam | 100% | 6,43 /10 | 9,33 /10 | 5,86 /10 | 3,10 /10 |
Hesaplama ve checklist ayrıntıları
Hız = 10 × en kısa süre / görev süresi. Maliyet = 10 × en düşük maliyet / görev maliyeti. Checklist puanı, karşılanan maddelerin puan toplamıdır. Toplam = 0,4 × hız + 0,4 × maliyet + 0,1 × test erişimi + 0,1 × raporlama. Hesaplama tam hassasiyetle yapılır; yalnız gösterim yuvarlanır.
Referanslar: en kısa süre ve en düşük maliyet: 15 dk · 0,150 USD
Pi
Hız: 10 × 15 / 42 = 3.5714285714285716
Maliyet: 10 × 0.15 / 0.15 = 10
Toplam: 0.4 × 3.5714285714285716 + 0.4 × 10 + 0.1 × 4 + 0.1 × 6 = 6.428571428571429
Test erişimi · 4/10
- Evet · Fizik yürütmesi ve görselleştirme ayrılmış (4 puan)
- Hayır · Özgün adım fonksiyonu dışarıdan çağrılabiliyor (2 puan)
- Hayır · İç durum dışarıdan incelenebiliyor (2 puan)
- Hayır · Adım ve durumu birleştiren isimlendirilmiş test API’si (2 puan)
Raporlama · 6/10
- Evet · Gerekli alanlarla tek, ayrıştırılabilir final JSON (2 puan)
- Evet · Ölçüm, eşik, PASS/FAIL ve puan dökümü (2 puan)
- Evet · Seed, parametreler ve final durum hash’i (2 puan)
- Hayır · Bitiş göstergeleri tutarlı ve yeni koşu durumu temiz (2 puan)
- Hayır · İncelenen ölçüm ve kabul tanımları tutarlı (2 puan)
Güçlü yanlar
- 0,150 USD ile bu koşunun en ekonomik teslimatı.
- Fizik ve görselleştirme ayrılmış; iki kontrollü uygulama tekrarının final fizik hash’i eşleşiyor.
Bulgular
- Adım ve iç durum kapalı fonksiyon kapsamında. Bu kapsülleme kendi başına kusur değildir; test erişimi puanı dışarıdan kontrollü incelemeyi ölçer.
- P5 kabulü, eşik/zemin koşuluna ek olarak başlangıca göre en az 0,55 birim düşüşü de kabul ederek prompt tanımını genişletiyor.
- Bitişten sonra final JSON sabit kalırken canlı FPS paydası duruyor, kare sayacı artıyor; canlı puan son fazı dışarıda bırakıyor.
Droid
Hız: 10 × 15 / 15 = 10
Maliyet: 10 × 0.15 / 0.17 = 8.823529411764705
Toplam: 0.4 × 10 + 0.4 × 8.823529411764705 + 0.1 × 8 + 0.1 × 10 = 9.329411764705883
Test erişimi · 8/10
- Evet · Fizik yürütmesi ve görselleştirme ayrılmış (4 puan)
- Evet · Özgün adım fonksiyonu dışarıdan çağrılabiliyor (2 puan)
- Evet · İç durum dışarıdan incelenebiliyor (2 puan)
- Hayır · Adım ve durumu birleştiren isimlendirilmiş test API’si (2 puan)
Raporlama · 10/10
- Evet · Gerekli alanlarla tek, ayrıştırılabilir final JSON (2 puan)
- Evet · Ölçüm, eşik, PASS/FAIL ve puan dökümü (2 puan)
- Evet · Seed, parametreler ve final durum hash’i (2 puan)
- Evet · Bitiş göstergeleri tutarlı ve yeni koşu durumu temiz (2 puan)
- Evet · İncelenen ölçüm ve kabul tanımları tutarlı (2 puan)
Güçlü yanlar
- 15 dakika ve 0,170 USD: Pi’den 0,020 USD fazla maliyetle 27 dakika daha erken teslimat.
- Faz zaman serileri, olay kayıtları ve bağların kırılma zamanı/nedeni raporda izlenebiliyor.
- Bu vakaya ait beş raporlama kontrolünü karşılıyor.
Bulgular
- İsimlendirilmiş bir adım/durum test API’si yok; global fonksiyon ve değişkenlerle erişim sağlanıyor.
- Raporlamadaki 10/10 yalnız bu kontrol listesini kapsar; bütün fizik gereksinimlerinin doğrulandığı anlamına gelmez.
Codex CLI
Hız: 10 × 15 / 24 = 6.25
Maliyet: 10 × 0.15 / 0.34 = 4.411764705882352
Toplam: 0.4 × 6.25 + 0.4 × 4.411764705882352 + 0.1 × 8 + 0.1 × 8 = 5.864705882352942
Test erişimi · 8/10
- Evet · Fizik yürütmesi ve görselleştirme ayrılmış (4 puan)
- Evet · Özgün adım fonksiyonu dışarıdan çağrılabiliyor (2 puan)
- Evet · İç durum dışarıdan incelenebiliyor (2 puan)
- Hayır · Adım ve durumu birleştiren isimlendirilmiş test API’si (2 puan)
Raporlama · 8/10
- Evet · Gerekli alanlarla tek, ayrıştırılabilir final JSON (2 puan)
- Evet · Ölçüm, eşik, PASS/FAIL ve puan dökümü (2 puan)
- Evet · Seed, parametreler ve final durum hash’i (2 puan)
- Evet · Bitiş göstergeleri tutarlı ve yeni koşu durumu temiz (2 puan)
- Hayır · İncelenen ölçüm ve kabul tanımları tutarlı (2 puan)
Güçlü yanlar
- Global adım fonksiyonu ve iç durum üzerinden kontrollü inceleme yapılabiliyor.
- İki kontrollü uygulama tekrarında tek final JSON, eşleşen fizik hash’i ve tutarlı bitiş göstergeleri var.
Bulgular
- Rüzgâr örneklemesindeki detachedBodyIds kümesi gerçekte desteğe bağlı parçaları içeriyor. Bulgu toplam kopmuş parça sayısından ziyade ölçüm örnekleminin anlamıyla ilgili.
- Droid’den 9 dakika daha uzun sürdü ve maliyeti iki kat oldu. Ayrı, isimlendirilmiş test API’si yok.
OMP
Hız: 10 × 15 / 77 = 1.948051948051948
Maliyet: 10 × 0.15 / 0.83 = 1.8072289156626506
Toplam: 0.4 × 1.948051948051948 + 0.4 × 1.8072289156626506 + 0.1 × 8 + 0.1 × 8 = 3.10211234548584
Test erişimi · 8/10
- Evet · Fizik yürütmesi ve görselleştirme ayrılmış (4 puan)
- Evet · Özgün adım fonksiyonu dışarıdan çağrılabiliyor (2 puan)
- Evet · İç durum dışarıdan incelenebiliyor (2 puan)
- Hayır · Adım ve durumu birleştiren isimlendirilmiş test API’si (2 puan)
Raporlama · 8/10
- Evet · Gerekli alanlarla tek, ayrıştırılabilir final JSON (2 puan)
- Evet · Ölçüm, eşik, PASS/FAIL ve puan dökümü (2 puan)
- Evet · Seed, parametreler ve final durum hash’i (2 puan)
- Evet · Bitiş göstergeleri tutarlı ve yeni koşu durumu temiz (2 puan)
- Hayır · İncelenen ölçüm ve kabul tanımları tutarlı (2 puan)
Güçlü yanlar
- Global adım/durum erişimi ve gerekli alanları içeren final JSON mevcut.
- Kontrollü tekrarların final fizik hash’leri eşleşiyor.
Bulgular
- P4 yön değişimi iki kontrole ayrılırken finite-state ve FPS tek kontrolde birleşiyor. Toplam faz puanı aynı olsa da bazı başarısızlık kombinasyonlarında kısmi puan değişiyor.
- Restart sayfayı yeniliyor; denetimde kaynak yeniden belleğe yüklendi. Bu, gerçek file:// yeniden başlatmasının doğrulanması değildir.
- 77 dakika ve 0,830 USD bu koşudaki ekonomik puanı düşürüyor; ayrı, isimlendirilmiş test API’si yok.
Harness’lere verilen prompt
# GLASS CATHEDRAL — FRACTURE DYNAMICS BENCHMARK v1.0
### SINGLE-FILE · SELF-GRADING · 75 SECONDS
Build **ONE self-contained HTML file** simulating a Gothic stained-glass cathedral facade that fractures under impacts, wind, and support failure. Run **5 automated phases × 15 seconds = 75 seconds** and grade the results out of 100. No user interaction.
## 0. HARD CONSTRAINTS
- **Vanilla JavaScript + Canvas 2D**, all inline; no libraries, CDNs, external assets, build steps, or network. Must run offline by double-clicking the HTML.
- **Fixed physics dt = 1/120 s**, accumulator, simulation-time phases. Rendering and canvas size must not change physics.
- Seeded PRNG (`SEED = 1337`) for all randomness; **no `Math.random()`**. Same-seed runs must reproduce physics metrics and end-state hash.
- **No scripted cracks, fake shattering, teleported fragments, forced trajectories, or hard-coded PASS values.** Damage must result from forces and bond failure.
## 1. SCENE & PHYSICS
- Draw **three tall pointed-arch stained-glass windows** inside a dark stone cathedral, with luminous red/blue/gold panes and a solid floor. Use a fixed 2D world coordinate system.
- Use **150–200 irregular triangular glass shards** total, initially connected as solid panels. Each triangle is a movable rigid body with position, orientation, velocity, mass, and inertia. This is a simplified **bonded-shard fracture model**, not full finite-element glass mechanics.
- Neighboring shard edges are joined by **two breakable XPBD anchor constraints** (resisting translation and rotation). Implement real compliance, accumulated multipliers, and positional/angular corrections: `alphaTilde = compliance / dt²`, `deltaLambda = (-C - alphaTilde * lambda) / (effectiveInverseMass + alphaTilde)`.
- Bonds **irreversibly break** above measured tensile/shear load or strain thresholds, with ±10% seeded strength variation. Broken bonds must create real separation. Define a *detached shard* as one no longer connected by intact bonds to a frame support.
- Simulate gravity, damping, **physical sphere–glass impact impulses**, wind acting on exposed area, and collisions with floor, frame, and other shards (spatial-grid broadphase). Reconstruct velocities after XPBD corrections; use 4–8 solver iterations per step.
- Never silently remove glass, restore damage, or hide NaNs/penetration. Glass mass and triangle count are conserved.
## 2. AUTOMATIC 75-SECOND CHOREOGRAPHY
| Phase | Time | Event | Measurements |
|---|---|---|---|
| **P1 — STILLNESS** | 0–15 s | Intact glass settles under gravity. | Drift, intact bonds, stability |
| **P2 — FIRST IMPACT** | 15–30 s | A steel sphere physically strikes the **left window**. | Contact impulse, local crack growth |
| **P3 — SECOND STRIKE** | 30–45 s | A faster sphere strikes the **right window**; loose pieces hit the floor. | New breaks, detached shards, collisions |
| **P4 — CROSSWIND** | 45–60 s | Wind blows right, reverses left, then becomes gusty. | Signed lateral motion, stress, FPS |
| **P5 — SUPPORT FAILURE** | 60–75 s | Release **only the predefined upper support group** of the center window. Its glass must fall, break, and collide through simulated physics. | Cascade, fallen shards, conservation |
The director may launch spheres and trigger the **single explicit support release**. It must NOT directly create cracks, delete triangles, or animate falling glass.
## 3. VISUALS & HUD
- Cinematic fixed camera; colored translucent glass, dynamic **stress heatmap** (cool → yellow → red), gaps along truly broken bonds, rotating/falling shards, visible projectile paths. Decorative dust is optional and never graded.
- Always show **phase/countdown, 75 s timeline, FPS, broken bonds, detached/fallen shards, impact impulses, maximum stress ratio, and live score**.
## 4. SELF-GRADING — 100 POINTS
Grade from **measured time-series**, not visual appearance. Split each phase's points equally across its checks; show individual PASS/FAIL values and partial credit.
| Phase | Points | Checks |
|---|---:|---|
| **P1** | **15** | No NaN/Inf; shard count preserved; <1% broken bonds before impact; average final-3-second drift <0.03 world units |
| **P2** | **20** | Positive measured contact impulse; ≥5 new bonds broken near impact; ≥60% of other windows' bonds intact |
| **P3** | **20** | ≥5 additional broken bonds; ≥5 shards detached from frame; actual floor contacts without tunneling |
| **P4** | **20** | Mean lateral glass response reverses sign with wind; no invalid states; average rendering FPS ≥30 (also report FPS separately) |
| **P5** | **25** | Correct support release recorded; ≥20 center-window shards fall below their original sill level or touch ground; glass mass/count remains 100%; no invalid states |
| **TOTAL** | **100** | |
**Hard fail = 0/100** for fake fracture animations, absent XPBD bond solver, missing phases, or fabricated metrics. All initial parameters and thresholds must remain fixed for the entire run and be included in the output.
## 5. FINISH & OUTPUT
- At **t = 75 s**, freeze physics and show an on-screen table: measured values, thresholds, PASS/FAIL, points, **TOTAL /100**.
- Print exactly one final JSON line: `console.log('BENCHMARK_JSON:' + JSON.stringify(scorecard))` containing `seed`, `phaseMetrics`, `brokenBonds`, `detachedShards`, `groundContacts`, `impactImpulses`, `massPercent`, `invalidStates`, `avgFPS`, `stateHash`, `totalScore`.
- Calculate `stateHash` from quantized final positions, orientations, velocities, and bond states. Include **Restart** and **Pause** controls.
- Keep code concise and functional: PRNG → glass bodies → XPBD bonds → collisions → director → metrics → rendering → grading.
**Deliver ONLY the complete HTML file.**
*Physics basis: [XPBD, Macklin et al. (2016)](https://doi.org/10.1145/2994258.2994272). The fracture model is a practical benchmark approximation, not a validated predictive glass-engineering solver.*