Aller au contenu
Chapitre 06 · 9 min

Les garde-fous et la configuration à copier-coller

Plusieurs agents en parallèle, c'est plusieurs choses qui peuvent mal tourner en même temps. Les permissions sont votre moyen de limiter le rayon d'impact. Voici les règles, puis un unique bloc à coller pour tout configurer.

Plus de mains qui bougent en même temps, c'est plus de façons de renverser quelque chose. Verrouillez les tiroirs dangereux avant l'arrivée de l'équipe.

directsbounded byshipsAn orchestratorWorker agentsGuardrailsA result
An orchestrator directs worker agents within guardrails to ship a result.

Verrouiller les permissions

Dans `settings.json`, autorisez les outils dont l'équipe a besoin et refusez ceux qui causent des dégâts irréversibles. `defaultMode: "acceptEdits"` laisse les agents éditer sans confirmation à chaque changement, pour que l'équipe avance ; la liste de refus est ce qui rend cela sûr.

jsonCopier le prompt
{
  "permissions": {
    "allow": [
      "Read", "Glob", "Grep", "Edit",
      "Write(src/**)", "Write(tests/**)",
      "Bash(npm test *)", "Bash(npx tsc *)",
      "Bash(git add *)", "Bash(git commit *)"
    ],
    "deny": [
      "Read(**/.env*)", "Read(**/.ssh/**)",
      "Bash(rm -rf *)", "Bash(sudo *)",
      "Bash(git push *)", "Bash(npm publish *)"
    ],
    "defaultMode": "acceptEdits"
  }
}

Les motifs suivent la forme `Tool(glob)` : un simple `*` correspond à un segment, `**` est récursif. `defaultMode` accepte aussi d'autres valeurs (`default`, `plan`, et plus), mais `acceptEdits` est celle qui convient à une équipe en marche.

La configuration à copier-coller

Les variables d'environnement pour votre profil shell :

bashCopier le prompt
# Add to ~/.zshrc or ~/.bashrc
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
export CLAUDE_CODE_SUBAGENT_MODEL="claude-sonnet-4-6"
export CLAUDE_CODE_EFFORT_LEVEL=high
export CLAUDE_CODE_DISABLE_ADAPTIVE_THINKING=1

Un bloc de garde-fous minimal pour `settings.json` :

jsonCopier le prompt
{
  "permissions": {
    "allow": ["Read", "Glob", "Grep", "Edit", "Write(src/**)", "Write(tests/**)"],
    "deny": ["Read(**/.env*)", "Bash(rm -rf *)", "Bash(git push *)"],
    "defaultMode": "acceptEdits"
  }
}

Avant et après

  • Avant (solo) : une tâche à la fois ; vous écrivez, relisez, testez et committez en séquence ; une fonctionnalité en quatre parties prend une journée ; le contexte gonfle à chaque changement de sujet.
  • Après (équipe) : backend, frontend, tests et revue tournent en même temps ; la même fonctionnalité est terminée en quelques heures ; chaque agent a un contexte propre et ciblé ; vous relisez et fusionnez.

En une ligne chacun

  • Autorisez les outils dont l'équipe a besoin ; refusez les irréversibles (rm -rf, git push, lecture des secrets).
  • defaultMode: acceptEdits fait avancer l'équipe ; la liste de refus est ce qui rend cela sûr.
  • La configuration tient en un bloc de variables d'environnement plus un bloc de permissions ; rien d'autre ne change dans votre abonnement ou votre outillage.
Les garde-fous et la configuration à copier-coller · Cours d'IA · SDEN