SÉRIE HERMES AGENT ÉTAPE 4 15/24

Python et Hermes Agent : répartir les rôles dans une tâche

Sélectionne des notes avec une règle Python, puis demande une reformulation à Hermes si elle est utile. Un premier parcours simple avant d’automatiser les étapes.

DANS CE TUTORIELAller à une étape

Tu as plusieurs notes à traiter. Certaines portent déjà la mention « à relire » ; tu veux les retrouver, puis éventuellement améliorer leur formulation. Faut-il demander à Hermes de tout faire ?

Pour cette tâche, tu connais déjà la règle de sélection. Un petit programme Python peut l’appliquer. Hermes intervient ensuite si tu souhaites une reformulation. Ce partage permet de séparer une règle précise d’une proposition de texte à relire.

Tu vas essayer ce parcours sur trois notes fictives. Il n’y a aucun dossier à analyser, aucun service à connecter et aucune publication à déclencher. Le passage vers Hermes restera manuel : tu comprendras d’abord ce que chaque étape produit.

Ton point de départ

Le parcours utilise Python 3 dans le terminal Ubuntu, sous Linux ou WSL2, comme le tuto d’installation. Tu n’as pas besoin de connaître Python : le petit script et ses données sont fournis, puis expliqués.

Pour la reformulation facultative, Hermes doit déjà répondre dans une conversation. Sinon, rejoins le guide de démarrage. Tu peux faire toute la partie Python sans ouvrir Hermes.

1. Donner une tâche précise à chaque outil

Python est un langage de programmation. Ici, le script — le petit programme que tu vas lancer — sélectionne les notes dont le statut vaut exactement à relire. Il n’évalue pas leur qualité et ne décide pas lesquelles méritent ce statut : cette information est déjà présente dans les données.

Hermes reçoit une demande de reformulation. Son modèle peut proposer une phrase plus naturelle, mais cette proposition peut aussi omettre une condition ou modifier un fait. Tu compares donc le résultat avec la note d’origine.

Un workflow désigne simplement cet enchaînement de tâches. Pour notre premier essai, c’est toi qui passes de l’une à l’autre.

Python et Hermes : les rôles

Le passage par Hermes est facultatif.

Python sélectionne les notes selon le statut fourni. Si cette sélection suffit, tu la vérifies directement. Si une reformulation est utile, tu copies manuellement les notes vers Hermes, puis tu compares ses propositions aux originaux. Ce premier essai ne comporte aucun appel automatique à Hermes ni aucune publication. Le script doit lui aussi être vérifié.

Si tu veux seulement obtenir la liste des notes à relire, le script suffit. Ajouter une reformulation n’est utile que si elle répond à un besoin réel.

2. Vérifier que Python est disponible

Dans ton terminal Ubuntu, saisis :

Terminal Ubuntu · vérifier Python
python3 --version

Tu dois obtenir une version qui commence par Python 3. Si la commande est introuvable, installe Python avec le gestionnaire de paquets d’Ubuntu :

Terminal Ubuntu · seulement si Python manque
sudo apt update && sudo apt install python3

Cette commande peut demander ton mot de passe et une confirmation d’installation. Relance ensuite la vérification de version. N’utilise pas ces commandes Ubuntu dans PowerShell.

Nous n’ajoutons aucun paquet Python : les fonctions nécessaires sont déjà incluses. Le script suivant affiche du texte ; il n’écrit aucun fichier et ne contacte aucun service.

3. Sélectionner les notes avec la règle fournie

Voici le lot de départ :

NoteStatutTexte
N1à relirePour l’atelier Silex, la salle est réservée mais l’affiche attend encore la validation du texte.
N2validéeL’accueil ouvrira samedi à 9 h 30.
N3à relireOn pourra prêter le matériel seulement si le dépôt de garantie a été reçu.

Copie tout le bloc suivant dans le terminal Ubuntu, de python3 jusqu’à la dernière ligne PY. Ces deux repères permettent de donner le script directement à Python, sans créer de fichier. La dernière ligne doit rester seule, sans espace devant elle.

Terminal Ubuntu · sélectionner les notes
python3 - <<'PY'
notes = [
    {"id": "N1", "statut": "à relire", "texte": "Pour l’atelier Silex, la salle est réservée mais l’affiche attend encore la validation du texte."},
    {"id": "N2", "statut": "validée", "texte": "L’accueil ouvrira samedi à 9 h 30."},
    {"id": "N3", "statut": "à relire", "texte": "On pourra prêter le matériel seulement si le dépôt de garantie a été reçu."},
]

selection = []
for note in notes:
    if note["statut"] == "à relire":
        selection.append(note)

print(f"{len(selection)} notes à relire sur {len(notes)}")
for note in selection:
    print(f'{note["id"]} — {note["texte"]}')
PY

La liste notes contient les trois entrées. La boucle for les parcourt une par une ; la condition if conserve celles dont le statut correspond exactement à la valeur demandée. Enfin, print affiche le compte et les textes sélectionnés. Le script ne reformule rien.

4. Contrôler la sélection

Avec les données fournies, tu dois obtenir :

Sortie attendue · Python
2 notes à relire sur 3
N1 — Pour l’atelier Silex, la salle est réservée mais l’affiche attend encore la validation du texte.
N3 — On pourra prêter le matériel seulement si le dépôt de garantie a été reçu.

Vérifie trois choses : N1 et N3 sont présentes, N2 est absente, et les deux textes sont inchangés. Si le terminal signale une erreur, corrige d’abord la copie du bloc avant de passer à Hermes.

Pour comprendre la règle, tu peux refaire l’essai en remplaçant uniquement le statut de N2 par à relire. Le résultat doit alors contenir les trois notes. Remets ensuite les données d’origine pour poursuivre.

Une règle exacte a aussi des limites

Le script reconnaît à relire, mais pas À relire ni à relire avec un espace à la fin. Si tes données réelles utilisent plusieurs écritures, il faudra décider comment les traiter et adapter le code. Un résultat vide ne prouve pas qu’il n’y a aucun travail à faire : il signifie ici qu’aucun statut ne correspond exactement.

Un script peut contenir une erreur. Les contrôles, les messages d’échec et les possibilités de reprise doivent être prévus ; Python ne les ajoute pas à ta place.

5. Demander une reformulation seulement si nécessaire

Si la sélection répond à ton besoin, tu peux t’arrêter ici. Sinon, ouvre une conversation Hermes et donne-lui la demande ci-dessous. Les deux notes sont reprises pour faciliter ce premier essai ; dans ton propre usage, tu y colleras la sélection que tu viens de vérifier.

À demander à Hermes

Reformule chacune de ces deux notes en une phrase plus directe. Conserve les identifiants N1 et N3, tous les faits et toutes les conditions. Ne présente pas une action en attente comme déjà réalisée. N’ajoute aucune information et ne réalise aucune action mentionnée. Réponds dans la conversation, sans utiliser d’outil.

N1 — Pour l’atelier Silex, la salle est réservée mais l’affiche attend encore la validation du texte.

N3 — On pourra prêter le matériel seulement si le dépôt de garantie a été reçu.

Voici une réponse illustrative possible :

Exemple de réponse · Hermes

N1 — La salle de l’atelier Silex est réservée ; l’affiche attend la validation du texte.

N3 — Le prêt du matériel est possible seulement après réception du dépôt de garantie.

N1 doit toujours conserver la réservation et l’attente de validation. N3 doit conserver la condition du dépôt de garantie, sans prétendre qu’il a déjà été reçu. Les identifiants permettent de rapprocher chaque proposition de sa source. S’ils manquent ou si une condition disparaît, demande une correction et vérifie-la avant de réutiliser le texte.

La consigne « sans utiliser d’outil » ne désactive pas techniquement les accès d’Hermes. L’exercice porte sur du texte fourni : aucun outil n’est nécessaire. Le script Python, lui, n’a ni lancé Hermes ni transmis de données au modèle. C’est toi qui as fait ce passage.

6. Savoir quand relier automatiquement les étapes

Sur trois notes, le passage manuel est facile à suivre. Si tu répètes souvent cette tâche sur des lots plus grands, un programme peut ensuite organiser la sélection, demander les reformulations et récupérer les propositions. C’est à ce moment que Python peut piloter l’ensemble du parcours.

Avant de construire cette liaison, définis ce qui doit se passer dans ces cas :

SituationComportement à prévoir
Aucune note sélectionnéeTerminer avec un message clair, sans appeler le modèle.
Le modèle ne répond pasSignaler l’échec et conserver les entrées à reprendre.
Une note manque ou un identifiant est inconnuMettre la réponse de côté pour correction.
Le format est correct, mais le sens a changéPrévoir une relecture adaptée ; le format seul ne valide pas le texte.
Tu relances après un échecÉviter de répéter une action déjà effectuée, surtout un envoi ou une publication.

Le programme peut vérifier des identifiants, un nombre de réponses ou un format. Cela ne prouve pas que la reformulation est fidèle. Garde aussi une trace des entrées, des sorties et des erreurs utiles pour comprendre un problème, en tenant compte des données qu’elles contiennent.

Tu n’as pas besoin d’ajouter cette automatisation aujourd’hui. Le premier acquis est plus simple : une règle connue pour sélectionner, une proposition pour reformuler, une vérification avant réutilisation. Si ce partage suffit, conserve-le.

Pour choisir où garder une intervention humaine, poursuis avec savoir où arrêter l’automatisation. Pour des exemples de textes à traiter avant de construire un programme, retrouve les cas d’usage simples.

Références utiles

↑ Revenir au sommaire