Depuis des mois, un agent lit ma boîte mail. Un agent, c'est un programme piloté par un modèle de langage, et qui peut agir : lire, trier, écrire. Le mien s'occupe des propositions de mission. Il les trie, il les évalue, il rédige les réponses.
Reste une question : qui appuie sur envoyer ?
TL;DR : mon agent lit tout et rédige tout, sans me demander. Mais pour envoyer, chaque type de réponse a sa règle. Une question simple part toute seule, deux fois maximum, avec un délai. Un refus attend toujours mon clic. Une mission sérieuse revient toujours vers moi. Et ces règles vivent dans le code : aucun prompt ne peut les changer.
Cet article est pour les devs qui veulent brancher un agent sur leur messagerie sans lui donner leur signature.
OpenClaw a rendu la question concrète
OpenClaw, c'est l'assistant IA open source qui a explosé cette année. Il tourne chez toi. Il lit tes messages. Et il peut y répondre à ta place.
La sécurité n'a pas suivi. Censys a compté 21 639 instances ouvertes sur internet. Le marketplace d'extensions a hébergé plus d'un millier de paquets malveillants. Krebs on Security en a fait une enquête.
Ces failles-là se corrigent avec des patchs. Mais une question reste, même tout patché : tu laisses une machine parler en ton nom à un inconnu ?
Moi, je vis avec cette question. Mon agent tourne en production, sur ma vraie boîte. Voici les règles que je lui ai données, et pourquoi.
Le vrai risque, c'est ce qui sort
Quand l'agent lit, je risque mes données. C'est sérieux, mais ça se maîtrise : il tourne en local, avec le minimum d'accès.
Quand l'agent écrit à un inconnu, je risque mon nom. Un brouillon raté se corrige en deux secondes. Un mail raté, parti chez un prospect, ne s'efface plus.
Donc ma règle ne porte pas sur ce que l'agent sait faire. Elle porte sur ce qui sort.
Ce que l'agent fait tout seul
Toute la lecture et toute la préparation tournent sans moi.
D'abord, un filtre tout bête. L'email doit contenir au moins deux mots du monde des missions. Pas d'IA ici : une liste de mots, rapide et prévisible. Les newsletters s'arrêtent là.
Ensuite, un modèle local lit le mail. Il remplit une grille de cinq critères : stack, type de contrat, date de démarrage, tarif, télétravail. Chaque critère reçoit un verdict : GO, NO_GO ou inconnu.
Enfin, un modèle cloud rédige une réponse dans mon style. Résultat : un brouillon. Rien d'autre.
Je ne relis aucune de ces étapes. Si l'agent se trompe ici, ça ne coûte rien. Rien n'est parti.
Ce qu'il envoie seul, et ce qu'il n'enverra jamais
Au moment de répondre, l'agent choisit une action. Chaque action a sa propre règle d'envoi. C'est un switch en Go, pas une humeur du modèle.
Il manque le tarif ou le télétravail ? L'agent pose la question, et il l'envoie tout seul. Une question simple n'engage rien.
Refuser une mission ? Jamais tout seul. Un refus ferme une porte, avec mon nom en bas. Le brouillon attend mon clic. Dans le code, l'envoi automatique est interdit en dur pour cette action.
Envoyer mon dossier de compétences ? Jamais tout seul non plus.
Et quand une mission coche au moins trois critères sur cinq, sans aucun NO_GO ? L'agent arrête de répondre. Il me résume le fil et me passe la main.
Regarde bien la logique. Plus la conversation devient sérieuse, moins l'agent a de droits. Jamais l'inverse.
Deux garde-fous, même sur les questions simples
Même l'envoi automatique des questions garde deux limites.
Un plafond : deux envois automatiques par conversation. C'est un compteur dans le code, pas une promesse dans le prompt. Au troisième échange, tout redevient brouillon. Une boucle avec un inconnu doit s'arrêter toute seule.
Un délai : chaque envoi attend entre deux et six heures, au hasard. La réponse a l'air humaine. Et pendant l'attente, le brouillon reste visible dans ma boîte. Je le supprime, l'envoi échoue. Ce délai, c'est mon droit de veto.
Les règles vivent dans le code, pas dans le prompt
Mon agent démarre dans un mode, choisi par un flag : draft, hybrid ou review. En draft, rien ne part jamais. En hybrid, seules les questions simples partent seules. En review, tout attend ma validation.
Le prompt ne décide rien là-dedans. C'est le point le plus important de cet article.
Pourquoi ? À cause de l'injection de promptUn texte reçu (email, message, page web) écrit pour manipuler le modèle et détourner ses instructions. Wikipédia (en). Un email piégé peut convaincre un modèle de changer d'avis. Il ne peut pas changer un flag compilé.
J'ai déjà testé cette philosophie sur les permissions : mon agent a tenté de supprimer mes secrets, il n'a pas pu. L'envoi suit la même règle. Elle s'impose en dehors du modèle.
Et quand je veux tout valider : le mode review
Parfois je veux zéro envoi automatique. Je passe en mode review.
Chaque réponse arrive alors dans une petite interface web, chez moi, jamais exposée sur internet. Trois boutons : valider, corriger, rejeter. Si je rejette, j'explique en une phrase, et l'agent réécrit le brouillon avec mon retour. Chaque décision part dans un journal, pour réentraîner plus tard.
Pour LinkedIn, je vais encore plus loin. Une extension colle la réponse dans le champ de message. Elle n'envoie jamais. Le clic final reste à moi, physiquement.
La checklist pour ton agent
Une règle par type d'action, jamais par conversation.
- Liste ce que ton agent peut faire, action par action
- Pour chaque action, trois questions : réversible ? mon nom ? un inconnu ?
- Laisse la lecture et la préparation tourner sans validation
- N'autorise l'envoi seul que pour les questions simples, avec un plafond
- Ajoute un délai avant chaque envoi auto : c'est ton droit de veto
- Mets les règles dans le code, flag ou switch, jamais dans le prompt
- Garde une trace de chaque décision, pour relire plus tard
- Garde l'interface de validation en local, loin d'internet
Ce qu'il faut retenir
Alors, tu le laisses faire ? Lire, trier, préparer : oui, à fond. Parler à des inconnus : chaque action a sa règle, avec un plafond, un délai, et un mode où tout passe par toi.
OpenClaw n'a pas créé ce problème. Il l'a mis à l'échelle. La liberté de ton agent est une décision d'architecture, pas une ligne de prompt.
Tu veux brancher un agent sur ta messagerie sans lui donner ta signature ? Parlons-en.