Agents
Les agents sont des surcharges de configuration appliquées par-dessus la configuration globale. Ils regroupent un prompt système, un prompt de compaction, un modèle actif, un ensemble d'outils disponibles et des règles d'approbation.
Le CLI est livré avec plusieurs agents intégrés, et vous pouvez définir les vôtres.
Agents intégrés
| Agent | Comportement |
|---|---|
ask | Demande une approbation avant d'exécuter des outils. Anciennement nommé default. |
accept-edits | Agent par défaut. Approuve automatiquement les modifications de fichiers dans le répertoire de travail. Continue de demander une approbation pour les autres actions (par exemple, les commandes shell). |
smart-approve | Classe chaque appel d'outil, exécute ceux qu'il juge sûrs et demande une approbation avant les appels risqués. Voir Validation intelligente. |
auto-approve | Approuve automatiquement toutes les exécutions d'outils. Utilisez uniquement dans un environnement de confiance et sandboxé : cet agent peut exécuter des commandes arbitraires comme rm -rf sur tout chemin accessible par Vibe. Indisponible lorsque votre administrateur définit enable_auto_approve = false. |
lean | Agent spécialisé pour l'assistant de preuve Lean 4. Installez-le avec /leanstall depuis la CLI et supprimez-le avec /unleanstall. |
Vibe 3.0 supprime l'agent plan. Si votre configuration définit encore default_agent = "plan" et que vous n'avez pas d'agent personnalisé nommé plan, Vibe affiche un avertissement et démarre les sessions avec ask à la place. Pour conserver un workflow de planification, créez votre propre agent plan.
L'agent peut également déléguer du travail à des sous-agents, par exemple pour explorer une grande base de code sans remplir son propre contexte. Vous ne pouvez pas sélectionner de sous-agents avec --agent. Voir Sous-agents personnalisés.
Sélectionner un agent
Choisissez un agent au lancement :
vibe --agent ask
vibe --agent auto-approveDans les sessions interactives, changez d'agent à la volée avec Maj+Tab.
Définissez l'agent par défaut dans config.toml :
default_agent = "ask"default_agent s'applique à la fois aux sessions interactives et programmatiques (--prompt). Pour approuver tous les appels d'outils d'une même exécution, quel que soit l'agent, utilisez l'option --auto-approve (ou son alias --yolo). Vibe ignore ces options lorsque votre administrateur définit enable_auto_approve = false.
Agents personnalisés
Créez des agents personnalisés dans ~/.vibe/agents/ (au niveau de l'utilisateur) ou ./.vibe/agents/ (au niveau du projet) en ajoutant un fichier .toml. Définissez le type d'agent avec agent_type :
agent_type = "agent"(par défaut) : destiné à l'utilisateur. Sélectionnable viavibe --agent <name>ouShift+Tab.agent_type = "subagent": réservé à la délégation. Lancé par l'agent lorsqu'il délègue du travail. Non sélectionnable par l'utilisateur.
Exécutez un agent personnalisé avec son nom de fichier :
vibe --agent redteamLe CLI recherche redteam.toml dans le répertoire des agents et applique sa configuration.
Exemple : un agent de révision red-team en lecture seule.
# ~/.vibe/agents/redteam.toml
agent_type = "agent"
display_name = "Red team"
description = "Read-only audit agent for security review."
safety = "safe"
active_model = "mistral-medium-3.5"
system_prompt_id = "redteam"
disabled_tools = ["edit", "write_file"]
[tools.bash]
permission = "ask"
[tools.read_file]
permission = "always"Le champ safety change la couleur de la bordure de la zone de saisie dans la CLI pour signaler le niveau de sécurité de l'agent. Les options sont safe, neutral, destructive, smart et yolo. Il s'agit d'un simple indicateur visuel qui ne contrôle pas les autorisations ; associez-le donc à des enabled_tools, disabled_tools et autorisations par outil appropriés. Seule exception : lorsque enable_auto_approve vaut false, Vibe masque tout agent avec safety = "yolo".
La valeur system_prompt_id désigne un fichier Markdown dans ./.vibe/prompts/ (dossiers de confiance uniquement) ou ~/.vibe/prompts/. L'exemple ci-dessus attend redteam.md.
Le prompt d'un agent personnalisé s'applique uniquement si vous sélectionnez l'agent avant votre premier message, avec --agent ou Shift+Tab. Si vous changez d'agent par la suite, les outils, autorisations et modèle du nouvel agent prennent effet, mais le prompt ne change qu'après /clear.
Créer un agent plan
Pour explorer une base de code et convenir d'un plan avant toute modification de fichier, définissez un agent en lecture seule nommé plan :
# ~/.vibe/agents/plan.toml
display_name = "Plan"
description = "Explores the codebase and proposes a plan before any change."
safety = "safe"
disabled_tools = ["edit", "write_file"]
instructions = """
Explore the codebase and propose a step-by-step implementation plan.
Don't modify any file until the user approves the plan.
"""
[tools.bash]
permission = "ask"Démarrez avec vibe --agent plan, ou définissez default_agent = "plan". L'agent peut lire les fichiers et exécuter des commandes shell en lecture seule, et demande une approbation avant toute autre commande. Une fois le plan approuvé, appuyez sur Shift+Tab pour passer à accept-edits et demandez à l'agent de le mettre en œuvre. Les instructions ci-dessus restent dans la conversation et autorisent la modification une fois que vous l'approuvez.
Sous-agents personnalisés
Les sous-agents s'exécutent indépendamment et renvoient des résultats sous forme de texte à l'agent parent. L'agent les lance lorsqu'il souhaite déléguer de l'exploration ou du travail en arrière-plan. Sans sous-agent personnalisé, il peut lancer un sous-agent générique qui utilise les mêmes instructions et outils que lui.
Créez un sous-agent personnalisé en définissant agent_type = "subagent". La description indique à l'agent quand l'utiliser :
# ~/.vibe/agents/research.toml
agent_type = "subagent"
display_name = "Research"
description = "Read-only subagent for research tasks."
safety = "safe"
enabled_tools = ["read_file", "skill"]Les sous-agents ne peuvent pas poser de questions à l'utilisateur. Un sous-agent ne peut utiliser que les outils intégrés autorisés par son fichier, et non les outils MCP, connecteur ou plugin. Il ne dispose jamais d'autorisations plus larges que celles de l'agent parent. Les sous-agents s'exécutent toujours sur le modèle de la session et ignorent active_model. Si Vibe ne peut pas charger un fichier de sous-agent, par exemple parce que sa description est vide, il signale le problème au lieu d'ignorer silencieusement le fichier.
Pour empêcher l'agent de lancer des sous-agents, définissez enable_subagents = false dans config.toml.
Prise en charge de AGENTS.md
La CLI charge les fichiers AGENTS.md dans le contexte pour suivre les instructions d'agent propres à l'utilisateur et au projet :
- Niveau utilisateur :
~/.vibe/AGENTS.md(ou dans$VIBE_HOMEsi vous l'avez défini). - Au niveau du projet : tous les fichiers
AGENTS.md, du répertoire de travail actuel jusqu'à la racine du dossier de confiance. En cas de conflit entre les instructions, le fichier le plus proche du répertoire de travail prévaut.
Par exemple :
/
dir_1/
AGENTS.md <- never loaded: location is not trusted
dir_2/ <- trusted
AGENTS.md <- loaded
dir_3/
AGENTS.md <- loaded, takes priority over dir_2/AGENTS.md
project/ <- cwd (no AGENTS.md here)De plus, la CLI détecte automatiquement les nouveaux fichiers AGENTS.md lors de la lecture des fichiers dans les sous-dossiers.