Was ist BabyAGI?

Autoren

Ivan Belcic

Staff writer

Cole Stryker

Staff Editor, AI Models

IBM Think

BabyAGI ist ein autonomes Agenten-Framework, das entwickelt wurde, um eine Abfolge von Aufgaben auf der Grundlage eines vom Benutzer angegebenen Ziels zu generieren und auszuführen. BabyAGI wurde 2023 von Yohei Nakajima öffentlich geteilt und orchestriert eine Schleife der Aufgabenerstellung, -ausführung und -priorisierung durch die Verwendung eines großen Sprachmodells (LLM) und eines Vektorspeichers. 

Die Standardimplementierung ist ein Python-Skript, das die GPT-Modelle von OpenAI über eine API, eine Vektordatenbank (in der Regel Pinecone) für den Speicher und das LangChain-Agent-Framework zur Strukturierung von KI-Agentenrollen nutzt. Die Vektordatenbank zeichnet Ergebnisse als Einbettungen auf, die für die Kontextabfrage verwendet werden, während das LLM die Argumentation und die Aufgabenlogik des Agenten unterstützt.1

Als autonomer KI-Agent iteriert BabyAGI kontinuierlich, indem es abgeschlossene Aufgabenergebnisse verwendet, um neue Aufgaben zu erstellen, die Aufgabenliste neu zu priorisieren und Unteraufgaben auszuführen. Der Prozess wird so lange fortgesetzt, bis die Aufgabenwarteschlange erschöpft ist oder eine Stoppbedingung erreicht wird.

Die neuesten KI-Trends, präsentiert von Experten

Erhalten Sie kuratierte Einblicke in die wichtigsten – und faszinierendsten – KI-Neuheiten. Abonnieren Sie unseren wöchentlichen Think-Newsletter. Weitere Informationen in der IBM Datenschutzerklärung.

Vielen Dank! Sie haben ein Abonnement abgeschlossen.

Ihr Abonnement wird auf Englisch geliefert. In jedem Newsletter finden Sie einen Abmeldelink. Hier können Sie Ihre Abonnements verwalten oder sich abmelden. Weitere Informationen finden Sie in unserer IBM Datenschutzerklärung.

Wie funktioniert BabyAGI?

BabyAGI verwendet einen sich wiederholenden dreistufigen KI-Workflow: 

  1. Aufgabenausführung: Der Ausführungsagent führt eine Aufgabe aus, indem er den Kontext aus der Vektordatenbank und das übergeordnete Ziel als Orientierung verwendet.
     

  2. Aufgabenerstellung: Basierend auf dem Ergebnis der ausgeführten Aufgabe generiert der Aufgabenerstellungsagent Folgeaufgaben, die mit dem ursprünglichen Ziel übereinstimmen. 
     

  3. Aufgabenpriorisierung: Ein Priorisierungsagent ordnet alle ausstehenden Aufgaben, einschließlich neuer Aufgaben, basierend auf Abhängigkeiten und Relevanz für das Ziel neu an. 

Die Schleife wiederholt sich, bis keine Aufgaben mehr übrig sind oder eine weitere Endbedingung erfüllt ist.

Die wichtigsten Funktionen von BabyAGI

BabyAGI besteht aus mehreren Kernmodulen, die zusammenarbeiten, um die automatisierte Erstellung, Priorisierung und Ausführung von Aufgaben zu erleichtern. Zu diesen Komponenten gehören:

  • LLM
     

  • Vektor-Datenbanken
     

  • Aufgabenliste
     

  • Aufgabenausführungsagent
     

  • Aufgabenerstellungsagent
     

  • Aufgabenpriorisierungsagent

LLM

Die LLM-Komponente von BabyAGI ist der zentrale Orchestrator des Agentensystems. Dieses Modell der künstlichen Intelligenz (KI) fungiert als hochrangiger Direktor, der die Prompts des Benutzers entgegennimmt und mithilfe der Verarbeitung natürlicher Sprache (NLP) bewertet, um das Ziel zu identifizieren. Es unterstützt auch die Agenten, die Aufgaben erstellen, ausführen und priorisieren.

BabyAGI verwendet in der Regel GPT-4 von OpenAI. Die drei Agenten im BabyAGI-System verwenden präzises Prompt-Engineering, um das Verhalten von GPT-4 in seinen Agentenrollen zu steuern.

Vektor-Datenbank

Die Vektordatenbankkomponente von BabyAGI speichert die Datensätze und Ergebnisse der abgeschlossenen Aufgaben und stellt das Gedächtnis des Agenten dar. BabyAGI kann die Ergebnisse der ersten Aufgabe verwenden, um die zweite Aufgabe zu informieren, und iteriert diesen Prozess, während er in der Aufgabenliste nach unten geht.

Vektordatenbanken speichern Daten als mathematische Darstellungen, die als Einbetten bezeichnet werden. Datenpunkte, die im hochdimensionalen Vektorraum näher beieinander liegen, gelten als semantisch ähnlicher. BabyAGI verwendet die semantische Suche, um relevante Informationen in der Datenbank zu finden.

Die kanonische Implementierung verwendet Pinecone, aber alternative Vektorspeicher wie Metas Facebook AI Similarity Search (FAISS) und Chroma werden manchmal in Varianten oder Forks verwendet. FAISS und Chroma sind Open Source, Pinecone hingegen, wie viele OpenAI-Produkte, nicht.

Aufgabenliste

Die Aufgabenliste oder Warteschlange ist eine nach Prioritäten geordnete Liste von Teilaufgaben, die sich aus dem übergeordneten Ziel und der ursprünglichen Aufgabe ergeben. Wenn der Aufgabenausführungsagent Aufgaben abschließt, werden diese Ergebnisse in die Vektordatenbank hochgeladen. Basierend auf den Ergebnissen dieser Aufgaben kann sich die Aufgabenliste ändern, wenn Prioritäten angepasst und neue Aufgaben hinzugefügt werden.

Aufgabenausführungsagent

Der Aufgabenausführungsagent verwendet das LLM und die Daten in der Vektordatenbank, um die Aufgaben in der Aufgabenliste auszuführen. Semantische Suchtechniken werden verwendet, um relevante Informationen in der Datenbank zu finden. Nachdem die Aufgabe abgeschlossen ist, erstellt das System eine neue Einbettung und speichert den Datensatz in der Datenbank.

Aufgabenerstellungsagent

Der Agent zur Aufgabenerstellung verwendet das übergeordnete Ziel und die Ergebnisse vorheriger Aufgaben, um die nächsten Aufgaben im Workflow zu generieren. Anstatt einen vorgegebenen Workflow abzuarbeiten, erlaubt die fortlaufende Aufgabengenerierung dem System, auf früheren Ergebnissen aufzubauen und dynamisch zu lernen.

Agent für die Aufgabenpriorisierung

Der Aufgabenpriorisierungsagent übernimmt die Aufgabenverwaltung, indem er die Aufgabenliste regelmäßig neu anordnet und organisiert. Seine Aufgabe ist es, Teilaufgaben auf der Grundlage der Ergebnisse früherer Aufgaben und des Zusammenhangs neuer Aufgaben mit dem übergeordneten Ziel zu priorisieren. Der Priorisierungsagent berücksichtigt auch Abhängigkeiten zwischen Aufgaben: ob eine Aufgabe abgeschlossen werden muss, bevor eine andere möglich wird.

KI-Agenten

5 Arten von KI-Agenten: Autonome Funktionen und Anwendungen in der echten Welt

Erfahren Sie, wie sich zielgerichtete und dienstprogrammbasierte KI an Workflows und komplexe Umgebungen anpassen kann.

Wie ist BabyAGI anzuwenden?

BabyAGI ist eine Python-Bibliothek und erfordert zur Verwendung einige Codierungskenntnisse in Python. Der Einrichtungsprozess ist jedoch relativ schlank:

  1. Installieren Sie Python und Git. Laden Sie das BabyAGI GitHub-Repository von github.com herunter.
     

  2. Öffnen Sie das Verzeichnis mit BabyAGI und installieren Sie alle Abhängigkeiten mit dem Befehl pip install .
     

  3. Erstellen Sie eine .env-Datei und kopieren Sie die .env-Beispieldatei hinein.
     

  4. Fügen Sie einen OpenAI API-Schlüssel und einen Pinecone API-Schlüssel zur .env Datei. Erstellen Sie bei Bedarf zunächst ein OpenAI-Konto und beschaffen Sie sich einen API-Schlüssel.
     

  5. Definieren Sie das Ziel, indem Sie den Wert OBJECTIVE ändern. Stellen Sie dann eine erste Aufgabe.
     

  6. Speichern und schließen Sie die .env- Datei.
     

  7. Geben Sie den Befehl python babyagi.py ein, um den Agenten auszuführen.

BabyAGI-Anwendungsfälle

BabyAGI ist eher eine Bildungs-Sandbox als eine produktionsreife Anwendung, die für den Einsatz durch agentenbasierte KI bereit ist. Enthusiasten des maschinellen Lernens (ML) und der agentischen KI haben BabyAGI verwendet, um autonome Aufgabenagenten und Ketten-Argumentation mit LLMs zu erkunden.

BabyAGI im Vergleich zu AutoGPT

BabyAGI wird oft mit AutoGPT verglichen, einem anderen Open-Source-Framework für autonome Agenten, das auf LLMs basiert. Beide sind KI-Tools, die entwickelt wurden, um mehrstufige Ziele zu automatisieren, indem sie ein LLM mit Speicher und Toolnutzung kombinieren.

BabyAGI führt eine kompakte Schleife aus, die Aufgaben mit einer Vektordatenbank für das Kurz- und Langzeitgedächtnis erstellt, ausführt und neu priorisiert. AutoGPT bietet ein funktionreiches Framework für die Zielzerlegung, Integration und externe API-Verwendung.

Während BabyAGI am besten als Forschungstool und Sandbox verwendet wird, kann AutoGPT größere Aufgaben automatisieren.

Ist BabyAGI künstliche allgemeine Intelligenz (Artificial General Intelligence, AGI)?

Trotz seines Namens ist BabyAGI kein Beispiel für künstliche allgemeine Intelligenz (AGI). AGI ist eine hypothetische KI, die über Denk- und Argumentationsfähigkeiten auf menschlichem Niveau verfügt. Bis heute ist AGI noch ein theoretisches Konzept. Keine KI-Anwendung, einschließlich BabyAGI, hat ein solches Maß an Ausgereiftheit erreicht.

Wie viele andere Beispiele für generative KI-Anwendungen verwendet BabyAGI fortgeschrittene statistische Modellierung, um das wahrscheinlichste Ergebnis für eine bestimmte Eingabe vorherzusagen. Sie versteht, lernt und denkt nicht wie Menschen.

Was ist BabyAGI 2?

Im Jahr 2024 stellte Nakajima BabyAGI 2 vor, eine experimentelle Variante, die ein Functionz-Framework verwendet, das Funktionen und ihre zugehörigen Metadaten in einer Datenbank speichert. Der Agent kann Funktionen mit Metadaten laden, ausführen und aktualisieren, während er sich selbst aufbaut.

Weiterführende Lösungen
Entwicklung von IBM KI-Agenten 

Ermöglichen Sie Entwicklern die Erstellung, Bereitstellung und Überwachung von KI-Agenten mit dem IBM watsonx.ai Studio.

 

watsonx.ai erkunden
Lösungen im Bereich künstlicher Intelligenz

Setzen Sie KI in Ihrem Unternehmen ein – mit branchenführendem Fachwissen im Bereich KI und dem Lösungsportfolio von IBM an Ihrer Seite.

Erkunden Sie KI-Lösungen
KI-Beratung und -Services

Erfinden Sie kritische Workflows und Abläufe neu, indem Sie KI einsetzen, um Erfahrungen, Entscheidungsfindung in Echtzeit und den geschäftlichen Nutzen zu maximieren.

KI-Services entdecken
Machen Sie den nächsten Schritt

Ganz gleich, ob Sie vorgefertigte Apps und Skills anpassen oder mithilfe eines KI-Studios eigene Agentenservices erstellen und bereitstellen möchten, die IBM watsonx-Plattform bietet Ihnen alles, was Sie brauchen.

Entdecken Sie watsonx Orchestrate watsonx.ai erkunden