Aller au contenu
Le JournalAgents IA

Agents IA · Hermes Agent · Configuration

Hermes Agent : les réglages qui méritent qu’on s’y attarde

Thomas Van Dorsselaere ~6 min
Un tiroir ouvert rempli d’interrupteurs et de molettes, dont un seul basculé en orange, à côté d’un cadenas et d’une clé
Quelques interrupteurs qui changent beaucoup de choses

Hermes Agent est un assistant IA que l’on installe sur son propre serveur. Il fonctionne dès l’installation, et la plupart de ses réglages peuvent rester tels quels. Quelques-uns ont pourtant une influence importante sur ce que l’agent retient, ce qu’il a le droit de faire et la façon dont il réagit aux imprévus. Les voici, avec leur valeur d’usine dans la version 0.21.4 (elle peut changer d’une version à l’autre).

01La mémoire

Quatre fichiers relus à chaque message

Avant de répondre, l’agent relit ses consignes (SOUL.md), sa mémoire (MEMORY.md), sa fiche sur l’utilisateur (USER.md) et les notes du dossier où il travaille. Si une réponse surprend, c’est souvent dans l’un de ces quatre fichiers que se trouve l’explication.

La mémoire se met à jour toute seule

memory.user_profile_enabled, auxiliary.background_review.enabledd’usine activés

Après les échanges, l’agent complète de lui-même sa mémoire et sa fiche sur l’utilisateur, et il y est invité tous les 10 messages (memory.nudge_interval). C’est ce qui lui permet d’apprendre. Pour relire ces ajouts avant qu’ils soient enregistrés, il existe memory.write_approval.

Les consignes sont lues au début de la conversation

Une modification des consignes s’applique aux nouvelles conversations, pas à celles déjà en cours. À noter : en 0.21.4, une conversation ne se ferme pas d’elle-même.

02Retrouver une ancienne conversation

L’outil de recherche est rangé à l’écart

tools.tool_search.deferd’usine inclut session_search

Pour alléger ses échanges avec le modèle, Hermes range certains outils à l’écart, dont la recherche dans l’historique. L’agent y pense alors moins spontanément. Retirer session_search de cette liste le rend visible en permanence.

La recherche attend tous les mots

Une conversation n’est trouvée que si elle contient tous les mots cherchés, et le pluriel n’est pas reconnu. Quelques mots-clés fonctionnent mieux qu’une phrase, et une étoile élargit la recherche : relance* trouve « relance » et « relances ».

03Ce que l’agent a le droit de faire

La validation des actions sensibles

approvals.moded’usine smart (refus pour les tâches automatiques)

Avant une action risquée, l’agent demande une validation quand quelqu’un peut répondre (messagerie, terminal). Pour les tâches automatiques, d’autres réglages prennent le relais (cron_mode, unattended_mode), et la demande est refusée d’office.

« Toujours autoriser » et « toujours interdire »

command_allowlist, approvals.denyd’usine vides

Répondre « toujours » à une demande ajoute la commande à une liste permanente, valable partout, tâches automatiques comprises. À l’inverse, approvals.deny contient les commandes à bloquer dans tous les cas. Ces deux listes valent le coup d’œil de temps en temps.

Les mots de passe ne sont pas transmis

terminal.env_passthroughd’usine vide

Les programmes lancés par l’agent ne reçoivent pas les clés et mots de passe du serveur, sauf ceux listés ici. Si un script ne trouve pas sa configuration, c’est souvent la raison.

Le nombre d’étapes par tâche

agent.max_turnsd’usine sans limite

Une limite évite qu’un agent bloqué sur une tâche impossible tourne longtemps, chaque étape ayant un coût.

04Les procédures (skills)

L’agent peut écrire ses propres procédures

skills.write_approvald’usine false

Les skills sont des fiches qui décrivent comment faire une tâche. L’agent peut en créer ou en modifier seul ; ce réglage permet de les relire avant. Deux skills portant le même nom ne peuvent plus être chargées : mieux vaut renommer une copie.

Le rangement automatique

curator.enabledd’usine actif : mise de côté à 14 jours, archivage à 30

Les skills créées par l’agent et restées inutilisées sont mises de côté puis archivées (jamais supprimées). Celles liées à une tâche planifiée sont protégées. Une skill peut aussi être épinglée pour rester en place.

05Tâches planifiées et sous-agents

Le modèle des tâches planifiées

cron.modeld’usine vide (modèle principal)

Le modèle est choisi au lancement de la tâche : celui fixé sur la tâche, sinon cron.model, sinon le modèle principal. Une tâche qui a son propre modèle le garde, même si le modèle principal change.

Les sous-agents

delegationd’usine 10 en même temps, sans limite de durée

L’agent peut confier une partie du travail à des sous-agents. Ils disposent de ses outils, mais pas de ses consignes ni de sa mémoire. Leur nombre et leur durée se règlent ici.

06Secours et mises à jour

Un modèle de secours

fallback_providersd’usine aucun

Si le modèle principal ne répond plus (quota, panne), Hermes peut passer sur un modèle de secours, à condition d’en avoir déclaré un.

La recherche web de secours

web.keyless_fallback, web.keyless_rescued’usine actifs

Si le moteur de recherche web configuré échoue, Hermes réessaie via des services gratuits (Exa, Parallel, Firecrawl, Keenable). Ces deux réglages permettent de désactiver ce relais.

Des réglages qui n’existent plus

Hermes accepte tous les réglages écrits, même ceux qu’il ne lit pas. En 0.21.4, par exemple, c’est agent.reasoning_effort qui compte, et non model.reasoning_effort. Après une mise à jour, les valeurs d’usine peuvent aussi changer : un rapide coup d’œil à la configuration évite les surprises.

07Récapitulatif

memory.user_profile_enabledD’usinetruefiche sur l’utilisateur tenue par l’agent
auxiliary.background_review.enabledD’usinetruemise à jour automatique de la mémoire
memory.nudge_intervalD’usine10rappel de noter, tous les N messages
memory.write_approvalD’usinefalsevalidation avant écriture en mémoire
tools.tool_search.deferD’usineinclut session_searchoutils rangés à l’écart
approvals.modeD’usinesmartvalidation des actions sensibles
approvals.cron_modeD’usinedenyidem, pour les tâches planifiées
approvals.denyD’usinevidecommandes toujours interdites
command_allowlistD’usinevidecommandes autorisées pour toujours
terminal.env_passthroughD’usinevidevariables transmises aux programmes
agent.max_turnsD’usinesans limitenombre d’étapes par tâche
skills.write_approvalD’usinefalsevalidation avant écriture d’une skill
curator.enabledD’usinetrue (14 j / 30 j)rangement des skills inutilisées
cron.modelD’usinevidemodèle des tâches planifiées
delegation.max_concurrent_childrenD’usine10sous-agents en même temps
delegation.child_timeout_secondsD’usine0 (sans limite)durée max d’un sous-agent
fallback_providersD’usinevidemodèle de secours
web.keyless_fallbackD’usinetruerecherche web de secours gratuite

État des informations : 27 septembre 2026, Hermes Agent 0.21.4. Les valeurs d’usine sont relevées dans le code de cette version et peuvent évoluer avec les suivantes.