CLM-8B brings ultra-fast System 1 thinking to AI agents
Contrastive-LM just open-sourced CLM-8B, a lightweight System 1 decision model trained to connect states and actions via contrastive learning. By caching state and action embeddings independently, it matches Jev on computer-use and tool-calling tasks with up to 9× lower latency, while scoring 87.6% on Terminal-Bench 2.1 as an agentic verifier.

CLM-8B is a new open-source decision-making model designed specifically for System 1 fast thinking. Instead of churning out tokens auto-regressively like standard LLMs, it connects environments and actions through contrastive learning, immediately picking the best move from a candidate set for tool calling, GUI automation, and trajectory verification.
Most agent steps don't require hundreds of tokens of deep reasoning. If an AI is playing the browser Dino Run game or clicking through menus, it just needs to decide whether to jump or duck right now. While models like Jev proved that System 1 thinking works for agents, CLM-8B matches Jev's accuracy while slashing latency by up to 9×, especially when action candidates can be cached and reused.
How it works
CLM completely decouples states and actions. Standard generative models recompute self-attention over the whole concatenated prompt for every candidate. CLM instead runs a state encoder and an action encoder, allowing candidate embeddings to be cached independently and scored via simple dot products.
Under the hood, CLM-8B attaches a lightweight 20M-parameter projection head on top of a frozen Qwen3-8B embedding backbone. Serving is split into a GPU pooling encoder and a tiny CPU server that downloads a 75 MB reference head on first launch. For inference, fresh text takes a single forward pass, and candidate options take a dot product.
Training followed a precise three-stage pipeline. The team pre-trained on roughly 60M Nemotron Q&A pairs using bidirectional InfoNCE loss, mid-trained on 30M synthetic hard negatives generated by Gemini 2.5 Flash-Lite to sharpen distinction between plausible choices, and post-trained on 1M agent trajectories from datasets like ADP and Endless-Terminals. By mixing 40% Q&A replay into post-training, the model avoided catastrophic forgetting on core classification tasks.
Benchmarks and deployment
CLM-8B also shines as a solution verifier for complex tasks. Evaluated on long-horizon agentic coding benchmarks, it picks the best candidate solution out of multiple generations (such as Opus 5 or Fable 5 outputs). With lightweight fine-tuning, CLM hit 81.6% on 38 held-out DeepSWE tasks and 87.6% on 30 held-out Terminal-Bench 2.1 tasks, setting a new SOTA while running 4.1× to 5.7× faster than Jev.
On hardware, you need enough VRAM to host a Qwen3-8B pooling model. The authors demoed the full setup running smoothly on a single RTX 4090. Longer states up to 8k tokens are supported by raising max token limits on vLLM and the serving process, provided you have the GPU headroom.
Everything is open-source under Apache 2.0. Code, fine-tuning scripts, and weights are live on GitHub and Hugging Face. You can install it via pip install contrastive-lm, spin up clm-serve to use the included web playground, or integrate it through a clean Python API compatible with typed decision formats.
Why it matters
If you build autonomous agents or complex tool-routing pipelines, CLM-8B is definitely worth a spin. The biggest bottleneck in agents today is latency and token burn from using slow, heavy reasoning models to make simple operational choices. Offloading classification, routing, and verification to a dedicated System 1 engine makes agent execution feel snappy.
We think pairing a frozen LLM backbone with a tiny 20M contrastive head is a remarkably practical engineering choice. It gives you the semantic depth of an 8B model at a fraction of the serving cost. It won't replace deliberate System 2 planning for grand-strategy puzzles, but as a lightning-fast router and verifier, it solves a very real deployment headache.
Sources (2)
- github.com(opens in a new tab)Originalgithub.com
- youtube.com(opens in a new tab)Reportyoutube.com