Agention: an AI lab

Agents, the harness that runs them, and the inference stack underneath.

We build a TypeScript agent library, a coding harness on top of it, and we do original systems research to make open models run faster on real hardware.

Illustration of a llama with a glowing orange circuit-board pattern standing beside a server rack
3.2×faster token generation
96%draft acceptance, adaptive
65.6tok/s, Qwen3.8-27B on Strix Halo
4things we ship: library, harness, research, quants
01
Latest result

Adaptive speculation: draft length that follows measured acceptance

Standard speculative decoding drafts a fixed number of tokens and hopes the model agrees with them. On Qwen3.8-27B (a new open-weight model roughly on par with Claude Opus 4.6), a fixed draft length collapses under low acceptance. Our --spec-draft-adaptive patch to llama.cpp scales draft length to the model's actual acceptance rate instead, live.

Qwen3.8-27B, structured-output decoding, Radeon 8060S / Ryzen AI Max+ 395 (Strix Halo)
Fixed draftn=7 · 18% acceptance
20.2 tok/s
Adaptive draftn_max=7 · 96% acceptance
65.6 tok/s

3.2× faster than fixed-length speculation at the same draft budget. 4.7× the bare, non-speculative decode rate.

Read the full writeup →
What we build

One foundation, four things that run on it.

01 / Library

Agention

A TypeScript-native agent library. Claude, OpenAI, Gemini, Mistral, and local models via Ollama and llama.cpp behind one interface: composable, observable, no hidden state machines.

Read the docs ↗
02 / Harness

Marshall

A coding harness built on Agention. Name an agent, pin a model, give it a job: planner, coder, reviewer, each running whatever model suits it, local or hosted.

Try Marshall ↗
03 / Research

Adaptive Speculation

A fork of llama.cpp with adaptive-length speculative decoding and a Vulkan backend tuned for AMD's unified-memory APUs. Upstream contribution in progress.

Read the research →
04 / Quants

Quantized Models

Requants and Strix Halo-specific builds, published on HuggingFace: one mainline-compatible, one using our ROCmFPx format for maximum quality-per-byte on unified memory.

See the models →
Built with Marshall

Bricks: a floating city, shipped end to end by the harness.

Bricks is a brick island suspended in the clouds, under zombie siege. It was built using Qwen3.8-27B running through Marshall: score, health, ammo, orbit camera, day/night cycle, the works. It's a lab experiment, a small, playable proof of what the harness can ship on its own.

Play Bricks ↗
$ marshall run --brief "floating brick island, zombie siege"
reading workspace...
planner → coder → reviewer assembled
building scene, camera, spawn logic
✓ deployed to marshall.agention.ai/bricks
_
From the blog

Notes on agents and TypeScript.

All posts →