Ускорение локальных LLM: Headroom −95 % контекста Agent (2026)
Вы подключили Ollama, DeepSeek или Llama 3 к coding-agent на Mac mini—попросили grep по monorepo, tail 200 МБ лога или SQL-дамп: UI завис, tok/s упали. На 8B–14B локально раздувание вывода инструментов бьёт сильнее «ума» модели.
Headroom — OSS слой сжатия контекста (Apache 2.0), обычно 60–95 % меньше токенов до LLM, с CCR. Гайд local-first; облачная экономия — Hermes Trajectory Compressor.
Почему локальные агенты «зависают» на большом выводе инструментов
Задержка зависит от длины контекста и пропускной способности памяти.
| Симптом | Причина | Что видите |
|---|---|---|
| 30–120 с «думает» после инструмента | 50k–200k токенов stdout | Прогресс стоит; GPU 100 % |
| Ответы хуже к середине сессии | KV cache полон | Игнор свежих инструкций |
| Приложение как замёрзшее | Swap на 8–16 ГБ mini | Вентиляторы; красное давление |
| Повтор grep | Строка ошибки в шуме | Цикл того же инструмента |
Определение: Задержка инструмента локального LLM — время от возврата инструмента до следующего токена; доминирует prefill по несжатому контексту.
На Apple Silicon сочетайте с бюджетом памяти 8 ГБ при OpenClaw/MLX.
Архитектура Headroom: сжатие до 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
Бенч README (python -m headroom.evals suite):
| Нагрузка | До | После | Экономия |
|---|---|---|---|
| Code search (100 results) | 17,765 | 1,408 | 92% |
| SRE incident debugging | 65,694 | 5,118 | 92% |
| GitHub issue triage | 54,174 | 14,761 | 73% |
CCR: оригиналы на диске; headroom_retrieve для полного файла—агрессивное сжатие без удаления.
Матрица решений Mac mini
| Подход | Срез токенов | Обратимо | Лучше для |
|---|---|---|---|
head -n 50 | Высокий | Нет | Костыль |
Hermes compression.* | Средний | Частично | Hermes Agent |
| proxy Headroom | 60–95 % | Да (CCR) | Локальный OpenAI-совместимый |
| MCP Headroom | Те же движки | Да | MCP/OpenClaw |
| Только меньший quant | 0 % на логах | N/A | Неверный рычаг |
OpenClaw на Mac mini: Headroom поддерживает wrap и плагин ContextEngine.
Если X — делайте Y: Если prefill > 10 с на 7B после cat, включите Headroom до большего GPU или облака.
Сценарий A — Ollama + proxy Headroom (без правок кода)
Укажите OpenAI base URL на Headroom; он форвардит в Ollama.
Стек: Mac mini M2/M3/M4, qwen2.5-coder:7b или deepseek-r1:8b, proxy 8787.
Ожидание: 45–90 с → 8–15 с на 7B (зависит от репо).
Сценарий B — OpenClaw + MCP Headroom
MCP headroom_compress и др. лимиты параллелизма—2 задачи на 16 ГБ.
Runbook из 7 шагов: Headroom + Ollama
Шаг 1 — Установка Headroom
brew install python@3.12
pip install "headroom-ai[proxy,mcp]"
headroom --version
Шаг 2 — Ollama и coding-модель
ollama pull qwen2.5-coder:7b-instruct-q4_K_M
ollama serve # default :11434
Шаг 3 — Запуск proxy
export OLLAMA_HOST=http://127.0.0.1:11434
headroom proxy --port 8787 --backend ollama
(гайд proxy.)
Шаг 4 — Agent на localhost:8787
Пример 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.
Шаг 5 — Baseline vs сжатие
Один промпт дважды:
- Прямой Ollama — все
TODO - Через Headroom
Шаг 6 — retrieve при отладке
headroom_retrieve вокруг ERROR при пропаже стека.
Шаг 7 — LaunchAgent (опционально)
гайд по памяти для Node. Порядок: Ollama → Headroom → agent.
Устранение неполадок
Всё ещё медленно после Headroom
Паттерн: Низкое сжатие binary/protobuf.
Исправление: JSON/текст форматтеры; CodeCompressor; меньше параллельных чтений.
Строка FAIL «потеряна»
Паттерн: Агрессивное сжатие лога.
Исправление: headroom_retrieve; ключевые слова ошибок; rg --json ERROR.
Proxy есть, 404 на /v1/chat/completions
Паттерн: Неверный backend; Ollama не запущен.
Исправление: curl tags; перезапуск с верным --backend.
Рекомендуемый путь
| Сценарий | Рекомендация |
|---|---|
| Cursor + Ollama | proxy 8787 + 7B quant |
| Шлюз OpenClaw | MCP + параллельность 1–2 на 16 ГБ |
| Hermes 8B | Headroom + тюнинг 8B |
| MLX | Headroom на tools; гибрид MLX |