AI / Automation

LLM locaux plus rapides : Headroom −95 % contexte Agent (2026)

Compression Headroom pour latence outils LLM local sur Mac mini M4

Vous avez branché Ollama, DeepSeek ou Llama 3 sur un agent de code sur Mac mini—puis demandé un grep monorepo, un tail de 200 Mo ou un dump SQL : l’UI gèle, les tok/s s’effondrent. Sur du 8B–14B local, l’inflation des sorties outils pèse plus que le QI du modèle.

Headroom est une couche OSS de compression de contexte (Apache 2.0) qui réduit outils, logs et lectures avant le LLM—souvent 60–95 % de tokens en moins, avec CCR. Guide local-first ; pour le cloud, voir Hermes Trajectory Compressor.

Divulgation : ProxyMac publie des guides Mac ; Headroom est tiers et sans lien avec nous.

Pourquoi les agents locaux « bloquent » sur grosses sorties outils

La latence locale dépend de la longueur de contexte et de la bande passante mémoire.

SymptômeCauseCe que vous voyez
30–120 s « réflexion » après un outil50k–200k tokens stdoutBarre bloquée ; GPU 100 %
Réponses moins bonnes en sessionKV cache pleinIgnore les consignes récentes
App figéeSwap sur Mac mini 8–16 GoVentilateurs ; pression rouge
grep en boucleLigne d’erreur noyéeMême appel outil

Définition : Latence outil LLM local = délai entre retour outil et prochain token—dominé par le prefill sur contexte non compressé.

Sur Apple Silicon, combinez avec le budget mémoire 8 Go si OpenClaw ou MLX tournent aussi.

Architecture Headroom : compresser avant prefill

Agent (Cursor, OpenClaw, custom) │ tool results · file reads · logs ▼ ┌──────────────────────────────┐ │ Headroom (local) │ │ CacheAligner → ContentRouter │ │ ├─ SmartCrusher (JSON) │ │ ├─ CodeCompressor (AST) │ │ └─ Kompress-base (text) │ │ CCR store (reversible) │ └──────────────────────────────┘ │ compressed messages + headroom_retrieve ▼ Ollama / llama.cpp / MLX API

Bench README (python -m headroom.evals suite) :

ChargeAvantAprèsGain
Code search (100 results)17,7651,40892%
SRE incident debugging65,6945,11892%
GitHub issue triage54,17414,76173%

CCR: originaux sur disque ; headroom_retrieve pour le fichier complet—compression agressive sans suppression.

Démarrage, CCR.

Matrice de décision Mac mini

ApprocheRéductionRéversibleIdéal pour
head -n 50ÉlevéeNonBricolage
Hermes compression.*MoyennePartielleHermes Agent
proxy Headroom60–95 %Oui (CCR)Endpoint local OpenAI
MCP HeadroomMêmes moteursOuiAgents MCP / OpenClaw
Quant plus petit0 % sur logsN/AMauvais levier

OpenClaw sur Mac mini : Headroom supporte wrap et plugin ContextEngine.

Si X, faire Y : Si prefill > 10 s sur 7B après un cat, activez Headroom avant GPU plus gros ou cloud.

Scénario A — Ollama + proxy Headroom (zéro changement code)

Pointez l’URL OpenAI de l’agent vers Headroom ; Headroom relaie vers Ollama.

Stack : Mac mini M2/M3/M4, qwen2.5-coder:7b ou deepseek-r1:8b, proxy 8787.

Attendu : Rapports : 45–90 s8–15 s sur 7B (variable—benchmarkez).

Scénario B — OpenClaw + MCP Headroom

Outils MCP headroom_compress, etc. Les plafonds de parallélisme comptent—2 tâches sur 16 Go.

Runbook en 7 étapes : Headroom + Ollama

Étape 1 — Installer Headroom (Python 3.10+)

brew install python@3.12 pip install "headroom-ai[proxy,mcp]" headroom --version

Étape 2 — Ollama + modèle code

ollama pull qwen2.5-coder:7b-instruct-q4_K_M ollama serve # default :11434

Étape 3 — Lancer le proxy

export OLLAMA_HOST=http://127.0.0.1:11434 headroom proxy --port 8787 --backend ollama

(guide proxy.)

Étape 4 — Agent sur localhost:8787

Client compatible OpenAI :

export OPENAI_API_BASE=http://127.0.0.1:8787/v1 export OPENAI_API_KEY=ollama # placeholder for local

base URL http://127.0.0.1:8787/v1.

Étape 5 — Test baseline vs compressé

Même prompt deux fois :

  1. Ollama direct — tous les TODO
  2. Via Headroom

Étape 6 — retrieve en debug

Demandez headroom_retrieve autour de ERROR si trace manquante.

Étape 7 — LaunchAgent (option 24/7)

Plists séparés ; guide mémoire pour Node. Ordre : Ollama, Headroom, agent.

Dépannage

Toujours lent après Headroom

Motif : Faible ratio sur binaire/protobuf.
Correctif : Formateurs JSON/texte ; CodeCompressor ; moins de lectures parallèles.

Ligne de test FAIL « perdue »

Motif : Écrasement log agressif.
Correctif : headroom_retrieve ; mots-clés erreur ; rg --json ERROR.

Proxy OK mais 404 sur /v1/chat/completions

Motif : Mauvais backend ; Ollama arrêté.
Correctif : curl tags ; redémarrer avec bon --backend.

SetupRecommandation
Cursor + Ollamaproxy 8787 + quant 7B
Passerelle OpenClawMCP + concurrence 1–2 sur 16 Go
Boucles Hermes 8BHeadroom + réglage 8B
MLX localHeadroom outils ; guide MLX hybride

FAQ

Headroom uniquement cloud ?+
Non. Local, pour Ollama/llama.cpp/MLX.
Différence avec Hermes ?+
Hermes : trajectoires terminées. Headroom : contexte outil entrant.
95 % casse la précision ?+
Bench 97 % sur BFCL ; gardez CCR retrieve.
Poids DeepSeek locaux ?+
Oui—serveur compatible OpenAI derrière le proxy.
RAM minimale ?+
16 Go recommandé ; 8 Go avec guide 8 Go.

Mac mini dédié ?

Ollama et Headroom sur hôte headless.