04 Fonctionnalités avancées
Agent Sessions et sub-agents
Cette leçon contient des faits datés. Dates et sources
4.4 Agent Sessions
Définition
Une Agent Session est une session de travail où Copilot agit comme un agent sur une tâche donnée.
Dans le contexte du Copilot cloud agent, GitHub explique que Copilot peut rechercher dans un repository, créer un plan d’implémentation, faire des changements sur une branche, et permettre au développeur de revoir le diff, itérer et créer une pull request quand c’est prêt.
Ne confonds pas les surfaces : une session du Copilot app est un espace de travail isolé, tandis qu’une session cloud agent travaille à distance sur une branche et peut aboutir à une pull request. Le CLI possède aussi ses propres sessions locales, reprenables avec les commandes de session.
Exemple simple
Tu ouvres une issue :
Add CSV export for monthly invoices.Tu peux lancer une session agent pour que Copilot :
- comprenne l’issue ;
- inspecte le repository ;
- identifie les fichiers concernés ;
- crée un plan ;
- applique les changements ;
- pousse une branche ;
- prépare une PR.
Exemple réaliste
Issue GitHub :
Bug: Users with deactivated accounts can still request password reset emails.Copilot cloud agent peut :
- analyser le flow password reset ;
- trouver le service utilisateur ;
- identifier la condition manquante ;
- modifier le code ;
- ajouter un test ;
- proposer une branche.
Mais attention :
Le résultat doit être revu comme n’importe quelle contribution.
GitHub insiste sur le fait que les pull requests produites par Copilot doivent recevoir une review aussi sérieuse que toute autre contribution.
Quand utiliser Agent Sessions ?
Utilise une Agent Session pour :
- traiter une issue ;
- faire une correction autonome ;
- explorer une tâche définie ;
- créer une branche de travail ;
- produire une PR ;
- itérer avec Copilot sur un changement.
Déléguer, encadrer, relire
Le cloud agent n’est pas l’Agent Mode de l’IDE. L’Agent Mode agit dans ta session locale, sous tes yeux. Le cloud agent travaille en arrière-plan, dans un environnement cloud éphémère de GitHub : il crée lui-même la branche, les commits et la pull request en brouillon, et tout reste visible dans les logs de session et l’historique de la PR.
Pour déléguer, on assigne une issue claire à Copilot, ou on démarre la tâche depuis le panneau Agents, une conversation ou une pull request sur GitHub.com (depuis le CLI, c’est /delegate, vu au chapitre 5). Pour corriger le tir, on commente la PR en mentionnant @copilot.
issue ou tâche → cloud agent → PR en brouillon → review humaine → merge| Garde-fou | Ce qu’il implique |
|---|---|
| Droits | Seuls les utilisateurs avec accès en écriture le déclenchent. |
| Branche | Il ne pousse que sur une branche dédiée (préfixe copilot/), jamais sur la branche par défaut. |
| Pull request | Elle reste en brouillon : un humain la relit et la fusionne. Celui qui l’a demandée ne peut pas l’approuver. |
| CI | Les workflows ne démarrent pas avant cette relecture. |
| Réseau | L’accès à Internet est restreint par un pare-feu. |
Ses limites : une seule repository par tâche, une branche et une pull request par tâche, et une durée de session plafonnée (59 minutes dans la documentation actuelle).
Deux leviers l’améliorent. L’environnement : un workflow copilot-setup-steps.yml préinstalle outils et dépendances, et les instructions du dépôt lui expliquent comment construire et tester. Le contexte : il peut utiliser des outils MCP (voir 4.7) ; par défaut, le GitHub MCP server ne lui donne accès qu’au dépôt de travail.
Il consomme des AI Credits et des minutes GitHub Actions : voir les chapitres 2 et 6 pour la facturation et la gouvernance. Quant aux content exclusions, Microsoft Learn indique qu’il ne les applique pas alors que la documentation GitHub ne le précise pas : statut non établi, voir 11.3.
La GitHub Copilot app
La GitHub Copilot app est une application de bureau (macOS, Windows, Linux) conçue pour le développement piloté par des agents : on y dirige plusieurs sessions d’agent en parallèle et on suit le travail de l’issue à la pull request. Elle repose sur le runtime de Copilot CLI et se connecte directement à GitHub.
Chaque session tourne dans son propre espace de travail isolé (un git worktree avec sa branche) : plusieurs tâches avancent sans se gêner. Trois modes règlent l’autonomie : Interactive (l’agent propose, tu valides pas à pas), Plan (il présente un plan avant d’agir) et Autopilot (il avance seul). L’app complète l’IDE, le CLI et GitHub.com ; la table de 4.15 aide à choisir.
Ce qu’il faut vérifier après une Agent Session
Checklist :
- Le diff est compréhensible.
- Les fichiers modifiés sont cohérents.
- Les tests sont ajoutés ou mis à jour.
- Le comportement métier est respecté.
- Aucun secret n’a été ajouté.
- Les permissions restent minimales.
- La solution ne casse pas la compatibilité.
- La PR est relue par un humain.
Piège d’examen
Question possible :
Copilot cloud agent opened a pull request with generated code.
What should the team do before merging?Bonne réponse :
Review the changes, run tests, validate behavior, and treat it like any other contribution.4.5 Sub-Agents
Définition simple
Les Sub-Agents sont des agents spécialisés qui peuvent être utilisés pour des tâches particulières.
L’idée est de ne pas avoir un seul Copilot générique, mais des agents plus spécialisés selon le besoin. GitHub documente les custom agents comme des profils nommés avec leur propre prompt, leurs outils et éventuellement leurs serveurs MCP. Lorsqu’un runtime en invoque un pour une partie de la tâche, il s’exécute comme sub-agent dans un contexte isolé et renvoie son résultat à la session parente. Les instructions repository ne sont pas automatiquement héritées par tous les sub-agents.
Exemple conceptuel
Tu pourrais avoir :
Security review agentSpécialisé pour :
- repérer les injections ;
- vérifier les permissions ;
- identifier les secrets ;
- proposer des mitigations.
Ou :
Test generation agentSpécialisé pour :
- générer des tests unitaires ;
- identifier les edge cases ;
- améliorer la couverture ;
- respecter le framework de test du projet.
Ou :
Migration agentSpécialisé pour :
- moderniser du code legacy ;
- proposer une migration progressive ;
- limiter les régressions.
Exemple d’usage
Prompt :
Use the security-focused agent to review this authentication change.
Focus on session management, password handling, brute-force protection, and error messages.Pourquoi c’est utile ?
Parce qu’un agent spécialisé peut mieux respecter :
- des instructions spécifiques ;
- un rôle précis ;
- des outils particuliers ;
- des conventions projet ;
- des règles entreprise.
Attention
Même si un sub-agent est spécialisé, il n’est pas infaillible.
Il faut toujours :
- relire ;
- tester ;
- valider ;
- vérifier les règles internes ;
- garder une review humaine.
Piège d’examen
Question possible :
A team wants an agent specialized for security reviews with specific tools and instructions.
What Copilot capability is most relevant?Bonne réponse :
Custom agents / specialized agents with relevant instructions and tools.À retenir pour le GH-300
- Le Copilot cloud agent traite une issue claire à distance : branche, diff à relire, pull request.
- Une pull request produite par Copilot se relit, se teste et se valide comme toute autre contribution : elle reste en brouillon et son demandeur ne peut pas l’approuver.
- Les surfaces diffèrent : cloud agent distant, sessions locales du CLI, app Copilot (plusieurs sessions isolées en parallèle).
- Un custom agent est un profil spécialisé (prompt, outils, MCP) ; appelé pour une partie de la tâche, il agit comme sub-agent, sans être infaillible.
Faits datés de cette leçon
Ces points changent avec le produit. Chacun indique quand il a été vérifié et où le contrôler.
- Copilot cloud agent
- GitHub Copilot app
Questions de la leçon
Chargement de la question…
Pour finir
À retenir
- Le Copilot cloud agent traite une issue claire à distance : branche, diff à relire, pull request.
- Une pull request produite par Copilot se relit, se teste et se valide comme toute autre contribution : elle reste en brouillon et son demandeur ne peut pas l’approuver.
- Les surfaces diffèrent : cloud agent distant, sessions locales du CLI, app Copilot (plusieurs sessions isolées en parallèle).
- Un custom agent est un profil spécialisé (prompt, outils, MCP) ; appelé pour une partie de la tâche, il agit comme sub-agent, sans être infaillible.
Objectif GH-300
- Agent, MCP et sessions (Use agent mode, MCP, and sessions)
Achèvement
Il reste à faire : .