Build an interview coach app with the GitHub Copilot SDK – Microsoft for Developers

Bande-annonce officielle
Microsoft lance un outil d’entretien basé sur le GitHub Copilot SDK
Microsoft a récemment publié un tutoriel détaillé sur la création d’une application de coaching d’entretien utilisant le GitHub Copilot SDK. Cette initiative vise à aider les candidats à se préparer à des entretiens professionnels en intégrant des fonctionnalités avancées de l’IA, tout en réutilisant des outils existants pour améliorer l’efficacité et la personnalisation de l’expérience.
Objectif et fonctionnalités de l’application
L’application, intitulée Interview Coach, est conçue pour aider les candidats à se préparer à des entretiens en leur permettant de répondre à des questions comportementales et techniques, tout en recevant un retour personnalisé sur leurs réponses. Elle permet également de sauvegarder des informations clés issues d’un CV et d’un descriptif de poste, ce qui permet une analyse approfondie de la performance du candidat.
Un exemple concret d’interaction pourrait être la question : « Racontez-moi une panne de service que vous avez aidé à investiguer. Comment avez-vous identifié la cause et comment avez-vous su que le service avait récupéré ? » Si la réponse se concentre uniquement sur la solution, l’application pourrait encourager le candidat à expliquer son rôle, les preuves utilisées et les résultats obtenus.
Technologies et architecture
L’application utilise le GitHub Copilot SDK pour intégrer le runtime de Copilot CLI, permettant ainsi à l’application de gérer des interactions avec des documents et des enregistrements de sessions. Le SDK fournit un modèle et une boucle d’appel d’outils, tandis que l’application gère l’interface utilisateur et le workflow métier.
Le Microsoft Agent Framework est utilisé pour connecter les spécialistes de l’entretien, tels que le Behavioral Interviewer ou le Technical Interviewer, à l’application. Ces agents sont représentés comme des AIAgent, ce qui permet à l’application de les invoquer et de transférer le contrôle. Le Model Context Protocol (MCP) est utilisé pour connecter les agents à des capacités externes, comme la gestion de documents et la sauvegarde des enregistrements d’entretien.
Le Cosmos DB est utilisé pour stocker les enregistrements d’entretien, et le MarkItDown convertit les documents en texte utilisable par les agents.
Configuration et exécution
La configuration de Copilot commence avec le mode CopilotClientMode.Empty, permettant de démarrer le client Copilot sans dépendance externe. Les outils personnalisés sont définis via la méthode CreateCopilotSessionConfig, qui inclut des instructions et des outils spécifiques.
Les outils sont organisés en fonction de leur rôle dans le processus d’entretien : le Receptionist gère la collecte des documents, le Behavioral Interviewer pose des questions et donne des retours, le Technical Interviewer interroge sur des compétences spécifiques, et le Summarizer produit un résumé final. Le Triage permet de gérer les changements de direction pendant l’entretien.
Les outils sont combinés via la méthode MergeCopilotTools, qui fusionne les outils configurés avec ceux fournis par le framework. Cela permet une gestion efficace des transferts de contrôle entre les agents.
Exécution locale et tests
Les développeurs peuvent exécuter l’application localement en utilisant leurs credentials GitHub ou un token configuré. Le SDK .NET inclut le runtime Copilot CLI nécessaire, et la configuration ne nécessite pas un déploiement séparé de modèle Azure. Les autres services, comme le Cosmos DB et le MarkItDown, doivent être exécutés localement.
Les développeurs peuvent utiliser Aspire pour démarrer les composants de l’application, et les conteneurs exécutent le MarkItDown et l’émulateur local de Cosmos DB. L’application utilise désormais Cosmos DB au lieu de SQLite, mais les agents continuent d’accéder aux enregistrements via le MCP.
Utilisation et recommandations
Les utilisateurs peuvent tester l’application avec des données de candidat exemple. Cependant, avant de traiter des CV réels, il est recommandé de restreindre l’accès à l’application, de reviewer les permissions des outils et d’établir des politiques de conservation des données.
L’application offre une expérience interactive et personnalisée, permettant aux candidats de se préparer efficacement à des entretiens professionnels, tout en utilisant des outils avancés de l’IA pour améliorer leur performance.