Le mode Agent de GitHub Copilot dans VS Code planifie une tâche, édite les fichiers sur votre repo, exécute les commandes de terminal avec votre approbation, et continue jusqu’à ce que la tâche soit terminée ou qu’il ait besoin de vous. Ce lab le configure sur un petit repo Python : un fichier d’instructions, une tâche d’agent, une révision de diff, une exécution de test. Tout ci-dessous correspond à la doc VS Code et GitHub Copilot actuelle, avec les sources listées dans le front matter.

Ce que fait réellement le mode Agent

Le Chat Copilot de VS Code a trois modes intégrés, sélectionnés depuis le menu déroulant au-dessus de l’entrée de chat : Ask répond aux questions et n’édite rien, Plan écrit un plan étape par étape et attend votre approbation avant que quoi que ce soit ne change, et Agent planifie de façon autonome, édite les fichiers, exécute les commandes de terminal et invoque les outils jusqu’à ce que la tâche semble terminée. Vous pouvez basculer entre les modes en cours de conversation.

C’est une division différente des anciens écrits décrivant « Ask / Edit / Agent ». À partir d’octobre 2026, la doc VS Code liste Ask, Plan et Agent comme les trois modes intégrés, sans mode « Edit » séparé dans l’UI de chat. Si vous vous souvenez d’une chose : Agent est le mode qui touche vos fichiers et votre terminal sans un clic « apply » par chunk.

Le mode Agent nécessite un modèle avec support d’appel d’outils, un dossier d’espace de travail ouvert, et chat.agent.enabled activé (par défaut true depuis VS Code 1.99). Les sessions peuvent aussi exécuter Background (via la CLI, sans surveillance) ou Cloud (sur l’infrastructure de GitHub, ouvrant une pull request) à la place de Local ; choisissez le type de session à côté du sélecteur de mode. Ce lab utilise Local.

Étape 1 — Ouvrez un petit repo et vérifiez les bases

Créez un dossier jetable et un projet Python à deux fichiers :

# calculator.py
def total_with_discount(prices: list[float], discount_pct: float) -> float:
    """Return the total price after applying a percentage discount."""
    subtotal = sum(prices)
    return subtotal - discount_pct
# test_calculator.py
from calculator import total_with_discount

def test_discount_is_applied_as_percentage():
    assert total_with_discount([100.0, 50.0], 10) == 135.0

total_with_discount a un vrai bug : il soustrait discount_pct en tant que montant fixe au lieu de pourcentage, donc le test ci-dessus échoue. Ouvrez le dossier dans VS Code, ouvrez Preferences: Open Settings (UI), et confirmez que chat.agent.enabled est true. Ouvrez la vue Chat avec Ctrl+Alt+I et confirmez qu’Ask, Plan et Agent s’affichent dans le menu déroulant des modes.

Étape 2 — Écrivez un fichier d’instructions personnalisées du repository

Les instructions personnalisées au niveau du repository vivent dans .github/copilot-instructions.md, à la racine du repo, en tant que Markdown ordinaire :

<!-- .github/copilot-instructions.md -->
This is a small Python project that uses pytest.

- Use type hints on every function signature.
- Keep business logic in calculator.py; keep tests in test_*.py files next to it.
- When you fix a bug, add or update a test that would have caught it.
- Run `pytest -q` after making a change and report the result.

Une fois enregistré, VS Code et Copilot sur GitHub.com reprennent cela automatiquement pour chaque demande de chat dans le repo — pas de basculement à activer. Pour les règles qui s’appliquent uniquement à certains fichiers, ajoutez un fichier d’instructions spécifique au chemin à la place : créez .github/instructions/python.instructions.md avec un bloc front matter applyTo :

---
applyTo: "**/*.py"
---
Prefer explicit return types. Avoid bare `except:` clauses.

Les instructions au niveau du repository et les instructions spécifiques au chemin correspondantes sont combinées, pas l’une ou l’autre — gardez-les non-contradictoires. Sur GitHub.com lui-même, les fichiers d’instructions spécifiques au chemin s’appliquent actuellement uniquement à l’agent cloud et à la révision de code Copilot ; dans VS Code, les deux fichiers s’appliquent aux sessions de chat et d’agent.

Étape 3 — Optionnel : ajoutez un fichier de prompt réutilisable

Un fichier de prompt est une commande slash sauvegardée. Créez .github/prompts/fix-and-test.prompt.md :

---
description: Fix a failing test and verify with pytest
agent: agent
---
Run `pytest -q`. Read the first failing test and the function it tests.
Fix the implementation, not the test, unless the test itself is wrong.
Re-run `pytest -q` and report the result.

Le champ agent épingle ce prompt au mode Agent peu importe la sélection actuelle ; un champ tools peut restreindre quels outils ou outils MCP le prompt peut appeler. Tapez /fix-and-test dans l’entrée de chat pour l’exécuter.

Étape 4 — Exécutez une tâche d’agent et approuvez la commande de terminal

De retour dans la vue Chat, avec Agent sélectionné, envoyez :

pytest is failing in test_calculator.py. Find out why and fix it.

L’agent lit les deux fichiers, propose une édition à total_with_discount, et — parce que pytest -q est une nouvelle commande dans cette session — s’arrête avec un prompt de confirmation d’abord. Révisez la commande affichée, puis choisissez Allow pour l’exécuter ou Skip pour rediriger l’agent. Rien ne s’exécute sans ce prompt sauf si la commande est pré-approuvée via chat.tools.terminal.autoApprove.

Un correctif raisonnable pour le bug :

# calculator.py
def total_with_discount(prices: list[float], discount_pct: float) -> float:
    """Return the total price after applying a percentage discount."""
    subtotal = sum(prices)
    return subtotal * (1 - discount_pct / 100)

Étape 5 — Révisez la diff, puis exécutez les tests vous-même

Les éditions du mode Agent arrivent en tant que changements en attente dans l’éditeur, affichées en tant que diff contre le fichier sur le disque. Révisez-les en place et choisissez de garder ou rejeter chacun — la doc est explicite que vous décidez quels changements accepter, l’agent ne valide pas pour vous. Ne sautez pas cette étape juste parce que l’agent a signalé le succès : lisez la diff réelle, pas juste le résumé de chat.

Une fois que vous avez gardé l’édition, confirmez-la vous-même en dehors du chat, avec la même commande que vous exécuteriez normalement :

pytest -q

S’il réussit, vous avez terminé la boucle locale. S’il échoue toujours, envoyez à l’agent la nouvelle sortie d’échec plutôt que de redécrire le bug de mémoire — une trace de pile collée ou un message d’assertion est une délégation beaucoup plus forte que « c’est toujours cassé ».

Outils et serveurs MCP dans VS Code

Le mode Agent appelle des outils : des outils intégrés (lire le fichier, éditer le fichier, exécuter la commande de terminal, rechercher dans l’espace de travail) plus tout ce qui est exposé par les extensions ou les serveurs MCP que vous configurez. MCP est le même protocole ouvert couvert dans le guide des serveurs MCP — VS Code en est un autre client.

Exécutez MCP: Add Server depuis la Palette de Commandes, choisissez HTTP pour un serveur basé sur une URL ou Command (stdio) pour un serveur local, et choisissez Workspace (écrit .vscode/mcp.json, partageable via le contrôle source) ou votre profil utilisateur. Un fichier d’espace de travail minimal :

{
  "servers": {
    "github": {
      "type": "http",
      "url": "https://api.githubcopilot.com/mcp"
    },
    "playwright": {
      "command": "npx",
      "args": ["-y", "@playwright/mcp@latest"]
    }
  }
}

Chaque appel d’outil, intégré ou MCP, passe par le même flux d’approbation qu’une commande de terminal la première fois qu’elle s’exécute, sauf s’il est pré-approuvé. Les serveurs MCP locaux exécutent du code arbitraire avec vos permissions — ajoutez-en seulement à partir de sources auxquelles vous faites confiance.

L’agent cloud sur les problèmes et les pull requests GitHub

Tout ce qui précède s’exécute à l’intérieur de VS Code, sur les fichiers du disque. GitHub expédie aussi un agent hébergé dans le cloud qui fonctionne directement sur GitHub.com. Ouvrez un problème, cliquez sur Assignees dans la barre latérale droite et sélectionnez Copilot. Ajoutez des conseils optionnels dans le champ d’invite et choisissez le repository cible, la branche de base et le modèle. Assigner le problème produit toujours une pull request — Copilot travaille sur une branche en arrière-plan et demande votre révision quand c’est terminé. Il ne voit que le titre, la description et les commentaires du problème tels qu’ils existaient au moment de l’assignation, alors postez les mises à jour ultérieures en tant que commentaire sur la pull request résultante, pas le problème original.

Révision de code Copilot sur une pull request

Séparément de l’agent cloud, vous pouvez demander à Copilot de réviser n’importe quelle diff de pull request. Ouvrez la PR, trouvez Copilot sous Reviewers, et cliquez sur Request. Il répond généralement en moins de 30 secondes avec des commentaires étiquetés High, Medium ou Low severity, souvent avec des correctifs suggérés en un clic. Depuis la CLI GitHub :

gh pr create --reviewer @copilot
# or, on an existing PR:
gh pr edit PR-NUMBER --add-reviewer @copilot

Par défaut, cela laisse une révision Comment, pas une révision Approve ou Request-changes, donc cela ne satisfait pas par lui-même une règle d’approbations requises.

Choix d’un modèle

Le sélecteur de modèle se trouve en bas de l’entrée de chat, indépendant du mode dans lequel vous êtes. Auto achemine chaque demande vers un modèle basé sur la complexité de la tâche et la disponibilité actuelle — survolez la réponse pour voir lequel a répondu. Ouvrez Manage Language Models (l’icône d’engrenage dans le sélecteur, ou la commande Chat: Manage Language Models) pour vérifier la taille du contexte et la capacité par modèle, cachez les inutilisés, ou ajoutez un modèle via votre propre clé API.

Pièges

Vous avez approuvé une commande une fois, pas pour toujours. chat.tools.terminal.autoApprove correspond à des commandes ou motifs regex spécifiques ; ce n’est pas un « arrête de demander » global. Le paramètre global chat.tools.global.autoApprove supprime l’étape d’approbation pour chaque outil, et la propre description de VS Code le signale comme désactivant une protection de sécurité critique — ne l’activez pas sur une machine avec quoi que ce soit auquel vous tenez.

Les fichiers d’instructions ne corrigent pas une mauvaise exécution rétroactivement. .github/copilot-instructions.md façonne les nouvelles demandes ; cela ne réécrit pas un plan que l’agent a déjà validé à mi-tâche. Si une session va mal, corrigez les instructions et commencez frais plutôt que de pousser le même contexte.

Les instructions spécifiques au chemin ne sont pas encore universelles. Sur GitHub.com, les fichiers .github/instructions/*.instructions.md s’appliquent actuellement uniquement à l’agent cloud et à la révision de code Copilot, pas à chaque surface Copilot sur le site. Dans VS Code, ils s’appliquent plus largement, aux sessions de chat et d’agent. Ne supposez pas qu’un client correspond à un autre — exactement le genre de détail couvert dans Claude Code vs Copilot vs Cursor.

**« Révisé par Copilot » n’est pas « approuvé par un humain ». Une révision de code Copilot laisse des commentaires, pas une approbation qui satisfait la protection de branche. Traitez-la comme une première passe rapide, de la même façon que vous traiteriez une étape dans un workflow TDD assisté par IA : un signal utile, pas une porte de fusion.

L’agent cloud ne peut pas voir les nouveaux commentaires sur le problème. Il gèle le contenu du problème au moment de l’assignation. Ajoutez les suites à la pull request résultante, pas au problème, ou l’agent ne les lit jamais.

FAQ

Qu’est-ce que le mode agent GitHub Copilot dans VS Code ?

Agent est l’un des modes de chat intégrés dans VS Code, aux côtés d’Ask et Plan. En mode Agent, Copilot Chat planifie le travail, édite les fichiers dans votre espace de travail, exécute les commandes de terminal et itère sur le résultat avec pleine autonomie, au lieu d’attendre votre approbation pour chaque édition individuellement.

Comment active-je le mode agent dans VS Code ?

Ouvrez la vue Chat et choisissez Agent depuis le menu déroulant agent/mode au-dessus de l’entrée de chat. Le paramètre sous-jacent est chat.agent.enabled, qui par défaut est activé dans VS Code 1.99 et ultérieur. Si vous ne voyez pas Agent dans le menu déroulant, vérifiez ce paramètre et mettez à jour VS Code.

Le mode agent Copilot exécute-t-il des commandes de terminal sans demander ?

Non, pas par défaut. La première fois qu’un agent veut exécuter une nouvelle commande de terminal, il s’arrête et vous demande Allow ou Skip. Vous pouvez pré-approuver des commandes spécifiques avec chat.tools.terminal.autoApprove, mais le paramètre d’approbation globale désactive explicitement une protection de sécurité et est désactivé par défaut.

Quelle est la différence entre .github/copilot-instructions.md et un fichier .instructions.md ?

.github/copilot-instructions.md contient les instructions au niveau du repository qui s’appliquent à chaque demande Copilot dans ce repo. Un fichier NAME.instructions.md sous .github/instructions/ porte un glob applyTo dans son front matter et s’applique uniquement aux chemins de fichiers correspondants, ce qui garde les règles spécifiques au framework ou au langage hors du fichier d’instructions principal.

Copilot peut-il ouvrir une pull request lui-même ?

Oui. Assignez un problème GitHub à Copilot depuis le menu Assignees, ou commencez une tâche d’agent cloud depuis le panneau des agents, et Copilot travaille sur une branche et ouvre une pull request pour que vous la révisiez. Vous pouvez aussi demander une révision de code Copilot sur n’importe quelle pull request existante depuis la barre latérale Reviewers.

Comment ce guide a été vérifié

Rédigé à la main à partir de la documentation officielle, chaque commande revérifiée, puis relu une seconde fois avant publication. Dernière relecture le .

Sources officielles consultées pour cet article

Share.

Les commentaires sont fermés.