Le scheduler natif d'Hermes Agent
Hermes Agent intègre un scheduler natif accessible via la sous-commande `hermes cron`. Ce scheduler permet de planifier l'exécution automatique de prompts et de tâches à des intervalles définis, directement depuis la CLI d'Hermes, sans dépendre d'outils système externes comme crontab ou systemd. Cette intégration native signifie que les tâches planifiées bénéficient du contexte complet d'Hermes : accès aux outils configurés, aux serveurs MCP actifs et à la configuration du modèle.
Dans un contexte de lab expérimental, le scheduler Hermes est particulièrement utile pour automatiser des tâches récurrentes : surveillance de ressources, génération de rapports périodiques, exécution de workflows de traitement de données ou tests automatisés de comportements de l'agent. L'avantage d'un scheduler natif est la cohérence : les tâches s'exécutent dans le même environnement qu'une exécution manuelle, ce qui facilite le débogage et la reproductibilité.
- Scheduler intégré, pas de dépendance externe
- Accès aux outils et serveurs MCP configurés
- Cohérence avec les exécutions manuelles
- Adapté aux tâches récurrentes de lab
- Gestion complète via la CLI Hermes
Créer et lister des tâches planifiées
Pour créer une nouvelle tâche planifiée, utilisez `hermes cron create SCHED` où SCHED définit la planification. L'assistant interactif vous guide pour définir le prompt à exécuter, la fréquence et les options de la tâche. Chaque tâche créée reçoit un identifiant unique (ID) qui sera utilisé pour toutes les opérations ultérieures sur cette tâche.
Pour voir l'ensemble des tâches planifiées, utilisez `hermes cron list`. Cette commande affiche les tâches avec leur ID, leur planification, leur statut (active, en pause, etc.) et les informations sur la dernière exécution. Dans un lab, maintenir une liste claire des tâches actives est important pour éviter les exécutions inattendues et pour comprendre l'activité automatisée de l'agent.
- `hermes cron create SCHED` — créer une tâche planifiée
- `hermes cron list` — lister toutes les tâches
- Chaque tâche reçoit un ID unique
- La liste affiche statut et dernière exécution
Gérer le cycle de vie des tâches
Le scheduler Hermes offre un contrôle complet sur le cycle de vie des tâches planifiées. Pour modifier une tâche existante, utilisez `hermes cron edit ID`. Pour suspendre temporairement une tâche sans la supprimer, `hermes cron pause ID` est la commande appropriée. Pour reprendre une tâche suspendue, utilisez `hermes cron resume ID`. Ces commandes permettent de gérer finement l'activité du scheduler sans perdre la configuration des tâches.
Pour déclencher manuellement l'exécution d'une tâche planifiée en dehors de son horaire habituel, utilisez `hermes cron run ID`. C'est particulièrement utile en phase de test pour vérifier le comportement d'une tâche sans attendre sa prochaine exécution planifiée. Pour supprimer définitivement une tâche, `hermes cron remove ID` efface la tâche et sa configuration. Vérifiez l'état d'une tâche spécifique avec `hermes cron status`.
- `hermes cron edit ID` — modifier une tâche
- `hermes cron pause ID` — suspendre une tâche
- `hermes cron resume ID` — reprendre une tâche suspendue
- `hermes cron run ID` — exécution manuelle immédiate
- `hermes cron remove ID` — supprimer définitivement
- `hermes cron status` — état des tâches
Concevoir des prompts autonomes idempotents
Lorsque vous planifiez des tâches avec le scheduler Hermes, la conception du prompt est cruciale. Un prompt autonome doit être suffisamment précis pour que l'agent puisse l'exécuter sans intervention humaine et produire un résultat utile. Incluez dans le prompt toutes les informations contextuelles nécessaires : objectif de la tâche, format de sortie attendu, comportement en cas d'erreur ou de données manquantes.
L'idempotence est une propriété importante pour les tâches planifiées : une tâche idempotente peut être exécutée plusieurs fois sans produire d'effets indésirables cumulatifs. Concevez vos prompts de façon à ce que l'agent vérifie l'état actuel avant d'agir, plutôt que d'agir systématiquement. Par exemple, un prompt qui vérifie si une action a déjà été effectuée avant de la répéter est plus robuste qu'un prompt qui effectue toujours l'action sans vérification préalable.
- Inclure tout le contexte nécessaire dans le prompt
- Définir le format de sortie attendu explicitement
- Spécifier le comportement en cas d'erreur
- Concevoir des prompts idempotents
- Vérifier l'état avant d'agir plutôt qu'agir systématiquement
Gérer les sorties et les alertes
Les tâches planifiées par le scheduler Hermes produisent des sorties qui sont enregistrées dans les logs d'Hermes, accessibles dans `~/.hermes/logs/`. Consultez ces logs pour vérifier que les tâches s'exécutent correctement et pour analyser les résultats. Dans un contexte de lab, il est utile de définir dans le prompt un format de sortie structuré qui facilite l'analyse automatique des résultats.
Pour les tâches critiques, concevez des mécanismes d'alerte dans le prompt lui-même : demandez à l'agent de signaler explicitement les erreurs, les anomalies ou les conditions qui nécessitent une attention humaine. Consultez la documentation officielle sur https://hermes-agent.nousresearch.com/docs pour les options de notification disponibles dans votre configuration Hermes.
- Sorties enregistrées dans `~/.hermes/logs/`
- Définir un format de sortie structuré dans le prompt
- Intégrer des mécanismes d'alerte dans le prompt
- Demander à l'agent de signaler les anomalies explicitement
- Consulter la documentation pour les options de notification
Bonnes pratiques pour le scheduler en lab
Dans un environnement de lab expérimental, commencez par tester chaque nouvelle tâche planifiée avec `hermes cron run ID` avant de la laisser s'exécuter automatiquement. Cela permet de vérifier le comportement de l'agent et la qualité des sorties sans attendre la prochaine exécution planifiée. Ajustez le prompt et la configuration en fonction des résultats observés.
Maintenez une documentation des tâches planifiées actives dans votre lab : leur objectif, leur fréquence, les ressources qu'elles utilisent et les sorties attendues. Cette documentation facilite la maintenance et permet à d'autres membres de l'équipe de comprendre l'activité automatisée. Consultez régulièrement `hermes cron list` pour vous assurer que seules les tâches nécessaires sont actives.
- Tester avec `hermes cron run ID` avant l'automatisation
- Documenter chaque tâche : objectif, fréquence, ressources
- Vérifier régulièrement `hermes cron list`
- Supprimer les tâches expérimentales terminées
- Consulter https://github.com/NousResearch/hermes-agent pour les exemples
Sources et méthode
Cette page est une synthèse éditoriale indépendante. Les capacités et commandes doivent être vérifiées dans les sources officielles avant une utilisation en production.