Pourquoi les 8B bouclent en Agent : 3 réglages Hermes (2026)
En 2026, faire tourner Llama 3.1/3.2 8B, Qwen 2.5 7B ou Hermes 3 8B en local semble gratuit—jusqu'à la boucle morte : JSON d'outils invalide, terminal en rafale, ou « je vais lancer les tests… » sans aucun appel d'outil. Le GPU va bien ; ce sont l'échantillonnage, le contexte et la surface d'outils qui déraillent.
Hermes Agent (NousResearch/hermes-agent, MIT) vise les modèles frontier mais fonctionne avec OpenRouter, Ollama, etc. Voici pourquoi les petits modèles cassent en Agent, et 3 réglages durs plus un runbook en 7 étapes pour des tâches longues sur Mac/Linux 16–24 Go VRAM.
temperature utilisateur dans config.yaml reste limité (#17565)—réglez l'échantillonnage côté serveur Ollama et les options reasoning/outils ci-dessous.Pourquoi les 8B peinent en function calling
Les petits instruct sont entraînés pour le chat mono-tour, pas des transcripts outils de 50 tours.
| Faiblesse | Symptôme Hermes | Coût tokens |
|---|---|---|
| Dérive structurée | JSON avec prose, mauvaises clés, faux appels en texte | Reprises parseur |
| Dilution attention | Logs/HTML précoces chassent l'objectif | Oublie les conditions d'arrêt |
| Échantillonnage entropique | Même plan reformulé | curl/grep quasi identiques |
Définition citable :Un « appel d'outil » Hermes est un message structuré exécuté par le runtime ; si le 8B n'émet que du récit, la boucle n'avance pas.
Associez la compression de trajectoire et les specs Mac mini.
Architecture : ce qu'Hermes envoie à chaque tour
| Couche | Chemin | Impact 8B |
|---|---|---|
| Modèle | hermes model | context_length réaliste |
| Outils | disabled_toolsets | Moins de schémas JSON |
| Skills | -s a,b | Max 2 skills |
| Enforcement | tool_use_enforcement | Forcer l'appel, pas le récit |
| Reasoning | reasoning_effort | medium gonfle les tokens cachés |
| Hygiène | compression.* | Tronque stdout géant |
Réglez temperature 0.2 sur Ollama jusqu'à #17565.
3 réglages plus importants que la température
Réglage 1 — reasoning_effort: none
agent:
reasoning_effort: none # or minimal for light planning
display:
show_reasoning: false
/reasoning
/reasoning none
Réglage 2 — tool_use_enforcement
agent:
tool_use_enforcement: true
provider_routing:
require_parameters: true
"auto" n'active l'enforcement que pour GPT/Gemini—8B local : true manuel.
Réglage 3 — 2 skills, toolsets minimaux
hermes chat --toolsets "terminal,file" \
-s github-pr-workflow,plan \
-m "qwen/qwen-2.5-7b-instruct"
- ≤2 skills préchargés
- Désactiver web/browser/image_gen
- Pas tous les MCP sur 8B (guide MCP Mac)
agent:
disabled_toolsets:
- web
- browser
- image_gen
- moa
- memory
hermes profile create local-8b --no-skills
Runbook en 7 étapes
Étape 1 — Installer et contexte réaliste
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
source ~/.zshrc
hermes doctor
model:
context_length: 16384
Prérequis : installation Hermes sur Mac.
Étape 2 — Endpoint local
hermes model
hermes chat -q "Reply OK only" -m "your-local-model-id"
Étape 3 — YAML des 3 réglages
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
Étape 4 — Échantillonnage serveur
PARAMETER temperature 0.2
PARAMETER top_p 0.9
Étape 5 — Tâche bornée, 2 skills
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.
Étape 6 — /usage et /stop
/usage
/stop
Étape 7 — Mac mini toujours allumé (option)
Après boucles stables : digest cron Discord.
Dépannage
Erreurs JSON à chaque appel
Fix : tool_use_enforcement: true, toolsets terminal,file, température basse, quant outils.
« Je vais… » sans outils
Fix : règle dans SOUL.md, 1 skill, pas reasoning_effort: high.
Contexte plein au tour 4 (16K)
Fix : compression.threshold: 0.35, compressor, /compress avant gros collages.
FAQ
reasoning_effort: none + enforcement. Suivre #17565.compression.* gère la fenêtre live—les deux sur 8B.Lecture associée
Un Mac toujours allumé pour agents locaux ?
Mac mini optionnel : gateway Hermes en ligne pendant l'inférence 8B sur GPU.