Metodika
Co agenti museli postavit, jak jsme každý běh měřili, jak porota hodnotila videa a kde je u čísel potřeba opatrnost.
Úloha v kostce
Každý agent dostane stejné písemné zadání (zhruba 450 řádků) a stejný krátký pokyn. Má napsat program v Three.js, který procedurálně postaví stylizovanou, ale poznatelnou Prahu: Hrad s katedrálou sv. Víta, Malou Stranu, Vltavu a Karlův most se sochami.
Kamerový dron stojí na zemi na třetím nádvoří Pražského hradu, vzlétne a sleduje GPS trasu o 115 bodech dlouhou asi 1,6 km: dolů Býčím schodištěm, zahradami s ostrou zatáčkou do protisměru, po Zámeckých schodech, kolem kostela sv. Mikuláše, Mosteckou ulicí, branou Malostranské mostecké věže, přes Karlův most mezi sochami a branou Staroměstské mostecké věže. Film končí stoupajícím záběrem zpět přes most na Hrad v podvečerním zlatém světle.
Všechno, co je vidět, musí vzniknout za běhu z vlastního kódu agenta: žádné stažené modely, fotky, mapové dlaždice ani obrázky od AI. Zadání chce nejméně 1500 animovaných chodců, tramvaj, lodě a ptáky, kameru, která nikdy neprojede geometrií, a deterministický renderer.
Let se renderuje bez obrazovky v Chromu snímek po snímku, na GPU, pokud je k dispozici, jinak softwarově, a pak se zakóduje do MP4. Agent k tomu odevzdá kontaktní arch, mapu trasy shora a REPORT.md se svými rozhodnutími a známými chybami.
Během běhu nikdo nezasahuje. Podle pokynu je agent hotový, až když MP4 existuje a projde jeho vlastními kontrolami. Celé zadání tu nezveřejňujeme.
Tvrdé požadavky H1–H6
Každé odevzdané MP4 nezávisle na agentovi ověří skript. Nesplnění kteréhokoli z nich znamená neúspěšný běh.
| H1 | Kontejner MP4, H.264 profil High, yuv420p, atom moov na začátku souboru (faststart) |
|---|---|
| H2 | Přesně 1080 × 1920 (na výšku, 9:16) se čtvercovými pixely |
| H3 | 30 fps, konstantní snímková frekvence |
| H4 | Délka mezi 55 a 60 s, cíl je 58,0 s (1740 snímků) |
| H5 | Špičkový datový tok nejvýš 20 Mbps v libovolném sekundovém okně, soubor pod 200 MB |
| H6 | Zvuková stopa AAC-LC, 48 kHz, stereo (smí být tichá) |
Zadání má dalších šest požadavků (H7–H12: jen procedurální obsah, věrnost trasy, determinismus, vzlet, kamera neprojíždí geometrií, viditelní chodci). Ty skript spolehlivě neověří, a tak se projeví v hodnocení poroty.
Harnessy a effort
Harness je program, ve kterém model běží: dává mu shell, práci se soubory a smyčku, ve které pracuje. Každý model běží v harnessu, který k němu dodává jeho výrobce, a spouští se ze stejné řídicí relace se stejným pokynem.
Pravidla pro effort (úroveň uvažování): modely Claude a Codex běží na high, všechny ostatní na prostřední úrovni svého poskytovatele (medium, případně high, pokud existuje jen low, high a max). Gemini 4 Hydrogen běžel na přání na xhigh. Effort je součástí názvu každého běhu.
| Harness | Modely | Účtování |
|---|---|---|
| Claude Code | Claude Fable, Opus, Sonnet, Haiku | ceník API Anthropicu |
| Codex | modely GPT-6 a GPT-6.1 | ceník API OpenAI |
| Antigravity | Gemini 4 Argon a Hydrogen | ceník API Googlu |
| Cursor | jen Grok 4.7 | spotřebu lokálně neukládá |
| OpenCode | bezplatné modely OpenCode Zen, Kimi K3.1 Pro (OpenCode Go), Qwen3.8 Max (OpenRouter) | zdarma, předplatné nebo skutečná platba |
Hardware
Všechny běhy jedou na stejném malém počítači: Intel Core i3-10100T (4 jádra, 8 vláken, 35 W) s integrovanou grafikou Intel UHD Graphics 630, kterou Chrome bez obrazovky používá přes Mesa a ANGLE. Žádná samostatná grafická karta.
Renderer rozhoduje víc než procesor. Stejná scéna trvala softwarově (SwiftShader) asi 2,9 s na snímek a na integrované GPU asi 90 ms: 62 minut proti 1,9 minuty za všech 1740 snímků. Proto zadání agentům říká, ať nejdřív zkusí GPU, a proto lze srovnávat jen běhy se stejným rendererem.
Co měříme
Celkový čas
Od prvního do posledního časového razítka relace agenta (přepis Claude Code, rollout Codexu, databáze Antigravity nebo OpenCode). Zahrnuje renderování i kódování videa, protože obojí patří k úloze.
Tokeny
Sečtené přes všechny odpovědi modelu: vstup bez cache, čtení z cache, zápis do cache a výstup. Výstup zahrnuje uvažování; OpenCode ho vykazuje zvlášť, takže tu obojí sčítáme. Cursor spotřebu lokálně neukládá, a proto u Groku žádná čísla o tokenech nejsou.
Cena: ceníková a skutečně účtovaná
Tokeny vynásobené veřejnou ceníkovou cenou API daného poskytovatele, ne cenou předplatného, aby se běhy daly srovnat. Výjimky jsou označené: u běhu přes OpenRouter je uvedená skutečně účtovaná částka (stav kreditu před a po) a vedle ní odhad samotného harnessu; běh přes OpenCode Go zaplatilo předplatné a je uvedený v ceníkové ceně; bezplatné modely OpenCode Zen stály 0 USD; Gemini 4 Argon je počítaný v zaváděcí ceně.
Rychlost generování (tok/s) a podíl času modelu
U každého volání modelu běží doba generování od odeslání požadavku po přijetí posledního tokenu. Spouštění nástrojů, čekání na rendery a režie harnessu mezi voláními se nepočítají, čas do prvního tokenu ano. Jde tedy o rychlost modelu od začátku do konce, ne o čisté dekódování. tok/s = vygenerované tokeny včetně uvažování vydělené součtem doby generování. Podíl času modelu = součet doby generování vydělený celkovým časem. Když se zdroje časů mírně rozcházejí, může podíl vyjít přes 100 %; grafy ho omezují.
Nástroje
Volání nástrojů podle názvu, jak je zaznamenal každý harness (Bash, exec, shell a podobně). Některé harnessy nabízely i skills, subagenty, přístup na web a servery MCP; žádný agent je nepoužil.
Odvozené ukazatele
Cena za bod skóre a počet bodů za dolar, výstupní tokeny na bod skóre, podíl čtení z cache (čtení z cache vydělené všemi vstupními tokeny), rozptyl porotců u každého videa a posun skóre a stabilita pořadí (Spearmanovo ρ) mezi porotami. Paretova hranice označuje běhy, které žádný jiný běh nepřekoná zároveň v ceně (nebo čase) i skóre.
Hodnocení
H1–H6 rozhodují jen o tom, zda běh prošel; body za ně nejsou. Kvalitu hodnotí slepá porota tří porotců od tří firem: Claude Opus 5.5 (Anthropic), GPT-6 Astra (OpenAI) a Gemini 4 Argon (Google).
Z každého finálního MP4 sami vybereme 16 rovnoměrně rozložených snímků (každých 3,625 s, od 0 do 54,4 s) a složíme je do mřížky 4 × 4. Mřížky jsou anonymizované zamíchanými písmeny; klíč má jen orchestrátor a zapíše ho až po hodnocení. Všichni tři porotci hodnotí každou mřížku podle stejné tabulky a skóre je medián tří součtů, takže jeden ujetý porotce nerozhodne.
Kdykoli přibude nový model, hodnotí se znovu všechna videa s novými písmeny, ne jen nováček. Zatím proběhly tři poroty. Úplně první skóre dával sám orchestrátor a za splnění technických kontrol rozdával 30 skoro zadarmo získaných bodů; v datech zůstávají, ale už se nepoužívají.
| Kategorie | Body | Za co |
|---|---|---|
| Památky | 25 | Katedrála sv. Víta, kostel sv. Mikuláše, Karlův most se sochami a mostecké věže jsou poznat jako tyto stavby, ne jako obecné kvádry. |
| Vzhled města | 25 | Uvěřitelné historické město: pestré fasády, střechy, materiály, světlo, stíny a voda. |
| Kamera a dron | 30 | Dron je při sledování vidět, vzlet je v záběru, kompozice je příjemná. Velká srážka za snímky, kde je kamera uvnitř geometrie nebo na ni nalepená. |
| Život | 10 | Věrohodné davy, vozidla, lodě a ptáci. |
| Celkový dojem | 10 | Bavilo by diváka se na to dívat jako na krátké video? |
Výhrady
- Jeden běh na model. Rozptyl zatím neznáme, takže o pořadí modelu může rozhodnout šťastný nebo nešťastný běh.
- Porotci vidí 16 statických snímků, ne pohyb. Trhání, rychlost a plynulost se nehodnotí.
- Nejméně stabilní je porotce od Googlu. V poslední porotě dal Claude Haiku 5.5 91 bodů, zatímco zbylí dva 53 a 43. Medián takové jednotlivé výkyvy pohltí.
- Skóre modelů uprostřed tabulky se mezi porotami posouvá zhruba o ±6 bodů a Grok 4.7 se mezi posledními dvěma posunul o 14 bodů. Malé rozdíly berte jako remízu.
- Cursor nezaznamenává spotřebu tokenů, takže u Groku 4.7 chybí tokeny, cena i rychlost generování.
- Každý model běží v jiném harnessu, takže každé srovnání míchá model s jeho harnessem.
- Několik běhů ukončily bezplatné kvóty a limity předplatného. O modelech samotných toho moc neříkají.
- Claude Opus 5.5 ve 2. běhu jel podle staršího zadání a se softwarovým renderem. Uvádíme ho pro úplnost a ze srovnání ho vynecháváme.
- Porotci jsou modely od stejných firem, jejichž modely soutěží. Nevědí, čí video je čí, ale podobný vkus vyloučit nelze.
Plán metrik
Ukazatele, které chceme, ale zatím je nepočítáme. Žádný z nich se na webu neobjeví, dokud nebude opravdu změřený.
- Spolehlivost
pass^k a opakované běhy
Pustit každý model k-krát a uvádět průměrné skóre ± směrodatnou odchylku, podíl úspěšných běhů a podíl nedokončených. Z jednoho běhu nepoznáme schopnosti od náhody.
Potřebujeme: několik běhů každého modelu se stejným zadáním
- Spolehlivost
Skutečná cena za úspěšné video
Kolik v průměru stojí jedno video, které projde, včetně neúspěšných pokusů (myšlenka „cost to complete“ z KiloBench).
Potřebujeme: opakované běhy včetně neúspěšných
- Průběh
Čas do prvního MP4 a počet renderů
Jak brzy má agent první kompletní video a kolik pracovních a finálních renderů nebo vlastních oprav potřebuje, než skončí.
Potřebujeme: vytáhnout z přepisů příkazy pro render a kódování
- Průběh
Chybovost nástrojů, TTFT a čisté dekódování
Podíl volání nástrojů, která selžou, čas do prvního tokenu a rychlost dekódování bez zpracování vstupu, všude, kde to harness zaznamenává.
Potřebujeme: časování jednotlivých volání a výsledky nástrojů z každého harnessu
- Průběh
Vytvořený kód
Počet řádků kódu, souborů a závislostí z npm v odevzdaném projektu.
Potřebujeme: spočítat to v pracovním adresáři každého běhu
- Video
Plynulost kamery a odchylka od trasy
Ryv (změna zrychlení) dráhy kamery a to, jak daleko let uhýbá od referenční trasy, změřené přímo ze scény, ne převzaté z reportu agenta.
Potřebujeme: export polohy kamery a dronu pro každý snímek
- Video
Snímky s kolizí
Snímky, kde je kamera uvnitř geometrie nebo na ni nalepená, odhalené automaticky, ne očima porotců.
Potřebujeme: průchod hloubkovou mapou nebo raycastem přes všechny snímky
- Video
Složitost scény
Chodci, kolizní objekty, trojúhelníky a draw cally z metadat renderu. Ten soubor dnes zapisují jen některé běhy.
Potřebujeme: jednotný render_meta.json v každém běhu
- Video
Dodržení délky a datového toku
Přesná délka, průměrný a špičkový datový tok, velikost souboru a hlasitost zvuku jako čísla, ne jen řádek splněno/nesplněno.
Potřebujeme: strukturovaný výstup nezávislé kontroly
- Poctivost
Poctivost reportu
Porovnat, co agent tvrdí v REPORT.md (žádné kolize, všechny kontroly prošly, odchylka od trasy), s nezávislou kontrolou a s tím, co viděli porotci.
Potřebujeme: vytažení tvrzení a pravidla pro jejich párování
- Pokrytí
Pokrytí měkkých požadavků zadání
Které nepovinné a měkké body zadání (tramvaj, lodě, labutě, soundtrack, titulek, pohled zpět na Hrad) video opravdu obsahuje.
Potřebujeme: kontrolní seznam a projití každého videa
- Náklady
Odhad energie a výpočtu
Energie, kterou spotřebovalo renderování a kódování na místním počítači, a hrubý odhad výpočtu na straně modelu za spotřebovanými tokeny.
Potřebujeme: měření příkonu počítače a zveřejněné údaje na token