Zum Hauptinhalt springenAWS Startups
  1. Lernen
  2. Skalierbare KI-Agenten entwickeln: Serverless-Architektur in AWS

Skalierbare KI-Agenten entwickeln: Serverless-Architektur in AWS

Wie war dieser Inhalt?

Die Entwicklung von Software im Zeitalter der generativen KI ist ein Paradoxon. Einerseits sind moderne Wissensmodelle so mächtig geworden, dass die Erstellung einer ersten Version einer KI-gestützten Anwendung kaum mehr erfordert, als eine einfache Chat-API aufzurufen (und einen Codierungsagenten den größten Teil des Codes schreiben zu lassen!). Andererseits erfordert das Maß an Genauigkeit, Leistung und Kostenoptimierung, das für eine KI-Anwendung in Produktionsqualität erforderlich ist, oft eine komplexe technische Architektur.

Diese Komplexität ist zum Teil darauf zurückzuführen, dass generative KI-Algorithmen eher probabilistisch als deterministisch sind. Um die Varianz der Ergebnisse eines Modells zu reduzieren und die Zuverlässigkeit zu verbessern, verwenden Entwickler Techniken wie die Bereitstellung von Beispielen dafür, wie eine „gute“ Antwort aussieht, oder das Hinzufügen zusätzlicher Informationen („Kontext“), die das Modell bei der Generierung der Ergebnisse berücksichtigen kann. Infolgedessen wird der Code einer KI-gestützten Anwendung schnell viel komplexer als einfache Aufrufe der Chat-API des Modells. Entwickler müssen mindestens eine Daten-Serving-Layer hinzufügen, die Aufrufe spezialisierter Datenbanken beinhaltet, um den Kontext zu erstellen, der dem Modell angezeigt wird.

Aber die Komplexität hört hier nicht auf. Wenn Entwickler ihren KI-gestützten Anwendungen um weitere Funktionen erweitern, stellen sie oft fest, dass dafür unterschiedliche Kontexte und unterschiedliche Prompts erforderlich sind. Daher organisieren Entwicklerdie sich zu Abstraktionen hingezogen fühlen – den Code, der diese verschiedenen Funktionen unterstützt, in eigenständigen Modulen. In der KI wird diese Art von Designmuster als „Agent” bezeichnet.

Agenten versammeln sich: Überwindung der Komplexität in generativer KI

Ein Agent ist ein Codemodul, das generative KI-Modelle verwendet, um eine bestimmte Aufgabe autonom auszuführen. Agenten können alleine oder in Verbindung mit anderen Agenten agieren. Sie können auch „Tools“ aufrufen, bei denen es sich in der Regel um APIs oder Funktionen handelt, die im für den Agenten verfügbaren Kontext enthalten sind. Das Endergebnis dieses agentenbasierten Ansatzes für das Softwaredesign ist, dass das Context Engineeringalso der Prozess des Abrufens der relevanten Daten, die ein Agent zur Erfüllung seiner Aufgabe benötigtkomplexer wird. Darüber hinaus müssen die Agenten selbst häufig asynchron außerhalb der Hauptanwendung ausgeführt werden (dies gilt insbesondere für Agenten, die Zugriff auf sensible Daten benötigen). Dies kann die Verwaltung völlig separater Laufzeitumgebungen sowie die Verwaltung von Anmeldeinformationen erfordern.

Eine typische agentenbasierte KI-Anwendung kann in die folgenden Komponenten unterteilt werden:

  1. Das generative KI-Modell, das in der Regel ein großes Sprachmodell (LLM) und die APIs umfasst, die den Zugriff darauf ermöglichen.
  2. Software-Frameworks, die praktische Abstraktionen für die Modell-APIs auf niedrigerer Ebene bieten, und Software Development Kits zum Erstellen von Agenten und zum Ausführen vieler für das Context Engineering erforderlicher Datenzugriffsvorgänge.
  3. Datenbereitstellungskomponenten, die die Informationen bereitstellen, die in dem Kontext enthalten sind, der den Agenten zur Verfügung gestellt wird. Diese können aus einer Vielzahl unterschiedlicher Datenspeicher bestehen (relationale Datenbankverwaltungssysteme, NoSQL-Datenbanken usw.), umfassen aber fast immer eine Form eines semantischen Suchdienstes. Bei agentenbasierten Anwendungen wird dies in der Regel in einen Vektorspeicher ausgelagert, in dem numerische Darstellungen von Textdaten, sogenannte Einbettungen, gespeichert werden.
  4. Eine Laufzeitumgebung für die Agenten. Bei einfachen agentenbasierten Anwendungen können die Agenten prozessintern mit dem Anwendungscode ausgeführt werden. In den meisten Fällen müssen die Agenten jedoch in ihrer eigenen Prozessumgebung ausgeführt werden, der von der Hauptanwendung isoliert ist.

Wie bei allen Software-Architekturen, bei denen mehrere Komponenten zusammenarbeiten müssen, ist ein erheblicher Aufwand erforderlich, um die Ausfallsicherheit, Redundanz und Leistungsfähigkeit dieser Komponenten zu gewährleisten. Glücklicherweise profitieren agentenbasierte KI-Anwendungen von denselben cloudnativen Architekturen wie herkömmliche Anwendungen. Serverless-Architekturen sind besonders attraktiv für agentenbasierte KI-Anwendungen, und AWS bietet eine Vielzahl von Serverless-Angeboten, mit denen Entwickler schnell, einfach und kostengünstig agentenbasierte KI-Anwendungen erstellen können.

Inferenz in Aktion

Beginnen wir mit der bekanntesten Komponente: den generativen KI-Modellen selbst. Der Begriff für das Model Serving lautet „Inferenz”, und für Serverless-Inferenz bietet Amazon Bedrock einen Managed Service für die Ausführung und den Zugriff auf generative KI-Basismodelle. Diese reichen von LLMs mit Spitzenwissen wie Claude von Anthropic über sprachbasierte Modelle wie Amazon Nova Sonic bis hin zu Open-Weight-Modellen von OpenAI und Mistral, auf die alle über eine einheitliche API zugegriffen werden kann.

Als Nächstes folgt die Inferenz. Diese ist in der Regel komplex und erfordert spezielle Hardware wie GPUs sowie ein tiefgreifendes Verständnis der Low-Level-Netzwerk-Frameworks, die die Kommunikation zwischen GPU-Clustern ermöglichen. In der Vergangenheit hat dies zu betrieblichen Herausforderungen und Zugangsbarrieren geführt, insbesondere für Startups. Amazon Bedrock hilft dabei, diese Barrieren zu überwinden, da Benutzer lediglich die Verwendung der APIs der Lösung erlernen müssen.

Intelligente Einbettung: Wissensdatenbanken und Vektorspeicher

Neben Inferenz und Model Serving bietet Amazon Bedrock auch volle Unterstützung für die gängigsten Datenbereitstellungskomponenten im agentenbasierten KI-Stack. Amazon Bedrock Knowledge Bases können beispielsweise für die semantische Suche verwendet werden, bei der eine Sammlung von Dokumenten durchsucht wird, die dem Text in der Suchanfrage semantisch ähnlich sind. Dies ist in Fällen entscheidend, in denen ein KI-Agent zusätzliche Informationen in seinem Kontext benötigt.

Beispielsweise muss ein Kundendienstmitarbeiter möglicherweise FAQ-Dokumente einsehen, die den vom Kunden angeforderten Informationen entsprechen, z. B. „Wie ändere ich die mit meinem Konto verknüpfte Adresse?“ Mithilfe von Amazon Bedrock Knowledge Bases können FAQ-Dokumente für die semantische Suche indiziert werden, indem sie in einem Amazon-S3-Bucket gespeichert und dieser Bucket als Datenquelle für eine Bedrock Knowledge Base konfiguriert wird. Der Service kümmert sich um das „Chunking“ der Dokumente (das Aufteilen eines Dokuments in kleinere Teile), das „Vektorisieren“ jedes Chunks (Erstellen der numerischen Einbettungen des Textes) sowie das Speichern und Verknüpfen der Chunks und der Einbettungen miteinander, sodass relevante Chunks in einer semantischen Abfrage zurückgegeben werden können.

Sobald diese Einbettungen erstellt wurden, müssen sie in einer speziellen Datenbank für Einbettungen oder einem Vektorspeicher gespeichert werden. Amazon Bedrock Knowledge Bases unterstützen mehrere Vektorspeicheroptionen, darunter Amazon S3 Vectors, eine Serverless-Vektordatenbank, die in Amazon S3 integriert ist. Diese Art der Datenbereitstellungsschicht wird als Retrieval Augmented Generation (RAG) bezeichnet und lässt sich mithilfe von Amazon Bedrock Knowledge Bases, S3 und S3 Vectors einfach implementieren. Auf diese Weise können sich Entwickler auf die Funktionalität ihrer KI-Agenten konzentrieren, anstatt die komplexe Infrastruktur für die Datenbereitstellung zu verwalten.

Aufbau, Betrieb, Skalierung

Sobald Einbettungen gespeichert und über Vektorspeicher zugänglich sind, besteht der nächste Schritt darin, KI-Agenten auszuführen, die diese Daten verwenden. Amazon Bedrock AgentCore bietet Entwicklern eine Serverless-Laufzeitumgebung. Agenten können mithilfe von Frameworks wie LangChain, Strands oder sogar selbst entwickelten Frameworks erstellt werden. Entwickler können den Agenten dann in einem ZIP-Archiv verpacken und in S3 laden. Alternativ können sie ein Container-Image erstellen und es in die Elastic Container Registry (ECR) von Amazon übertragen. Sobald sich ihr Code in S3 oder ECR befindet, können sie AgentCore so konfigurieren, dass sie ihren Agenten in der Cloud ausführen, ohne Server verwalten zu müssen. AgentCore kümmert sich auch um betriebliche Prozesse wie die Authentifizierung und unterstützt entweder integrierte AWS-Rollen für das Identitäts- und Zugriffsmanagement oder das JSON-Web-Token für die Anmeldung über einen Unternehmensidentitätsanbieter.

Amazon Bedrock und AgentCore bieten viele weitere Serverless-Funktionen, aber die drei in diesem Artikel beschriebenen bieten den idealen Ausgangspunkt für die Entwicklung agentenbasierter KI-Anwendungen mit voller Unterstützung für RAG. Erstens Amazon Bedrock für Inferenz mit einer großen Auswahl an Modellen, zweitens Amazon Bedrock Knowledge Bases und S3 Vectors für die Dokumentenindizierung und semantische Suche; und schließlich Amazon AgentCore für die sichere und kostengünstige Ausführung von Agenten.

Die Entwicklung agentenbasierter KI-Anwendungen war bisher komplex und herausfordernd, insbesondere für Startups, die oft mit begrenzten Ressourcen arbeiten. Serverless-Architekturen reduzieren diese Komplexität, da Ingenieure die zugrunde liegende Infrastruktur nicht mehr aufbauen und verwalten müssen. Ganz gleich, ob Sie ein erfahrener Entwickler von agentenbasierter KI sind oder gerade erst anfangen – Amazon Bedrock bietet eine umfassende Palette an Tools und Services, die Ihnen helfen, mit Zuversicht zu entwickeln und zu skalieren.

Sind Sie bereit, mit der Entwicklung agentenbasierter KI in AWS zu beginnen? AWS Activate bietet Zugriff auf AWS-Guthaben, mit denen die Kosten der in diesem Artikel behandelten Lösungen sowie einer Vielzahl anderer Services ausgeglichen werden können. Seit seiner Gründung im Jahr 2013 hat AWS Activate Startups auf der ganzen Welt Guthaben in Höhe von mehr als 8 Milliarden USD zur Verfügung gestellt. Gründer profitieren außerdem von Programmen und Ressourcen, technischem Support, Unternehmensberatung und einer engeren Verbindung zur globalen Startup-Community. Schließen Sie sich Millionen anderer an und entdecken Sie, wie Sie Ihre Ideen vom Konzept bis zur Cloud-tauglichen Umsetzung umsetzen können.

Wie war dieser Inhalt?