Liquid AI's LFM2.5-2.6B, released 4 August, runs a full tool calling agent at 220 tokens per second on an M5 Max in under 2.5 GB of memory. The move that pays is not replacing your frontier model. It is splitting your agent loop so the high volume mechanical turns run locally at zero marginal cost and only the hard turns hit the paid API.
Most teams evaluating a small local model ask the wrong question. They benchmark it against their frontier model on their hardest task, watch it lose, and conclude local inference is not ready. LFM2.5-2.6B rewards a different question: which of your agent's turns are actually hard?
In a typical agent loop, the majority of model calls are not reasoning. They are deciding which of eight tools to call, reformatting a tool result into the next prompt, checking whether a condition is met, extracting a field from a JSON blob, and deciding whether to continue or stop. These are instruction following and tool selection turns, and they are exactly where this model is strong. Liquid AI reports 56.88 on BFCLv4 and 77.83 on ToolSandbox for tool use, and it leads its entire comparison set on instruction following with 59.17 on IFBench, 80.07 on Multi-IF and 85.49 on IFStruct, beating models between two and four times its size. Coding is the documented weak spot, where the larger models keep a clear edge.
The economics of moving those turns local are not incremental. Liquid AI measures 220 tokens per second on an Apple M5 Max, 113 on a Ryzen AI Max Plus 395, and 30 tokens per second on a phone, all under 2.5 GB of memory. On a single H100 with sustained load it reaches nearly 15,000 output tokens per second, roughly 1.3 billion tokens per day. Once per token cost is zero, background agents that burn millions of tokens on speculative work become viable, and parallelism stops being a budget conversation.
The reason this model works inside real harnesses rather than just on tool call benchmarks is how it was trained. The final post training stage was agentic reinforcement learning run inside actual agent harnesses including Hermes Agent and OpenClaw, with rollouts in sandboxed runtimes scored by a combination of an LLM judge rubric, programmatic checks and a hard safety gate. It learned the system prompts and interaction patterns of the harnesses it will run in, not synthetic traces of them.
Set expectations honestly with your team. This is not a frontier substitute. Route planning, hard reasoning and code generation to your paid model. Route tool selection, extraction, classification, routing and format conversion locally. On a typical loop that is most of the calls and a minority of the value, which is the split you want.
Try it today
- Instrument your current agent loop first and count model calls by type. If tool selection, extraction and formatting are under 40 percent of calls, the local split will not pay for itself and you should stop here.
- Pull the post trained checkpoint LiquidAI/LFM2.5-2.6B from Hugging Face. Take the base checkpoint LFM2.5-2.6B-Base only if you intend to fine tune. The post trained one is the agentic model.
- Serve it behind an OpenAI compatible endpoint. llama.cpp with the GGUF checkpoints is the fastest path on CPU, MLX on Apple Silicon, vLLM or SGLang if you are serving on a GPU. ONNX is available for other accelerators.
- Point your existing harness at the local endpoint by changing the base URL only. It works out of the box with Hermes Agent, OpenClaw and Pi, so your application code should not need edits for a first test.
- Set temperature to 0.6 for general agentic work. Liquid AI ran its own tool use evaluations at temperature 0 for ToolSandbox and 0.001 for BFCLv4, so drop toward greedy decoding for deterministic tool selection.
- Budget context deliberately. The window is 128,000 tokens and mid training included a dedicated context extension phase, but on a 2.5 GB memory envelope a long context will cost you throughput. Trim tool results before they enter the prompt.
- Run a shadow comparison for one week. Send the same turns to both the local model and your paid model, log disagreements, and promote the local model only on turn types where disagreement is under your tolerance.