Erste Schritte mit Elastic Agent Builder und Strands Agents SDK

Lernen Sie, wie Sie mit Elastic Agent Builder einen Agenten erstellen, und erkunden Sie anschließend, wie Sie den Agenten über das A2A-Protokoll nutzen, das mit dem Strands Agents SDK orchestriert wird.

Elasticsearch verfügt über native Integrationen mit den branchenführenden Gen-AI-Tools und -Anbietern. Sehen Sie sich unsere Webinare zu den Themen „RAG-Grundlagen“ oder zum „Erstellen produktionsreifer Apps“ mit der Elastic-Vektordatenbank an.

Um die besten Suchlösungen für Ihren Anwendungsfall zu entwickeln, starten Sie jetzt eine kostenlose Cloud-Testversion oder testen Sie Elastic auf Ihrem lokalen Rechner.

Haben Sie eine Idee für einen KI-Agenten? Wahrscheinlich geht es darum, etwas mit Daten anzufangen, denn wenn ein Agent eine nützliche Aktion auslösen will, muss er eine Entscheidung treffen, und für diese Entscheidung braucht er die richtigen Daten.

Mit dem Elastic Agent Builder können Sie ganz einfach datenverbundene KI-Agenten erstellen. Wie das geht, zeigen wir Ihnen in diesem Blogbeitrag. Lassen Sie uns alle erforderlichen Schritte durchgehen, um einen Agenten mit einem MCP-Tool zu erstellen, der auf in Elastic gespeicherte Daten zugreift. Dann verwenden wir das Strands Agents SDK und seine A2A-Funktionen (Agent2Agent), um den Agenten zu betreiben. Das Strands Agents SDK ist eine Multiagenten-KI-Entwicklungsplattform, mit der Sie agentenbasierte Anwendungen mit genau dem Code erstellen können, der erforderlich ist, um das gewünschte Ergebnis zu erzielen.

Lassen Sie uns einen KI-Agenten entwickeln, der das Spiel RPS+ spielt, eine Variante des klassischen Spiels „Schere, Stein, Papier“ mit einer zusätzlichen Wendung: Es bietet den Spieler:innen einige zusätzliche Auswahlmöglichkeiten.

Voraussetzungen

Folgendes ist erforderlich, um die Schritte in diesem Blogbeitrag zu befolgen:

  • Ein Texteditor, der auf Ihrem lokalen Computer ausgeführt wird
  • Python 3.10 oder höher, das auf Ihrem lokalen Computer ausgeführt wird

Ein Serverless-Projekt erstellen

Als Erstes benötigen wir ein Elasticsearch Serverless-Projekt, das den Elastic Agent Builder beinhaltet.

Gehen Sie zu Cloud.elastic.co/de/ und erstellen Sie ein neues Elasticsearch Serverless-Projekt.

Einen Index erstellen und Daten hinzufügen

Als Nächstes fügen wir einige Daten zu unserem Elasticsearch-Projekt hinzu. Öffnen Sie die Entwicklertools, wo wir Befehle ausführen können, um einen neuen Index zu erstellen und einige Daten darin einzufügen. Wählen Sie im Hauptmenü „Entwicklungstools“ aus.

Kopieren Sie den folgenden PUT-Befehl und fügen Sie ihn in den Anfrage-Eingangsbereich der Konsole des Entwicklungstools ein. Diese Anweisung erstellt einen Elasticsearch-Index mit dem Namen „game-docs“.

Klicken Sie auf die Schaltfläche „Anfrage senden“, die in den Entwicklungstools rechts neben der Anweisung angezeigt wird. Sie sollten eine Benachrichtigung sehen, die bestätigt, dass der Game-docs-Index im Reaktion Flächendiagramm der Entwicklungstools erstellt wurde.

Ein Index namens game-docs ist ein großartiger Ort, um die Daten für das Spiel zu speichern, das wir gerade entwickeln. Fügen wir ein Dokument namens rps+-md in diesen Index ein, das alle Daten enthält, die unser Spiel benötigt. Kopieren Sie den folgenden PUT-Befehl und fügen Sie ihn in das Entwicklungstool ein.

Klicken Sie auf die Schaltfläche „Anfrage senden“ neben der Anweisung, um sie auszuführen und das rps+-md-Dokument zum game-docs-Index hinzuzufügen.

Wir sollten jetzt einige Daten abfragen können, und mit Agent Builder ist das einfacher als je zuvor.

Wählen Sie Agenten aus dem Hauptnavigationsmenü aus.

Dann müssen Sie nur noch den standardmäßigen Elastic AI Agent fragen: „Welche Daten habe ich?“

Der Elastic AI Agent bewertet die Daten und liefert eine prägnante Erklärung der vorhandenen Daten.

Ein Tool erstellen

Okay, wir haben jetzt einige Daten in Elastic. Lassen Sie uns diese nutzen. Der Agent Builder bietet integrierte Unterstützung zur Erstellung von MCP-Tools, die Agenten helfen, auf die Daten zuzugreifen, die sie benötigen, um den richtigen Kontext für ihre Aufgabe zu haben. Lassen Sie uns ein einfaches Tool erstellen, das unsere Spieldaten abruft.

Klicken Sie auf das Aktionsmenü des Agent Builders.

Wählen Sie in den Menüoptionen Alle Werkzeuge anzeigenaus.

Klicken Sie auf + Neues Tool.

Wählen Sie im Formular Tool erstellen die Option ES|QL aus. Wählen Sie als Werkzeugtyp die gewünschte Option aus und geben Sie die folgenden Werte ein.

Für die Tool-ID:

Für die Beschreibung:

Für Konfiguration geben Sie die folgende Abfrage in das ES|QL-Abfrage-Textfeld ein:

Ihr ausgefülltes Formular Tool erstellen sollte wie folgt aussehen. Klicken Sie auf Speichern, um das Tool zu erstellen.

Wir haben ein neues Werkzeug am Werkzeugständer hängen. Werkzeuge sollten nicht einfach nur an einem Regal hängen; sie sollten sinnvoll eingesetzt werden. Lassen Sie uns einen Agenten erstellen, der unser neues benutzerdefiniertes Tool verwenden kann.

Einen Agenten erstellen und ihm ein Tool zuweisen

Mit dem Agent Builder ist das Erstellen eines Agenten erfreulich einfach. Sie müssen einfach nur die Agentenanweisungen mit ein paar Details eingeben. Lassen Sie uns jetzt einen Agenten erstellen.

Klicken Sie auf Agenten verwalten.

Klicken Sie + Neuer Agent.

Geben Sie die folgenden Informationen in das Formular Neuer Agent ein.

Geben Sie für die Agenten-ID den folgenden Text ein:

Geben Sie im Textfeld Benutzerdefinierte Anweisungen die folgenden Anweisungen ein:

Geben Sie für den Anzeigenamen den folgenden Text ein:

Für die Anzeigebeschreibung geben Sie den untenstehenden Text ein:

Geben Sie dem Agenten das benutzerdefinierte Tool, das wir zuvor erstellt haben, indem Sie auf den Tab Tools klicken.

Wählen Sie nur das Tool example.get_game_docs aus, das wir zuvor erstellt haben.

Klicken Sie auf Speichern, um den neuen Agenten zu erstellen.

Lassen Sie uns unseren neuen Agenten ausprobieren. Es gibt einen praktischen Link, um einen Chat mit einem beliebigen Agenten aus der Liste der Agenten zu starten.

Geben Sie einfach „start game“ ein und das Spiel beginnt. Es funktioniert!

Sie können sehen, dass der Agent seine Spielobjektauswahl oben in seiner Reaktion anzeigt. Dies ist nützlich, da wir die Wahl des Agenten sehen und bestätigen können, dass das Spiel wie erwartet funktioniert. Wenn man jedoch die Wahl des Gegners kennt, bevor man selbst wählt, wird das Spiel „Schere, Stein, Papier“ nicht besonders unterhaltsam. Um das Spiel zu verfeinern und seine endgültige Form zu erreichen, können wir eine Agenten-Orchestrierungsplattform verwenden, die Agenten mit Code steuern kann.

Hier kommt das Strands Agents SDK ins Spiel.

Strands Agents SDK

Wenn Sie neugierig darauf sind, neue Frameworks für die Agentenentwicklung auszuprobieren, dann ist das Strands Agents SDK einen Versuch wert. Das Strands Agents SDK wurde von AWS (Mai 2025) als Open-Source-Python-Implementierung veröffentlicht, und es gibt jetzt auch eine Typescript-Version.

Erste Schritte mit dem Strands Agents SDK in Python

Starten Sie Ihre Programmiermaschinen. Wir werden jetzt im Eiltempo den Prozess des Klonens und Ausführens einer Beispiel-App durchgehen, die Strands Agents verwendet, um den RPS+ Agent über das A2A-Protokoll zu steuern. Lassen Sie uns eine optimierte Version des RPS+ Spiels entwickeln, bei der die Wahl des Agenten erst nach Ihrer Wahl bekannt gegeben wird, denn schließlich ist es das Rätselraten und der überraschende Ausgang, der Spiele wie „Schere, Stein, Papier“ so unterhaltsam macht.

Öffnen Sie auf Ihrem lokalen Computer Visual Studio Code und öffnen Sie ein neues Terminal.

Im neu geöffneten Terminal führen Sie folgenden Befehl aus, um das Elasticsearch Labs-Repository zu klonen:

Führen Sie den folgenden cd-Befehl aus, um das Verzeichnis in das Verzeichnis „elasticsearch-labs“ zu ändern:

Führen Sie anschließend folgenden Befehl aus, um das Repository in Visual Studio Code zu öffnen:

Erweitern Sie im Visual Studio File Explorer die Ordner supporting-blog-content und agent-builder-a2a-strands-agents und öffnen Sie anschließend die Datei elastic_agent_builder_a2a_rps+.py. So sieht die Datei in Visual Studio Code aus:

Hier ist der Inhalt der Datei elastic_agent_builder_a2a_rps+.py, den Sie in Ihrem Texteditor sehen sollten:

Lassen Sie uns einen Blick darauf werfen, was in diesem Code passiert. Ausgehend von der Methode main() greift der Code zunächst auf die Umgebungsvariablen für die Agenten-URL und den API-Schlüssel zu. Dann verwenden wir diese Werte, um ein httpx client zu erstellen, mit dem wir die Agentenkarte für den Agenten abrufen können. Der Client verwendet dann die Agentenkartendaten, um eine „Spiel starten“-Anfrage an den Agenten zu senden. Interessant ist hierbei, dass wir einen random_game_object -Wert als Teil der "start game" -Anfrage einfügen. Dieser Wert ist eine Zufallszahl, die mit dem Zufallsmodul der Standardbibliothek von Python generiert wird. Der Grund dafür ist, dass sich herausgestellt hat, dass die leistungsstarken LLMs (die KI-Agenten ermöglichen) nicht besonders gut in Bezug auf Zufälligkeit sind. Kein Problem, hier kann Python helfen.

Im weiteren Verlauf des Codes wird, sobald der Agent auf die Anfrage „Spiel starten“ antwortet, die Spielobjektauswahl des Agenten extrahiert und in der Variable agent_choice gespeichert. Der Rest der Reaktion wird dem:der Nutzer:in als Text angezeigt. Anschließend wird der:die Nutzer:in zur Eingabe der eigenen Spielobjektauswahl aufgefordert. Diese Auswahl wird an den Agenten gesendet. Der Code zeigt dann die Auswahl des Spielobjekts durch den Agenten sowie dessen endgültige Entscheidung über den Spielausgang an.

Einrichten Ihrer Agenten-URL und Ihres API-Schlüssels als Umgebungsvariablen

Da die Beispiel-App auf Ihrem lokalen Computer ausgeführt wird, müssen wir dem Strands Agents SDK eine A2A-URL und einen API-Schlüssel für den Agenten bereitstellen, damit dieser mit unserem Agent Builder-Agenten kommunizieren kann. Die Beispiel-App verwendet eine Datei namens .env, um diese Werte zu speichern.

Erstellen Sie eine Kopie der Datei env.example und benennen Sie die neue Datei .env.

Wechseln Sie zurück zum Elastic Agent Builder, wo wir die beiden benötigten Werte abrufen können.

Wählen Sie im Aktionsmenü des Agent Builders oben rechts auf der Seite die Option Alle Tools anzeigen aus.

Klicken Sie oben auf der Seite „Tools“ auf das Dropdown-Menü MCP-Server und wählen Sie MCP-Server-URL kopieren.

Fügen Sie die MCP-Server-URL als Ersatz für den <YOUR-ELASTIC-AGENT-BUILDER-URL>-Platzhalterwert in die .env-Datei ein. Nun müssen wir eine Aktualisierung an der URL vornehmen, das heißt, den Endtext „mcp“ durch „a2a“ ersetzen, da das A2A-Protokoll dasjenige ist, das das Agent Strands SDK zur Kommunikation mit dem in Elastic Agent Builder ausgeführten Agenten verwenden wird.

Die bearbeitete URL sollte in etwa so aussehen:

Der andere Wert, den wir hier in Elastic Cloud brauchen, ist ein API-Schlüssel. Klicken Sie in der oberen Navigationsebene auf Elasticsearch.

Klicken Sie auf die Schaltfläche API-Schlüssel kopieren, um den API-Schlüssel zu kopieren.

Zurück in Visual Studio Code fügen Sie nun den API-Schlüssel in die .env-Datei ein, um den Platzhaltertext <YOUR-ELASTIC-API-KEY> zu ersetzen. Ihre .env-Datei sollte etwa so aussehen:

Die Beispiel-App ausführen

Öffnen Sie ein neues Terminal in Visual Studio Code.

Führen Sie zunächst den folgenden cd-Befehl im Terminal aus:

Führen Sie den folgenden Befehl aus, um eine virtuelle Python-Umgebung zu erstellen.

Führen Sie je nach Betriebssystem Ihres lokalen Computers den folgenden Befehl aus, um die virtuelle Umgebung zu aktivieren.

  • macOS/Linux
  • Windows

Die Beispiel-App verwendet das Strands Agents SDK, und wir sind nun an dem Punkt in dieser Anleitung angelangt, an dem wir es installieren müssen. Führen Sie folgenden Befehl aus, um das Strands Agents SDK zusammen mit allen erforderlichen Python-Bibliotheksabhängigkeiten zu installieren.

Es ist Zeit, die Startrampe freizumachen und den Countdown zu starten. Wir sind bereit, diese App zu starten. Zurücktreten. Führen wir sie mit folgendem Befehl aus:

Sie sollten mit einer Partie RPS+ herausgefordert werden. Gut gemacht und viel Erfolg!

Erstellen Sie Ihre KI-Apps mit relevantem Kontext

Die Entwicklung eines KI-Agenten gehört nun zu Ihren Kernkompetenzen. Und Sie haben gesehen, wie einfach die Verwendung von Elastic Agent Builder-Agenten über A2A in Agenten-Entwicklungs-Frameworks wie dem Strands Agents SDK ist. Testen Sie Elastic, um KI-Agenten zu erstellen, die mit dem relevanten Kontext Ihrer benutzerdefinierten Daten verknüpft sind.

Zugehörige Inhalte

Sind Sie bereit, hochmoderne Sucherlebnisse zu schaffen?

Eine ausreichend fortgeschrittene Suche kann nicht durch die Bemühungen einer einzelnen Person erreicht werden. Elasticsearch wird von Datenwissenschaftlern, ML-Ops-Experten, Ingenieuren und vielen anderen unterstützt, die genauso leidenschaftlich an der Suche interessiert sind wie Sie. Lasst uns in Kontakt treten und zusammenarbeiten, um das magische Sucherlebnis zu schaffen, das Ihnen die gewünschten Ergebnisse liefert.

Probieren Sie es selbst aus