Comment confier à Hermès un projet qu'il pourra réellement mener à bien
Hermes s'avère particulièrement utile lorsqu'une tâche ne peut être menée à bien en une seule réponse. La correction d'un bug peut nécessiter d'examiner plusieurs fichiers, de modifier l'implémentation, d'exécuter des tests, de corriger de nouvelles erreurs et de vérifier qu'aucun autre élément n'a été endommagé. Un travail de recherche peut impliquer de recueillir des éléments, de comparer des sources, de rédiger un rapport et de vérifier si la question initiale a reçu une réponse satisfaisante.
Dans une conversation classique avec une IA, l'utilisateur doit souvent gérer chaque étape. L'assistant effectue une partie du travail, s'arrête et attend. L'utilisateur vérifie le résultat, identifie ce qui manque et lui demande de continuer.
Hermes modifie ce processus grâce à la commande /goal. Cette commande attribue à l'agent un objectif permanent qui reste actif pendant plusieurs tours. Hermes peut ainsi poursuivre son travail, évaluer si l'objectif a été atteint et passer à l'étape suivante sans attendre une nouvelle invite après chaque résultat partiel.
Cela ne signifie pas pour autant que l’agent doive recevoir une instruction vague et être laissé à lui-même. La qualité du travail dépend fortement de la manière dont le projet est défini. Un objectif clair indique à Hermès ce qui doit être vérifié à la fin, quelle partie du projet il peut modifier, comment l’achèvement sera vérifié et à quel moment il doit s’arrêter pour obtenir l’approbation d’un humain.
Quand utiliser la commande /goal
La commande /goal est conçue pour les tâches nécessitant des itérations.
Il est particulièrement adapté au débogage, à la gestion de référentiels, à la recherche structurée, à la relecture de documents, à l'organisation de fichiers, au nettoyage de données et à d'autres projets où il est peu probable que la première tentative soit la bonne.
Une consigne simple peut suffire lorsque la tâche peut être réalisée en une seule étape claire. Réécrire un paragraphe, expliquer un concept ou résumer un document ne nécessite généralement pas d'objectif précis.
Cette commande s'avère d'autant plus utile lorsque vous prévoyez de donner plusieurs instructions complémentaires telles que “ continuer ”, “ vérifier les fichiers restants ”, “ corriger les erreurs ” ou “ relancer le test ”.
Au lieu de gérer ces étapes manuellement, vous définissez le résultat une seule fois et laissez Hermès s'en charger.
Il convient de faire la distinction suivante :
- Utilisez une invite normale lorsque vous avez besoin d'une réponse.
- Utilisez /goal lorsque vous avez besoin d'un projet terminé.
Décrivez le résultat, pas l'activité
Un objectif peu ambitieux indique à Hermès les points sur lesquels il doit travailler. Un objectif ambitieux montre à Hermès à quoi ressemble la réussite.
“ Améliorer le site web ” est une formulation trop vague. L'agent ne sait pas quel aspect est important, ce que signifie « améliorer » ni à quel moment il doit s'arrêter.
Une consigne plus appropriée serait la suivante : mettre à jour le formulaire de contact de manière à ce que les soumissions valides soient enregistrées correctement, que les adresses e-mail non valides soient rejetées, que la mise en page actuelle reste inchangée et que tous les tests du formulaire de contact soient réussis.
La deuxième version permet à Hermès d'obtenir un résultat quantifiable. Elle réduit également le risque que l'agent modifie des parties du site web qui n'ont aucun rapport avec la tâche demandée.
Cette distinction revêt une importance particulière dans pratiquement tous les types de projets.
“ Étudier nos concurrents ” laisse trop de décisions en suspens. Un objectif plus pertinent consisterait à demander à Hermès de comparer cinq concurrents nommément cités en termes de tarification, de public cible, de caractéristiques des produits et de positionnement, en s'appuyant sur les informations publiques disponibles et en identifiant les données manquantes.
“ Organiser ces fichiers ” est tout aussi vague. Une formulation plus précise consisterait à demander à Hermès de trier les archives d'images par année et par mois, de conserver les fichiers d'origine, de placer les images ne comportant pas d'informations de date exploitables dans un dossier distinct et de vérifier que le nombre total de fichiers n'a pas changé.
L'objectif doit décrire un résultat final qu'une autre personne pourrait vérifier.
Définissez clairement les limites du projet
Un agent persistant peut intervenir à plusieurs étapes, ce qui rend le contrôle de la portée d'autant plus important.
Hermes doit savoir quels fichiers, dossiers, systèmes ou documents font partie de la mission. Il doit également savoir ce qu'il ne doit pas modifier.
Dans le cadre d'un projet logiciel, ces instructions peuvent limiter le travail au service de facturation et aux tests qui s'y rapportent. Pour une révision de documents, elles peuvent désigner un dossier précis et interdire toute recherche externe. Pour une mise à jour de site web, elles peuvent protéger la navigation, les paramètres d'analyse et la configuration de production.
Les limites sont utiles à trois égards.
Premièrement, elles empêchent l'agent de transformer une tâche locale en une refonte plus vaste. Deuxièmement, elles facilitent la révision finale, car l'utilisateur sait où les modifications auraient dû être apportées. Troisièmement, elles réduisent le risque d'endommager inutilement les parties fonctionnelles du projet.
Une limite bien définie n'a pas besoin d'être technique. Elle peut être aussi simple que : travailler uniquement avec les documents du dossier de recherche « Q3 » et ne pas utiliser de sources externes.
Plus le projet est sensible, plus la délimitation doit être précise.
Protéger ce qui ne doit pas changer
Un projet comporte souvent des exigences qui risquent d'être compromises lors de la résolution du problème principal.
Une correction logicielle peut nécessiter de conserver l'API publique, les formats de fichiers existants ou la structure de la base de données. Un projet de contenu peut nécessiter de conserver les allégations approuvées, la formulation juridique ou la terminologie de la marque. Une tâche de gestion de fichiers peut nécessiter de conserver les noms d'origine et d'éviter d'écraser les doublons.
Ces contraintes doivent être précisées avant le lancement d'Hermès.
Par exemple, une mise à jour relative à l'authentification pourrait exiger de l'agent qu'il conserve le comportement actuel en matière de connexion, la procédure de réinitialisation du mot de passe et le format du jeton. Une révision d'un rapport pourrait lui demander de ne pas modifier les chiffres approuvés ni de supprimer les mentions légales réglementaires.
En l'absence de telles instructions, l'agent risque de résoudre le problème apparent en modifiant un élément dont l'organisation dépend ailleurs.
L'objectif devrait donc comporter deux éléments : ce qui doit s'améliorer et ce qui doit rester inchangé.
Définir comment le résultat sera vérifié
Hermès a besoin d'un moyen fiable de déterminer si le travail est terminé.
Dans les projets logiciels, la vérification peut consister à valider une suite de tests, à réussir une compilation, à obtenir un résultat de benchmark ou à effectuer une exécution d'essai. Dans le domaine de la recherche, elle peut consister à couvrir tous les sujets requis, à vérifier chaque source et à identifier les contradictions non résolues. Dans le cadre d'un traitement de fichiers, elle peut consister à vérifier que le nombre de fichiers avant et après l'opération correspond.
“ Vérifier que tout fonctionne ” n'est pas un critère de validation pertinent.
Une consigne plus stricte préciserait que l'objectif n'est atteint que lorsque les tests concernés sont réussis et que la compilation s'est déroulée sans problème. Pour un rapport, la consigne pourrait exiger que toutes les entreprises citées soient prises en compte et que chaque affirmation factuelle soit accompagnée d'une source vérifiable. En matière d'organisation des fichiers, elle pourrait exiger la confirmation qu'aucun élément n'a été supprimé ou écrasé.
La vérification doit reposer sur des preuves, et non sur la simple affirmation de l'agent selon laquelle il est sûr de lui.
Le résultat final est beaucoup plus facile à examiner lorsque la norme a été définie avant le début des travaux.
Dis à Hermès quand s'arrêter et demande-lui
L'autonomie fonctionne mieux lorsque ses limites sont clairement définies.
Certaines décisions ne doivent pas être prises par l'agent sans autorisation préalable. Il peut s'agir notamment de la suppression de données, de la modification d'une interface publique, de l'ajout d'un service payant, de la modification d'un système de production ou du choix entre deux options commerciales présentant des différences substantielles.
Une condition d'arrêt indique à Hermès quand il doit marquer une pause et demander des conseils.
Par exemple, l'agent pourrait être autorisé à corriger des erreurs au sein de l'architecture existante de l'application, mais serait tenu de s'arrêter si la solution nécessite une migration de base de données. Un agent de recherche pourrait continuer à collecter des preuves publiques, mais s'arrêter lorsque deux sources officielles se contredisent. Une tâche de gestion de fichiers pourrait s'arrêter lorsque deux fichiers seraient sur le point d'être enregistrés au même emplacement sous le même nom.
Cela permet à l'agent d'effectuer de manière autonome les étapes courantes tout en préservant le contrôle humain sur les décisions importantes.
L'objectif n'est pas de supprimer totalement la supervision. Il s'agit plutôt de la réserver aux situations où un jugement est réellement nécessaire.
Pour les projets plus complexes, recourez à un contrat d'achèvement
Un objectif simple peut suffire pour une tâche de petite envergure. Les projets de plus grande envergure gagnent à faire l'objet d'une description plus structurée.
Hermes peut fonctionner à partir d'un contrat de réalisation qui définit le résultat escompté, la méthode de vérification, les contraintes, les limites et les conditions d'arrêt.
Un projet de recherche de produits, par exemple, pourrait définir comme résultat des résultats fiables pour les noms exacts de produits, les noms partiels et les termes de catégorie. La vérification pourrait nécessiter qu’une série de recherches types renvoie les produits attendus. Des contraintes pourraient protéger les données relatives aux prix, au paiement et aux catégories. Le périmètre pourrait limiter les modifications apportées au service de recherche et aux tests associés. Une condition d’arrêt pourrait exiger une validation préalable à l’introduction d’un nouveau fournisseur externe.
Cette structure est utile car elle permet d'éviter deux types de défaillances courantes.
Le premier cas est celui de l'achèvement prématuré, où l'agent modifie un élément visible du projet et considère que le travail est terminé. Le second cas est celui de l'extension incontrôlée, où il commence à modifier des systèmes adjacents qui n'ont jamais fait partie de la mission.
Pour les travaux importants, un contrat d'achèvement vaut souvent la peine de consacrer quelques minutes supplémentaires à sa rédaction.
Fournissez à l'agent les éléments de preuve dont il a besoin
Hermès ne peut évaluer les progrès qu'à l'aune des informations figurant dans l'objectif.
Des termes tels que “ meilleur ”, “ plus rapide ”, “ plus propre ” ou “ plus professionnel ” sont trop subjectifs s'ils ne sont pas précisés.
“ Améliorer les performances ” peut signifier des temps de réponse plus courts, une consommation de mémoire réduite, une baisse des coûts d'infrastructure ou une meilleure gestion en cas de trafic intense. L'agent doit savoir lequel de ces aspects est le plus important.
Une instruction plus utile consisterait à demander à Hermes de réduire le temps de traitement d'un script d'importation de 12 minutes à moins de huit minutes sur un ensemble de données d'exemple donné, tout en conservant le format de sortie actuel et en maintenant l'utilisation de la mémoire en dessous d'une limite spécifiée.
La même approche s'applique au contenu.
Au lieu de demander à Hermès d“” améliorer le rapport », précisez-lui qu’il doit réduire les répétitions, conserver tous les chiffres vérifiés, structurer le contenu autour de trois questions bien définies et veiller à ce que le document final ne dépasse pas une longueur donnée.
Plus la norme est claire, moins l'agent dispose de marge de manœuvre pour déclarer avoir atteint ses objectifs en se fondant sur sa propre interprétation.
Suivre le projet sans en gérer chaque étape
La commande /goal permet d'éviter les demandes répétées, mais l'utilisateur peut toujours vérifier et contrôler le travail effectué.
Utilisez la commande /goal status pour afficher l'objectif actif et l'état d'avancement du processus. Utilisez la commande /goal show pour consulter l'objectif actuel ou le contrat d'achèvement. Utilisez la commande /goal pause lorsque le travail doit être interrompu temporairement, et /goal resume lorsque vous êtes prêt à ce qu'Hermes reprenne le travail. Utilisez la commande /goal clear lorsque l'objectif n'est plus d'actualité et doit être supprimé.
La mise en suspens est utile lorsque le projet reste d'actualité, mais que l'approche doit être réexaminée. L'annulation est plus appropriée lorsque la mission a considérablement changé ou doit être abandonnée.
Ces commandes permettent à l'utilisateur d'exercer un contrôle au niveau du projet plutôt qu'au niveau de la réponse.
Vous n'avez pas besoin de superviser chaque étape. Vous devez toutefois vérifier si le projet continue d'évoluer vers le résultat escompté.
Réorienter le travail sans tout recommencer
Il peut arriver qu'un projet doive être adapté une fois qu'Hermès a démarré.
Il se peut que l'objectif initial soit toujours valable, mais que l'agent utilise une approche qui ne vous convient pas. Vous devrez peut-être empêcher une modification de la base de données, ajouter un test manquant ou restreindre les sources de recherche.
La commande /steer permet de donner une nouvelle orientation à Hermès tout en conservant l'objectif en cours. Vous pouvez par exemple lui demander de ne pas modifier le schéma de la base de données et de trouver une solution au sein même de l'application.
La commande /subgoal permet d'ajouter une condition supplémentaire à la réussite. Par exemple, vous pouvez exiger que des tests soient effectués sur des fichiers d'entrée vides ou mal formés avant que l'objectif principal ne soit considéré comme atteint.
Ces commandes sont utiles car elles permettent de modifier le projet sans le remplacer. L'objectif initial reste inchangé, tandis que le cheminement ou les critères d'acceptation gagnent en précision.
C'est préférable à interrompre sans cesse l'agent avec des consignes hors sujet qui rendent progressivement le projet plus difficile à suivre.
Évitez de gaspiller des tours dans des processus qui prennent beaucoup de temps
Certaines tâches comprennent des compilations, des suites de tests, des importations de données ou d'autres processus qui prennent plusieurs minutes.
Un agent qui vérifie sans cesse si une commande exécutée en arrière-plan est terminée peut gaspiller des tours inutilement et semer la confusion.
Hermes propose la commande /goal wait pour ce cas de figure. Cette commande indique au processus « goal » d'attendre la fin d'un processus d'arrière-plan spécifié avant de poursuivre. L'utilisateur peut ajouter une brève explication, par exemple « en attente des tests d'intégration » ou « en attente de l'importation des données ».
Utilisez la commande /goal unwait lorsque le processus a été arrêté, remplacé ou qu'il n'a plus d'importance.
Ce contrôle s'avère particulièrement utile lorsque la vérification prend plus de temps que la modification elle-même. Hermes peut attendre le résultat au lieu de demander à plusieurs reprises au système si le processus est terminé.
Demandez un rapport de fin de mission concis
Un projet en plusieurs étapes doit aboutir à un résultat pouvant être examiné rapidement.
L'objectif initial peut consister à demander à Hermes de signaler les modifications apportées, les fichiers qui ont été modifiés, les tests ou vérifications qui ont été effectués, s'ils ont abouti et quelles sont les limitations qui subsistent.
Dans le cadre d'une recherche, le rapport final pourrait recenser les sources utilisées, les points de convergence, les contradictions non résolues et les hypothèses qui doivent encore être confirmées.
En ce qui concerne la gestion des fichiers, il pourrait indiquer le nombre de fichiers traités, le nombre de fichiers déplacés avec succès, ceux qui n'ont pas été triés et s'il y a eu des doublons.
Le rapport ne doit pas reprendre l'historique complet du projet. Son objectif est de permettre la vérification des résultats.
Une fois qu'Hermès a effectué plusieurs itérations, ce résumé final évite à l'utilisateur d'avoir à reconstituer le résultat à partir de l'intégralité de la conversation.
Une méthode pratique pour définir un objectif Hermes
Un objectif utile peut être défini en sept étapes.
1. Indiquez le résultat final
Décrivez ce qui devra être le cas une fois le projet achevé.
Au lieu de demander à Hermes d'examiner une demande, demandez-lui d'identifier et de corriger la cause d'un échec spécifique.
2. Définir le périmètre
Indiquez les fichiers, dossiers, services ou documents inclus dans le travail.
3. Protéger les contraintes
Précisez ce qui ne doit pas changer, comme une interface publique, une conception, un format de fichier ou une formulation approuvée.
4. Définir la vérification
Précisez les tests, vérifications, comparaisons ou éléments qui permettront de prouver que la tâche est terminée.
5. Ajouter une condition d'arrêt
Identifiez les décisions qui nécessitent une validation humaine.
6. Laissez Hermes se charger des étapes intermédiaires
Vérifiez l'avancement avec la commande /goal status. Réorientez le processus avec la commande /steer, ajoutez des exigences avec la commande /subgoal ou mettez le processus en pause si nécessaire.
7. Examiner les éléments de preuve
Lisez le rapport final, examinez les modifications et vérifiez que la vérification convenue a bien été effectuée.
Ce processus est suffisamment simple pour un usage quotidien et suffisamment précis pour éviter la plupart des erreurs évitables.
Erreurs courantes
L'erreur la plus courante consiste à fixer à Hermès un objectif trop vague. “ Améliorer l'application ” offre un champ d'action quasi illimité et ne permet pas de définir un point d'arrivée précis.
Une autre erreur consiste à regrouper plusieurs tâches sans rapport entre elles au sein d'un même objectif. La correction des tests, la refonte d'un tableau de bord, la mise à jour des dépendances et la préparation de la documentation de lancement devraient généralement être considérées comme des projets distincts. Les objectifs plus modestes sont plus faciles à vérifier, à examiner et à annuler.
Les consignes subjectives posent également des problèmes. Des expressions telles que “ Améliorez cela ” ou “ Donnez-lui un aspect professionnel ” devraient être remplacées par des exigences vérifiables.
Le fait de ne pas procéder à une vérification constitue une autre lacune fréquente. L'agent peut mener à bien le travail visible tout en laissant subsister des erreurs cachées.
Un accès étendu sans limites comporte tout autant de risques. Un agent persistant doit savoir exactement où il peut agir et quand il doit s'arrêter.
La dernière erreur consiste à utiliser /goal pour des exercices qui ne nécessitent qu'une seule réponse. Les itérations répétées demandent plus de temps et sollicitent davantage le modèle. Cette option devrait être réservée aux exercices qui tirent profit d'une exécution et d'une vérification répétées.
C'est là que cette commande prend toute sa valeur
Le développement logiciel constitue le cas d'utilisation le plus évident, car les projets comportent souvent des tests et des critères d'achèvement mesurables. Hermès peut inspecter le code, apporter une modification, exécuter les tests, analyser les échecs et répéter le processus jusqu'à ce que le résultat convenu soit atteint.
La recherche peut également donner de bons résultats lorsque les sources, les questions et les résultats attendus sont clairement définis. L'agent peut ainsi rassembler des éléments, les comparer, identifier les lacunes et rédiger un rapport final sans avoir à attendre une validation à chaque étape.
L'analyse de documents est un autre domaine où Hermes excelle. Il est capable d'examiner un dossier de contrats, d'en extraire les dates de renouvellement et les clauses de résiliation, d'identifier les passages illisibles et de générer un résumé synthétique.
L'organisation des fichiers bénéficie de la même persistance. L'agent peut examiner les métadonnées, trier les fichiers, détecter les conflits, vérifier le nombre de fichiers et signaler tout élément n'ayant pas pu être traité en toute sécurité.
Le point commun n'est pas le sujet en soi. Il s'agit plutôt de la présence de plusieurs étapes, d'un état final clairement défini et d'un moyen fiable de vérifier le résultat.
L'utilisateur reste propriétaire du projet
La commande /goal permet de gérer la persistance. Elle ne permet pas de déterminer si le projet en lui-même en vaut la peine.
Hermès peut mener à bien une tâche inadaptée avec efficacité si l'objectif est mal choisi. Il peut optimiser un rapport que personne ne lit, automatiser un processus qui devrait être supprimé ou maintenir une exigence qui ne sert plus les intérêts de l'organisation.
Le jugement humain reste primordial, tant au début qu'à la fin.
C'est l'utilisateur qui détermine quel résultat est important, quels compromis sont acceptables, ce que l'agent est autorisé à modifier et quels éléments seront considérés comme une réalisation. Hermès se charge d'une grande partie du travail intermédiaire. L'utilisateur examine ensuite le résultat et décide de l'accepter, de le modifier ou de le rejeter.
Cette distinction est plus utile que la promesse d'une autonomie totale. Hermes assure la pérennité ; le responsable du projet conserve la responsabilité.
Transformer une conversation en projet piloté
Le principal avantage de /goal réside dans le fait qu'une mission en plusieurs étapes n'a plus besoin d'être gérée à l'aide d'une longue série de demandes de suivi improvisées.
Un objectif bien formulé donne Hermès : un objectif durable, une définition de l'achèvement et une marge suffisante pour corriger les résultats partiels. Les limites maintiennent le travail dans le périmètre prévu. Les contraintes protègent les systèmes et les exigences qui doivent rester stables. La vérification empêche le processus de se terminer par une affirmation non étayée. Les conditions d'arrêt réservent les décisions importantes à une personne.
Cette commande fonctionne mieux lorsque la destination est déjà libre.
Définissez ce qui doit être vrai, comment cela sera vérifié et à quel moment Hermès doit demander de l'aide. L'agent peut alors gérer une grande partie du parcours entre l'instruction initiale et le résultat vérifié.
