A2A Protocol

A2A MCP AG2 Intelligent Agent Example

MILO
Share
A2A MCP AG2 Intelligent Agent Example

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:

  1. Standardisierte Kommunikation: Das A2A-Protokoll dient als universelle Sprache für Inter-Agent-Kommunikation und beseitigt Barrieren zwischen verschiedenen Frameworks
  2. Ökosystem-Vernetzung: Ermöglicht Agenten aus verschiedenen Technologie-Stacks nahtlos zusammenzuarbeiten und ein mächtigeres KI-Ökosystem zu bilden
  3. Reduzierte Integrationskosten: Entwickler müssen nicht mehr separate Adapter für jedes Framework entwickeln, was die Komplexität der Systemintegration erheblich reduziert
  4. Förderung von Innovation: Durch standardisierte Protokolle können sich Entwickler auf die Verbesserung von Agent-Fähigkeiten konzentrieren anstatt auf Protokollanpassung
  5. 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.