Projekteinführung
Dieses Projekt demonstriert, wie man einen intelligenten Agenten erstellt, der MCP (Model Context Protocol) mit dem AG2-Framework (ehemals AutoGen) unterstützt und über das A2A (Agent2Agent)-Protokoll für standardisierte Kommunikation kommuniziert.
Die Kernfunktionen dieses Projekts umfassen:
- MCP-Tool-Integration: Zugriff auf verschiedene externe Tools und Fähigkeiten über das MCP-Protokoll
- YouTube-Untertitel-Verarbeitung: Spezialisierter intelligenter Agent zum Herunterladen und Analysieren von YouTube-Video-Untertiteln
- A2A-Protokoll-Unterstützung: Bietet standardisierte Inter-Agent-Kommunikationsschnittstelle
- Echtzeit-Streaming-Verarbeitung: Unterstützt Echtzeit-Statusupdates während der Aufgabenausführung
- Cross-Framework-Kompatibilität: Demonstriert Interoperabilität zwischen verschiedenen Agent-Frameworks
Ausführung
1. Code klonen
git clone https://github.com/sing1ee/a2a-mcp-ag2-sample.git
cd a2a-mcp-ag2-sample
2. Umgebungseinrichtung
Verwenden Sie den uv-Paketmanager, um eine virtuelle Umgebung zu erstellen und Abhängigkeiten zu installieren:
# Virtuelle Umgebung erstellen
uv venv
# Virtuelle Umgebung aktivieren und Abhängigkeiten synchronisieren
uv sync
3. Umgebungsvariablen setzen
Erstellen Sie eine .env
-Datei und fügen Sie Ihren OpenAI-API-Schlüssel hinzu:
echo "OPENAI_API_KEY=your_api_key_here" > .env
4. MCP YouTube-Tool installieren
uv tool install git+https://github.com/sparfenyuk/mcp-youtube
5. Agent ausführen
# Mit Standardkonfiguration ausführen
uv run .
# Benutzerdefinierter Host und Port
uv run . --host 0.0.0.0 --port 8080
6. Debugging und Testen
Siehe A2A Inspector für Debugging. A2A Inspector ist ein mächtiges Tool, das speziell für das Debugging von A2A-Anwendungen entwickelt wurde und Ihnen helfen kann:
- Inter-Agent-Kommunikation überwachen
- A2A-Protokollnachrichten inspizieren
- Aufgabenausführungsflüsse debuggen
- Agent-Antwortformate validieren
Beispielverwendung
Nach dem Start des Agenten können Sie die folgende Anfrage senden, um die YouTube-Untertitel-Funktionalität zu testen:
Summarize this video: https://www.youtube.com/watch?v=kQmXtrmQ5Zg
Projekt-Fluss-Sequenzdiagramm
sequenceDiagram
participant Client as A2A Client
participant Server as A2A Server
participant Agent as AG2 Agent
participant MCP as MCP Server
participant YouTube as YouTube MCP Tool
Client->>Server: Send task request
Server->>Agent: Forward query to AG2 agent
Note over Server,Agent: Real-time status updates (streaming)
Agent->>MCP: Request available tool list
MCP->>Agent: Return tool definitions
Agent->>Agent: LLM decides to use YouTube tool
Agent->>MCP: Send tool execution request
MCP->>YouTube: Call YouTube subtitle download tool
YouTube->>YouTube: Download video subtitles
YouTube->>MCP: Return subtitle data
MCP->>Agent: Return tool execution result
Agent->>Agent: LLM processes subtitle data and generates response
Agent->>Server: Return complete response
Server->>Client: Respond with task result
Technische Architektur
Kernkomponenten
- YoutubeMCPAgent: Kern-Agent-Implementierung basierend auf AG2 AssistantAgent
- AG2AgentExecutor: A2A-Protokoll-Adapter, der Aufgabenausführung und Ereigniswarteschlangen verwaltet
- MCP-Tool-Integration: Verbindet sich über stdio-Client mit MCP-Server
- A2A-Server: Bietet standardisierte Agent-Kommunikationsschnittstelle
Hauptfunktionen
- Antwortmodelle: Verwendet Pydantic-Modelle zur Gewährleistung strukturierter Ausgabe
- Asynchrone Verarbeitung: Unterstützt gleichzeitige Aufgabenverarbeitung und Streaming-Antworten
- Fehlerbehandlung: Vollständige Fehlererfassung und Wiederherstellungsmechanismen
- Tool-Registrierung: Dynamische Registrierung und Verwaltung von MCP-Tools
Zusammenfassung
Mit der rasanten Entwicklung und Verbreitung von KI-Agent-Produkten sind immer mehr Agent-Frameworks und -Lösungen auf dem Markt entstanden, wie LangGraph, CrewAI, AG2 usw. Jedes Framework hat seine einzigartigen Vorteile und Anwendungsszenarien, aber dies bringt auch Herausforderungen bei der Interoperabilität mit sich.
Die wichtige Bedeutung des A2A-Protokolls:
- Standardisierte Kommunikation: Das A2A-Protokoll dient als universelle Sprache für Inter-Agent-Kommunikation und beseitigt Barrieren zwischen verschiedenen Frameworks
- Ökosystem-Vernetzung: Ermöglicht Agenten aus verschiedenen Technologie-Stacks nahtlos zusammenzuarbeiten und ein mächtigeres KI-Ökosystem zu bilden
- Reduzierte Integrationskosten: Entwickler müssen nicht mehr separate Adapter für jedes Framework entwickeln, was die Komplexität der Systemintegration erheblich reduziert
- Förderung von Innovation: Durch standardisierte Protokolle können sich Entwickler auf die Verbesserung von Agent-Fähigkeiten konzentrieren anstatt auf Protokollanpassung
- Zukunftsskalierbarkeit: Legt eine solide Grundlage für den Aufbau komplexer Multi-Agent-Systeme
Dieses Projekt demonstriert, dass das A2A-Protokoll eine wichtige Brücke werden wird, die das KI-Agent-Ökosystem verbindet und die gesamte Industrie in eine offenere und stärker vernetzte Richtung treibt.