Accueil / Plusieurs agents et vérification adverse
Retirer l'outil avant d'écrire l'interdit
Une consigne qui interdit oriente ce qu'un agent tente sans rien empêcher : la protection qui tient lui retire d'abord les outils dont sa mission n'a pas besoin, puis la liste fermée des effets attendus et l'interdit par classe viennent en deuxième et troisième lignes, comme consignes.
Prenons un cas type. Un agent de relecture reçoit une consigne qui lui interdit deux choses : écrire un fichier, envoyer un message. Il a accès au terminal, l'outil qui exécute des commandes du système. Pendant la relecture, il lance une commande qui transmet le document à un appareil du réseau. La consigne ne nommait pas cet effet, et la configuration de l'agent ne l'empêchait pas.
Une consigne oriente, elle ne borne pas
Allonger la liste des interdits est le premier réflexe, et il bute sur deux limites. La liste laisse permis ce qu'elle n'a pas prévu. Surtout, une consigne reste un texte que l'agent lit : la page des permissions de Claude Code le dit des indications placées dans CLAUDE.md, qui orientent ce que Claude tente sans imposer de frontière, et elle recommande de les doubler d'un mécanisme qui s'applique vraiment. Un interdit rédigé par classe, tout effet hors du dossier confié, couvre plus de cas qu'une énumération, mais il reste une consigne.
Trois lignes, dans cet ordre
La première ligne retire l'accès. Un sous-agent de Claude Code déclare dans son en-tête le champ tools, la liste des seuls outils qu'il peut employer, ou le champ disallowedTools, la liste des outils retirés de ceux qu'il hérite. Les deux ne protègent pas autant : la documentation précise qu'un agent déclaré avec disallowedTools: Write, Edit garde le terminal et les outils des connecteurs MCP, donc de quoi produire l'effet du cas décrit.
---
name: relecteur
description: Relit un document et rend ses remarques dans sa réponse
tools: Read, Grep, Glob
---
Votre seul livrable est la liste de vos remarques, rendue dans votre réponse finale.
Tout effet hors de cette réponse sort de votre mission : fichier, message, commande, appareil.
La deuxième ligne est la liste fermée des effets attendus, ici un seul : la réponse. Elle va plus loin qu'un interdit par classe, puisque ce qui n'est pas prévu sort de la mission sans avoir été nommé, mais elle reste un texte que l'agent lit, donc une consigne qui oriente sans imposer de frontière. La troisième ligne, l'interdit par classe, sert de rappel lisible. Un agent qui doit garder le terminal reçoit sa première ligne autrement : par les règles de permission, et par le bac à sable, une isolation imposée par le système d'exploitation aux commandes du terminal, que la même page désigne pour protéger fichiers et réseau sans dépendre du texte de la commande. D'après sa page, le bac à sable tourne sous macOS, Linux et WSL2, et Windows natif n'est pas pris en charge.
La leçon sur le point de contrôle humain traite l'action irréversible qui attend un accord ; celle-ci retire l'occasion en amont. Le module suivant applique la même logique aux commandes, avec une liste blanche plutôt qu'un motif interdit.
Ce qui reste accessible à un agent de relecture
| Configuration | Éditer un fichier par l'outil dédié | Lancer une commande du terminal | Appeler un outil MCP |
|---|---|---|---|
| Consigne seule, outils hérités | Accessible, la consigne demande de s'abstenir | Accessible | Accessible |
| disallowedTools: Write, Edit | Retiré | Accessible | Accessible |
| tools: Read, Grep, Glob | Retiré | Retiré | Retiré |
Un agent de relecture est déclaré avec un en-tête qui retire de ses outils hérités ceux qui écrivent et modifient des fichiers, et avec une consigne qui lui interdit d'écrire un fichier et d'envoyer un message. Pendant la relecture, il lance depuis le terminal une commande qui transmet le document à un appareil du réseau. Le journal de la session affiche la commande et sa sortie.
Écrivez en une phrase ce que cette situation établit, et en une phrase ce qu'elle n'établit pas.
Ce que cela établit : Elle établit que le terminal restait accessible à l'agent après le retrait des outils d'écriture, et qu'il s'en est servi pour un effet que ni ce retrait ni la consigne ne couvraient.
Ce que cela n’établit pas : Elle n'établit pas qu'une consigne rédigée par classe, tout effet hors du dossier confié, aurait empêché la commande, ni que le document est arrivé sur l'appareil : le journal montre la commande et sa sortie, pas ce que l'appareil en a fait.
Les trois calibrages faux les plus courants
- Trop large La situation établit que la configuration de l'agent laissait passer les commandes du terminal, y compris celles qui écrivent un fichier.
- Trop étroit La situation établit qu'il manquait à la consigne un interdit sur les appareils du réseau, et qu'il suffit de l'ajouter pour fermer le cas.
- À côté La situation établit que le document relu contenait une instruction cachée qui a poussé l'agent à le transmettre.
- Un interdit écrit dans une consigne change ce que l'agent essaie, pas ce qu'il peut faire.
- Le champ tools d'un sous-agent fixe les seuls outils accessibles, alors que disallowedTools retire quelques outils d'un ensemble hérité qui garde tout le reste.
- Une liste fermée des effets attendus fait sortir l'imprévu de la mission sans avoir à le nommer, tout en restant une consigne que rien n'impose.
- Quand un agent garde le terminal, les règles de permission et le bac à sable prennent le relais de l'outil qu'on n'a pas pu retirer.
Ouvrez l'en-tête d'un sous-agent que vous utilisez, notez les outils qu'il hérite, remplacez-les par un champ tools qui ne garde que ceux dont sa mission a besoin, puis écrivez dans son texte la liste des effets qu'il doit produire.
Chaque affirmation datable de cette leçon renvoie ici au texte public qui la porte. Une source qui ne s’ouvre pas ne prouve rien.
- Claude Code, sous-agents, champs tools et disallowedTools, consultée le 2026-09-28 consultée le 2026-09-28
- Claude Code, configurer les permissions, consultée le 2026-09-28 consultée le 2026-09-28
- Claude Code, bac à sable des commandes, systèmes pris en charge, consultée le 2026-09-28 consultée le 2026-09-28