Почему 8B зацикливаются в Agent: 3 настройки Hermes (2026)
В 2026 году локальный Llama 3.1/3.2 8B, Qwen 2.5 7B или Hermes 3 8B кажется дешёвым — пока агент не уйдёт в цикл смерти: битый JSON инструментов, повтор terminal, фразы «сейчас запущу тесты…» без реального вызова. GPU в порядке; ломаются сэмплирование + контекст + поверхность инструментов.
Hermes Agent (NousResearch/hermes-agent, MIT) рассчитан на frontier, но работает с OpenRouter, Ollama и другими OpenAI-совместимыми API. Ниже — почему малые модели ломаются в Agent и 3 жёсткие рычага плюс 7 шагов для стабильных задач на Mac/Linux с 16–24 ГБ VRAM.
temperature в config.yaml пока ограничен (#17565) — задайте сэмплирование на сервере Ollama и используйте reasoning/инструменты ниже.Почему 8B «сыпятся» на function calling
Малые instruct учатся на одноходовом чате, а не на 50 ходах с инструментами.
| Слабость | Симптом в Hermes | Расход токенов |
|---|---|---|
| Дрейф структуры | JSON с прозой, неверные ключи, «ложные» вызовы текстом | Повторы парсера |
| Размытие внимания | Ранние HTML/логи вытесняют цель | Забывает условия остановки |
| Высокая энтропия | Тот же план другими словами | Почти одинаковые curl/grep |
Цитируемое определение:«Вызов инструмента» в Hermes — структурированное сообщение, которое runtime парсит и исполняет; если 8B пишет только нарратив, цикл не движется.
Сочетайте с сжатием траекторий и спеками Mac mini.
Архитектура: что Hermes шлёт каждый ход
| Слой | Путь | Влияние на 8B |
|---|---|---|
| Модель | hermes model | Реалистичный context_length |
| Инструменты | disabled_toolsets | Меньше JSON-схем |
| Skills | -s a,b | Макс. 2 skill |
| Enforcement | tool_use_enforcement | Звать инструмент, не описывать |
| Reasoning | reasoning_effort | medium добавляет скрытые токены |
| Гигиена | compression.* | Режет гигантский stdout |
На локальном сервере: temperature 0.2 (Ollama) до #17565.
Три настройки важнее «сырой» температуры
1 — reasoning_effort: none
agent:
reasoning_effort: none # or minimal for light planning
display:
show_reasoning: false
/reasoning
/reasoning none
2 — tool_use_enforcement
agent:
tool_use_enforcement: true
provider_routing:
require_parameters: true
"auto" только для GPT/Gemini — локальным 8B нужен true вручную.
3 — диета skill: два skill, минимум toolset
hermes chat --toolsets "terminal,file" \
-s github-pr-workflow,plan \
-m "qwen/qwen-2.5-7b-instruct"
- Предзагрузка ≤2 skill
- Отключить web/browser/image_gen
- Не ставить все MCP на 8B (MCP Mac)
agent:
disabled_toolsets:
- web
- browser
- image_gen
- moa
- memory
hermes profile create local-8b --no-skills
Сценарий из 7 шагов
Шаг 1 — установка и реальный context
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc
hermes doctor
model:
context_length: 16384
Предварительно: установка Hermes на Mac.
Шаг 2 — локальный endpoint
hermes model
hermes chat -q "Reply OK only" -m "your-local-model-id"
Шаг 3 — три рычага в YAML
agent:
reasoning_effort: none
tool_use_enforcement: true
disabled_toolsets:
- web
- browser
- image_gen
- memory
compression:
enabled: true
threshold: 0.40
tool_output:
max_bytes: 20000
max_lines: 500
file_read_max_chars: 30000
Шаг 4 — сэмплирование на сервере
PARAMETER temperature 0.2
PARAMETER top_p 0.9
Шаг 5 — ограниченная задача, 2 skill
hermes chat --toolsets "terminal,file" \
-s plan \
-m "your-local-model-id"
Task: list top 5 largest files in ./src, write paths to /tmp/top5.txt.
Rules: max 8 tool calls; if stuck, stop and report blocker.
Шаг 6 — /usage и /stop
/usage
/stop
Шаг 7 — всегда включённый Mac mini (опц.)
После стабилизации циклов: cron Discord digest. 8B на GPU, gateway на CPU.
Устранение неполадок
JSON-парс на каждом вызове
Лечение: tool_use_enforcement: true, toolsets terminal,file, ниже temperature, tool-tuned quant.
Бесконечное «я сейчас…» без tools
Лечение: правило в SOUL.md, 1 skill, не reasoning_effort: high.
Контекст полон на 4-м ходе (16K)
Лечение: compression.threshold: 0.35, сжатие траекторий, /compress перед вставками.
FAQ
reasoning_effort: none + enforcement. #17565.compression.* — live-окно. На 8B оба.Читать также
Mac 24/7 для локальных агентов?
Mac mini держит шлюз Hermes онлайн, пока 8B считает на GPU.