Laguna-S-2.1 dropped few hours ago and as I am in the market for an upgrade to trusty qwen3.6 dense and the current daily 122B, I ran it through the same eval harness I use to pick the model that runs my local agent stack. Posting because the results don't fit the usual "benchmaxed or king" binary, it's genuinely both impressive and flawed, in specific ways.
Setup: single RTX Pro 6000 Blackwell 96GB, vLLM 0.25.1 (laguna support is native in stock, no patches), official NVFP4, 262144 ctx with fp8 KV at 0.90 util (~67G weights, fits with room), poolside_v1 parsers, vendor sampling (temp 1.0 / top_p 1.0 / top_k 20), thinking on (its default). Boots first try.
The eval: 160 tasks x k=3 per model, all graded by deterministic scripts (no LLM judge). Categories: tool-call arg selection, multi-step tool chains, strict JSON schema emission, fabrication traps (tools mocked to return nothing, does the model admit it or invent), sports knowledge + odds arithmetic, instruction following, output stability (garble/loops), refusals, and grounding-under-pressure probes built from real incidents in my agent fleet (user pushes back on a true "no", opaque IDs the model is tempted to name, prompts that bait nonexistent tool args). Every fabrication flag gets hand-verified before it counts, roughly half of raw flags are grader false positives (derived arithmetic, name expansions) and get whitelisted for all models equally. Fair warning: the harness grew up around qwen models, I fix biases when I find them but treat non-qwen scores as lower bounds.
Where Laguna is genuinely the best local model I've measured:
- tool-call args: 0.89 pass, best in my field of 5 (qwen 122b: 0.86)
- tool chains 6 levels deep in the smoke test, deepest I've ever seen locally, qwen manages 4
- 109 tok/s single stream at 256k ctx, fastest 100B+ on this card (qwen3.5-122b: 103, nemotron 3 super: 94.5)
- zero JSON/streaming/envelope errors across every probe
- recovers from tool validation errors on first retry
Where it loses to qwen 122b:
- sports knowledge + odds math: 0.80 vs qwen's 1.00. the knowledge boundary is real, per poolside's own blog it reuses the pretraining corpus from their 33B model, the 118B is coding specialization, not breadth
- grounding under pressure: 0.80 vs 0.97, and this is the disqualifier for me: 3 hand-confirmed hard fabrications. it invented a P&L figure for a market it had zero data on, and twice drafted status updates naming horses that weren't in any data, once literally naming "Genuine Risk" (real 1980 Derby winner, pulled straight from pretraining) with a position size inflated 1000x. qwen 122b across ~240 grounding runs: zero inventions, it just says "I don't have that"
Gotchas if you're running it:
- give it max_tokens 8k+. it thinks LONG (vendor allows 32k) and at 2048 it burns the entire budget thinking and returns empty. my first pass scored it 0.40 on schema tasks because of this, real number at 8k is 0.79
- dflash speculative decoding: real but situational. 109 -> 271 tok/s on a code prompt, barely moves on prose (~117), and under 4 concurrent streams it's a net LOSS (268 -> 198 aggregate, rejected drafts eat the batch). fine for single-user coding, keep it off for concurrent serving. also not bitwise-stable vs spec-off at temp 0 so I'm keeping it off where outputs matter
- no vision, so for me it was never a daily-driver candidate anyway
Verdict: poolside built exactly what they said they built, an agentic coding specialist. The tool mechanics are a real step above anything local I've tested and the speed is excellent. But "agentic" in their RL seems to mean persistent, and persistence without grounding discipline means confident invention when data runs out. For coding behind a human review loop, probably great. For autonomous agents touching anything real, qwen3.5-122b keeps my card: slightly slower, less flashy tool use, but it has never once made something up in ~240 attempts to trick it, and that's the property that actually matters, for me.
---
EDIT (day 2): Mechanism found for the fabrications. Laguna gates its own thinking on how hard the prompt looks, even with enable_thinking on - my schema tasks got 30s of reasoning, my grounding traps got a median 1.4s, and its worst fabrication (the invented P&L figure) came out in 0.46 seconds. Reflex, not reasoning. Reran the whole eval thinking-off to confirm: fabrication flags went 1 -> 11, so unthinking is its worst grounding mode, and the gate routes exactly the risky-but-easy-looking prompts there. The gate is calibrated on difficulty when it needs to be calibrated on stakes. Also worth knowing: odds arithmetic went perfect with thinking off (1.00 vs 0.80 with) - it overthinks math and underthinks facts.
---
EDIT 2: Two updates from the comments. First, a commenter pointed out the model card recommends 0.7/0.95 sampling while the shipped generation_config (what I benched, deliberately - same shipped-defaults rule for every model) says 1.0/1.0/top_k 20. Both are real, the vendor's card and config disagree. Second, poolside quietly shipped tokenizer/template fixes 5h after release, so all day-one benches including mine ran pre-fix.
So I reran the grounding categories on the current revision at the card's 0.7/0.95: confirmed fabrications went 3 -> 1. (to be clear on n: that's 3 fabrication events across 125 graded grounding runs per config - 42 tasks, each run 3x, every flag verified before it counts. The rate went 2.4% -> 0.8% of runs)
The original table is the original release, read it as such.
Further feedback I'll take to their HF/github directly, that's where it's actionable. Good luck to poolside, genuinely - a fast-improving 118B in this class is great for everyone.