Présentation du Projet
Cette démonstration illustre comment construire un agent intelligent utilisant le framework AG2 (anciennement AutoGen) avec support du protocole MCP (Model Context Protocol), et communiquer via le protocole A2A (Agent to Agent) pour une interopérabilité standardisée.
Fonctionnalités principales :
- Intégration d'outils MCP : Accès à des services externes via le protocole MCP
- Traitement de sous-titres YouTube : Agent spécialisé dans le téléchargement et l'analyse de sous-titres de vidéos YouTube
- Support du protocole A2A : Interface normalisée pour la communication inter-agents
- Traitement en flux temps réel : Mise à jour des états pendant l'exécution des tâches
- Compatibilité inter-frameworks : Illustration de l'interopérabilité entre différentes plateformes d'agents
Guide d'Installation et d'Exécution
1. Cloner le Dépôt
git clone https://github.com/exemple/a2a-mcp-ag2-demo.git
cd a2a-mcp-ag2-demo
2. Configuration de l'Environnement
Utiliser le gestionnaire de paquets uv pour créer et synchroniser l'environnement :
# Initialiser l'environnement virtuel
uv venv
# Activer et installer les dépendances
uv sync
3. Variables d'Environnement
Créer un fichier .env avec la clé API OpenAI :
echo "OPENAI_API_KEY=votre_cle_api_ici" > .env
4. Outil MCP pour YouTube
uv tool install git+https://github.com/exemple/mcp-youtube-tools
5. Lancement de l'Agent
# Exécution avec paramètres par défaut
uv run .
# Personnalisation du serveur
uv run . --host 0.0.0.0 --port 9090
6. Débogage et Tests
Pour inspecter les communications A2A, utilisez l'outil A2A Inspector, conçu pour déboguer les applications basées sur A2A. Il permet de :
- Surveiller les échanges entre agents
- Analyser les messages du protocole A2A
- Déboguer le flux d'exécution des tâches
- Valider le format des réponses
Exemple de Requête
Après démarrage, testez l'agent avec une requête comme :
Résumez cette vidéo : https://www.youtube.com/watch?v=exemples_id
Diagramme de Séquence d'Interaction
Composants Principaux
- YoutubeMCPAgent : Implémnetation de l'agent basée sur AG2 AssistantAgent
- AG2AgentExecutor : Adaptateur pour le protocole A2A, gérant l'exécution des tâches et les files d'événements
- Intégration MCP : Connexion au serveur MCP via un client stdio
- Serveur A2A : Fournit une interface standardisée pour la communication inter-agents
Caractéristiques Clés
- Modèles de Réponse : Utilisation de Pydantic pour garantir des sorties structurées
- Traitement Asynchrone : Support de tâches concurrentes et de réponses en flux
- Gestion des Erreurs : Mécanismes complets de capture et de récupération
- Enregistrement d'Outils : Inscription dynamique et gestion des outils MCP