Skip to content
Tech News
← Back to articles

I tested 10 model/harness combinations on the same Three.js task

read original get Three.js Journey / "Learn Three.js" by Jos Dirksen → more articles
Why This Matters

A hands-on benchmark running one identical Three.js prompt across ten model/harness combinations shows that the agent harness, not just the model, drives cost, runtime and behavior — the same GLM 5.3 Flash configuration ranged from 9 minutes and ~475K tokens to over 30 minutes and 4.3M tokens depending on the harness. For developers and buyers evaluating coding agents, this is a reminder that headline model benchmarks say little about real-world agentic performance. It also highlights practical quality signals like whether the agent actually opened the result in a browser and checked screenshots.

Key Takeaways
Worth a Look

Three.js Journey / "Learn Three.js" by Jos Dirksen — If benchmarking LLMs on a Three.js hangar scene made you curious about the underlying graphics, this book walks through meshes, materials, lighting and animation hands-on. It's a great way to actually read and debug the WebGL code these models spit out instead of trusting it blindly.

See Three.js Journey / "Learn Three.js" by Jos Dirksen on Amazon → Affiliate link — we may earn a commission on purchases, at no extra cost to you. Product picked by AI based on this article; it is not a tested recommendation.

Hangar Harness / Model Tests

I've been testing a simple prompt with different model and harness combinations to work out which one produces best results. I do this in /goal mode.

Prompt: Build a single-page Three.js sci-fi hangar with hovering drones, animated warning lights, emissive runway strips, and subtle volumetric-style fog planes. Include drone formation toggle and cinematic camera path. Output one self-contained HTML file with inline JavaScript.

Model ↕ Harness ↕ File ↕ Duration ↕ TTFT ↕ Input tokens ↕ Output tokens ↕ Reasoning tokens ↕ Total tokens ↕ Cached input % ↕ Tool calls ↕ Tool errors ↕ Opened in browser ↕ Checked screenshots ↕ GLM 5.3 Flash Max Codex Open 9m 0.232s 9.344s 457,685 17,458 7,694 475,143 85.26% 14 1 Blocked No Luna 5.6 Max Codex Open 9m 13.098s 6.199s 1,146,755 25,512 6,879 1,172,267 92.76% 32 2 Yes Yes SOL 5.6 Max Codex Open 10m 48.765s 8.460s 1,069,163 28,278 7,515 1,097,441 94.60% 21 5 No No Astra 6.0 Max Codex Open 37m 29.705s 3.589s 1,292,366 43,129 15,271 1,335,495 94.93% 20 5 Yes No GLM 5.3 Flash Max OMP Open 30m 14.979s 6.596s 1,678,509 63,405 — 1,741,914 78.54% 57 0 Yes Yes Qwen 3.8 27B x-high OMP Open 41m 25.836s 15.275s 3,407,451 71,935 49,131 3,479,386 86.92% 89 0 Yes Yes GLM 5.3 Flash Max OpenCode Open 20m 28.948s 6.284s 4,305,447 50,468 33,414 4,355,915 96.89% 67 0 Yes Yes Qwen 3.8 27B x-high OpenCode Open 8m 48.470s 10.182s 665,490 41,817 28,788 707,307 95.64% 13 0 Yes Yes Qwen 3.8 27B x-high DSH / PTC Open 24m 32.929s 7.724s 1,012,499 89,894 — 1,102,393 91.69% 23 5 Yes Yes Qwen 3.8 27B x-high DSH Open 18m 15.239s 6.755s 2,654,457 78,232 — 2,732,689 95.48% 42 2 No No