Zum Inhalt springen

GitHub-Agent mit MCP in Jitterbit Harmony

Übersicht

Jitterbit stellt allen Kunden den GitHub-Agenten mit MCP über den Jitterbit Marketplace zur Verfügung. Dieser Agent ist für Lernzwecke konzipiert, um Organisationen zu helfen, KI einfach zu übernehmen. Dieser Agent verwendet die Technik der Retrieval-Augmented Generation (RAG), die das Denken von LLM mit dem Zugriff auf externe Werkzeuge und Datenquellen kombiniert.

Dieser Agent nutzt das Model Context Protocol (MCP) über den MCP Client Connector. Er verwendet die von dem GitHub MCP Server bereitgestellten Werkzeuge und fungiert als Assistent, mit dem Sie wie mit einem Chatbot interagieren können.

Dieses Dokument erklärt die Einrichtung und den Betrieb dieses Agents. Zunächst werden die Voraussetzungen behandelt, dann werden Beispielaufforderungen und Einschränkungen gegeben, um zu zeigen, was der Agent kann und was nicht, und schließlich werden Schritte zur Installation, Konfiguration und zum Betrieb des Agents bereitgestellt.

Hinweis

Für Schritte zum Erstellen des GitHub-Agenten mit MCP von Grund auf, siehe die How-to-Anleitung. Zusätzliche Agenten für Lernzwecke, die Reaktive, Kontextuelle und Salesforce Q&A-Agenten, sind ebenfalls verfügbar und werden separat behandelt.

Voraussetzungen

Um diesen Agenten zu verwenden, sind die folgenden Komponenten erforderlich oder werden im Design des Agents vorausgesetzt.

Harmony-Komponenten

Sie müssen über eine Jitterbit Harmony-Lizenz mit Zugriff auf die folgenden Komponenten verfügen:

Privater Agent

Zur Vereinfachung des Designs ist dieser KI-Agent für die Verwendung mit privaten Agenten konzipiert.

Unterstützte Endpunkte

Die folgenden Endpunkte sind in das Design des Agents integriert.

LLM

OpenAI wird als das große Sprachmodell (LLM) verwendet. Sie müssen ein OpenAI API-Token generiert haben, das mit dem OpenAI-Connector verwendet werden kann.

MCP Client

Der MCP-Server von GitHub ist über den MCP Client-Connector verbunden. Sie müssen ein persönliches Zugriffstoken von GitHub generiert haben, um es mit dem MCP Client-Connector zu verwenden.

Beispielaufforderungen und Einschränkungen

Die folgenden Abschnitte beschreiben, was dieser KI-Agent kann und was nicht.

Beispielaufforderungen

Hier sind Beispielaufforderungen, die dieser KI-Agent mit Zugriff auf die entsprechenden Daten bearbeiten kann:

  • "Wie viele Pull-Requests hat der Benutzer {{user-name}} für das Repository {{repository-name}} in GitHub erstellt? Der Besitzer des Repos ist {{owner-name}}."

  • "Wie viele Branches hat das Repository {{repository-name}} in GitHub?"

Einschränkungen

  • Nur privater Agent: Zur Vereinfachung des Designs kann dieser KI-Agent nur mit privaten Agenten verwendet werden und ist nicht mit Cloud-Agenten kompatibel.

  • Zustandslos: Der Agent ist zustandslos und nicht konversationell. Er verarbeitet jede Anfrage als eine Einzelaufforderung, was bedeutet, dass er keine Informationen aus vorherigen Aufforderungen speichert oder verwendet, um seine aktuelle Antwort zu informieren. Seine Fähigkeit beschränkt sich darauf, nur die aktuelle Aufforderung zu beantworten.

  • Begrenztes Wissen: Da dieser Agent nur ein einfaches Beispiel ist, wird der KI-Agent nicht in der Lage sein, alle GitHub-bezogenen Fragen zu beantworten, es sei denn, die entsprechenden Werkzeuge sind im Workflow Tool Workflows implementiert.

  • Headless: Da dieser Agent nur ein einfaches Beispiel ist, hat er keine Chat-Oberfläche zur Interaktion mit dem KI-Agenten. Er kann jedoch mit jeder Schnittstelle verbunden werden, einschließlich Tools wie Slack, Microsoft Teams, WhatsApp oder jeder benutzerdefinierten Schnittstelle, die über Konversationsfähigkeiten verfügt. Um eine Chat-Oberfläche hinzuzufügen, können Sie die Schritte einfügen, die in Reaktive, kontextuelle und Salesforce Q&A-Agenten demonstriert werden.

Installation, Konfiguration und Betrieb

Befolgen Sie diese Schritte, um diesen KI-Agenten zu installieren, zu konfigurieren und zu betreiben:

  1. Installieren Sie das Studio-Projekt.
  2. Überprüfen Sie die Projekt-Workflows.
  3. Erstellen Sie einen OpenAI-API-Schlüssel und konfigurieren und testen Sie die OpenAI-Verbindung.
  4. Erstellen Sie ein persönliches Zugriffstoken für GitHub und konfigurieren und testen Sie die MCP-Client-Verbindung.
  5. Stellen Sie das Projekt bereit.
  6. Erstellen Sie die benutzerdefinierte Jitterbit-API.
  7. Triggern Sie die Projekt-Workflows.

Installieren Sie das Projekt

Befolgen Sie diese Schritte, um das Studio-Projekt für den KI-Agenten zu installieren:

  1. Melden Sie sich im Harmony-Portal unter https://login.jitterbit.com an und öffnen Sie Marketplace.

  2. Suchen Sie den KI-Agenten mit dem Namen GitHub Agent with MCP. Um den Agenten zu finden, können Sie die Suchleiste verwenden oder im Filter-Bereich unter Typ KI-Agent auswählen, um die Anzeige auf die verfügbaren KI-Agenten zu beschränken.

  3. Klicken Sie auf den Dokumentations-Link des KI-Agenten, um dessen Dokumentation in einem separaten Tab zu öffnen. Halten Sie den Tab geöffnet, um später darauf zurückzugreifen.

  4. Klicken Sie auf Projekt starten, um einen Konfigurationsdialog zu öffnen, um den KI-Agenten als Studio-Projekt zu importieren.

  5. Geben Sie einen Projektnamen ein und wählen Sie eine Umgebung, in der das Studio-Projekt erstellt werden soll, und klicken Sie dann auf Projekt erstellen.

  6. Ein Fortschrittsdialog wird angezeigt. Sobald er anzeigt, dass das Projekt erstellt wurde, verwenden Sie den Dialog-Link Gehe zu Studio oder öffnen Sie das Projekt direkt von der Studio Projekte Seite.

Überprüfen Sie die Projekt-Workflows

Überprüfen Sie im geöffneten Studio-Projekt die Workflows sowie die nachstehenden Beschreibungen, um zu verstehen, was sie tun.

  1. Haupt-Entry-Workflow

    Dieser Workflow verwaltet eingehende API-Anforderungsanfragen. Er hat eine Operation, Main Entry - API Request Handler, die jedes Mal über die API ausgelöst wird, wenn eine HTTP-Anfrage gesendet wird.

  2. KI-Logik

    Dieser Workflow verwaltet die KI-Logik. Er hat die folgenden Operationen:

    1. KI-Logik - Orchestrator

      Diese Operation verwaltet den Workflow, indem sie die Ausführung anderer Operationen steuert.

    2. KI-Logik - Kontextualisierung LLM

      Diese Operation setzt den anfänglichen Kontext für das LLM, um den Kontext über einen in einer OpenAI Prompt-Aktivität konfigurierten Prompt zu definieren.

      Zitat

      Ich bin Software-Ingenieur, und Sie werden mein persönlicher Assistent für alle GitHub-bezogenen Themen sein. Bitte helfen Sie mir, Fragen zu beantworten und Aufgaben zu automatisieren/auszuführen, wie ich es wünsche.

    3. KI-Logik - Auflisten und Registrieren der Werkzeuge

      Diese Operation ruft alle MCP-Tools, die vom GitHub MCP-Server bereitgestellt werden, ab und registriert dieselben Werkzeuge beim LLM (in diesem Beispiel ist das Modell GPT-4).

    4. KI-Logik - Senden des Prompts an LLM

      Diese Operation sendet den Benutzer-Prompt, der über die API empfangen und von der Operation Main Entry - API Request Handler verwaltet wird, an das LLM.

    5. KI-Logik - Antwort an LLM zurücksenden

      Diese Operation sendet die Werkzeugantwort (nach der Werkzeugausführung) an das LLM zurück und übermittelt die endgültige Antwort, die als endgültige Antwort des Agenten verwendet wird.

  3. Werkzeug-Workflows

    Dieser Workflow verwaltet alle gewünschten GitHub-Serverwerkzeuge, die als Teil des Agenten implementiert sind, und behandelt die Bedingungen, unter denen die Werkzeuge basierend auf dem Benutzer-Prompt ausgeführt werden sollen.

    1. Werkzeug - Pull Requests suchen

      Rufen Sie die Operation Tool - Search Pull Requests vom GitHub MCP-Server basierend auf dem angegebenen Werkzeugnamen und den Werkzeugargumenten auf und rufen Sie die Operation KI-Logik - Antwort an LLM zurücksenden auf, um die endgültige Agentenantwort an den Benutzer zu erstellen.

    2. Tool - List Branches

      Rufen Sie die Tool - List Branches-Operation vom GitHub MCP-Server basierend auf dem angegebenen Toolnamen und den Toolargumenten auf und rufen Sie die Operation AI Logic - Replying Back to LLM auf, um die endgültige Agentenantwort an den Benutzer zu erstellen.

    3. Tool - Not Implemented Tool

      Dieser Workflow verwaltet Szenarien, wenn das LLM eine Toolausführung vorschlägt, die nicht als Teil der Tool Workflows-Operationen implementiert ist. Er gibt eine freundliche Nachricht an den Benutzer zurück, wie die folgende:

      {
          "chatId": "<string>",
          "response": "Oops! Sorry... I can't answer anything related to this question yet. Please trying asking something different..."
      }
      

      Diese Nachricht kann angepasst werden, indem die Nachricht im Antwortfeld der Transformation Prepare Request #5 ersetzt wird.

  4. Utility Workflows - Handling Unexpected Errors

    Diese Operation behandelt unerwartete Szenarien, wenn etwas mit der Ausführung des Agenten schiefgeht, und gibt eine freundliche Nachricht an den Benutzer zurück, wie die folgende:

    {
        "chatId": "<string>",
        "response": "An unexpected error has happened."
    }
    

    Diese Nachricht kann angepasst werden, indem die Nachricht im Antwortfeld der Transformation Prepare Request #6 ersetzt wird.

Erstellen Sie einen OpenAI API-Schlüssel und konfigurieren und testen Sie die OpenAI-Verbindung

Befolgen Sie diese Schritte, um einen OpenAI API-Schlüssel zu generieren und zu konfigurieren:

  1. Gehen Sie zur OpenAI API-Schlüssel-Seite.

  2. Klicken Sie auf Neuen geheimen Schlüssel erstellen, um einen neuen API-Schlüssel zu generieren.

  3. Kopieren Sie den generierten Schlüssel und speichern Sie ihn sicher. Sie benötigen diesen Schlüssel, um die OpenAI-Verbindung zu konfigurieren.

  4. Öffnen Sie im Studio-Projekt die Konfiguration der OpenAI-Verbindung.

  5. Geben Sie den API-Schlüssel im Feld API/Secret Key ein.

  6. Klicken Sie auf Test, um die Konnektivität mit den konfigurierten Werten zu überprüfen.

Warnung

Bewahren Sie Ihren API-Schlüssel sicher auf. Der Schlüssel wird nur einmal angezeigt, wenn Sie ihn erstellen. Wenn Sie den Schlüssel verlieren, müssen Sie einen neuen Schlüssel generieren.

Erstellen Sie ein persönliches Zugriffstoken für GitHub und konfigurieren und testen Sie die MCP-Clientverbindung

  1. Befolgen Sie die Anweisungen von GitHub zum Erstellen eines persönlichen Zugriffstokens (klassisch).

    Beim Erstellen des Tokens fügen Sie die Berechtigungen hinzu, die der KI-Agent benötigt, um die Tools auszuführen, die Sie implementieren werden. Zum Beispiel benötigt dieser grundlegende KI-Agent die Berechtigung public_repo, um auf öffentliche Repositories zuzugreifen.

  2. Öffnen Sie im Studio-Projekt die Konfiguration der MCP-Clientverbindung. Geben Sie Folgendes ein:

    • MCP-Server-URL: Die Server-URL muss https://api.githubcopilot.com/mcp/ sein. Ändern Sie diesen Wert nicht.
    • Bearer-Token: Geben Sie Ihr persönliches Zugriffstoken ein.

    Weitere Informationen finden Sie in der Dokumentation von GitHub Einrichten des GitHub MCP-Servers.

  3. Klicken Sie auf die Schaltfläche Test, um die Konnektivität mit den konfigurierten Werten zu überprüfen.

Projekt bereitstellen

Stellen Sie das Studio-Projekt bereit. Dies kann über das Aktionsmenü des Projekts ausgewählt werden, um Bereitstellen zu wählen.

Erstellen Sie die benutzerdefinierte Jitterbit-API

Erstellen Sie eine benutzerdefinierte API für die Operation Main Entry - API Request Handler im Workflow Main Entry Workflow. Dies kann direkt im Studio über das Aktionsmenü der Operation ausgewählt werden, um Als API veröffentlichen oder Als API mit KI veröffentlichen auszuwählen.

Behalten Sie die Standardeinstellungen bei, mit Ausnahme der folgenden:

  • Methode: POST
  • Antworttyp: Systemvariable

Die API Anfrage-Aktivität, als Teil der Operation Main Entry - API Request Handler, erwartet, ein JSON in der folgenden Struktur zu erhalten:

{
    "prompt": "<string>"
}

Behalten Sie die Dienst-URL der veröffentlichten API bei. Die Dienst-URL finden Sie im API-Details-Bereich auf der Registerkarte Dienste, indem Sie über die Aktionen-Spalte des Dienstes fahren und auf API-Dienst-URL kopieren klicken.

Projekt-Workflows auslösen

Der Haupt-Workflow, Main Entry - Slack Request Handler, wird durch die benutzerdefinierte Jitterbit-API ausgelöst.

Sie können eine HTTP-Anfrage an diese API mit den zuvor aufgeführten Beispielaufforderungen senden.

Sobald Sie die HTTP-Anfrage senden, wird die Antwort, die vom Agenten bereitgestellt wird, ein JSON in der folgenden Struktur sein:

{
    "chatId": "<string>",
    "response": "<string>"
}

Fehlersuche

Überprüfen Sie die API-Protokolle und die Betriebsprotokolle für detaillierte Informationen zur Fehlersuche.

Für zusätzliche Unterstützung kontaktieren Sie Jitterbit-Support.