Werk:AI mit Arnie/Erste "echte" KI Agenten
Lass uns Agents bauen. Und du hast schon gesehen, du kannst Dinge lokal laufen lassen. Jetzt werden wir aber wieder die besten APIs verwenden – die OpenAI API – und wir werden Agenten bauen. Wir werden einen Supervisor verwenden. Der Supervisor, der sagt den Arbeitern, was sie machen müssen. Und hier kannst du wirklich unglaublich kreativ werden. Wir werden erstmal einen ganz, ganz einfachen Workflow erstellen. Unser Ziel ist es, den Code zu bekommen für das Snake-Spiel. Und jemand, also ein anderer Arbeiter, sollte danach beschreiben, was dieser Code macht.
Wie machen wir das Ganze? Natürlich: Wir gehen hier auf Agent Flows, wir klicken „Add New“. Danach gehen wir auf das Plus. Natürlich müssen wir danach starten mit irgendwas, und wir starten mit dem Supervisor. Wir brauchen immer Supervisor. Und hier drunter haben wir natürlich noch die Worker, die Arbeiter. Das heißt, ich ziehe ganz einfach mal den Supervisor rein. Hier ist der erste Arbeiter, und ich will noch den zweiten Arbeiter hinzufügen. Du kannst das expandieren, wie groß du willst. Tatsächlich, ein Supervisor, der wird entscheiden dafür, was die Arbeiter tun sollen. Und natürlich müssen wir danach den Supervisor auch verbinden mit den Arbeitern. Und zwar erstmal mit beiden. Das wird jetzt ein ganz, ganz einfaches Beispiel. Okay. Lasst uns einfach starten.
Wenn wir hier beim Supervisor starten, dann siehst du, dass wir das ganz da oben verbinden müssen. Natürlich, hier muss ein LLM angehängt werden. Der Supervisor-Name – das lassen wir einfach hier bei „Supervisor“. Und danach haben wir die Additional Parameters. Wenn wir hier drauf klicken, sehen wir hier schon einen System-Prompt. Wir können die Dinge natürlich immer groß machen, und ich würde sagen, diesen System-Prompt, den lassen wir einfach, denn der ist relativ gut. Das heißt, wir lassen das jetzt ganz einfach so laufen. Wir klicken erstmal Speichern, geben dem Ding einen Namen – „CodeAgent“ zum Beispiel.
Danach fügen wir jetzt natürlich ein LLM hinzu. Denn sonst kann unser Supervisor nicht arbeiten. Chat Models. Und wir wollen hier natürlich die OpenAI-Modelle verwenden, weil die am stärksten sind. Also: Chat OpenAI. Wir schmeißen das Ding rein, wir packen es hier rüber, und wir müssen das natürlich verbinden mit unserem Supervisor.
Jetzt sollten wir hier die Credentials angeben. Ich verwende hier natürlich wieder Kurs, weil wir da schon unseren API-Key mit drinnen haben. Ich will hier das GPT-4o-Modell verwenden, weil das das stärkste ist. Und die Temperatur, die können wir auf 0 stellen oder auf 0,1 stellen. Ich will die Temperatur einfach auf 0 runterziehen hier, und wir speichern das Ganze nochmal.
Jetzt kommt was Witziges: Diese Arbeiter, die können Tools verwenden. Das heißt, jeder dieser Arbeiter, die können eventuell die Websuche mit eingebaut bekommen, Taschenrechner oder verschiedene Dinge. Für unser Beispiel müssen sie das nicht können.
Danach natürlich das da noch das Chat-Modell. Diese Arbeiter können auch andere Chat-Modelle verwenden, was ab und zu praktisch sein kann. Du siehst aber, dass wir hier kein Sternchen haben. Wenn wir hier kein Sternchen haben, dann bedeutet das, dass dieser Arbeiter automatisch an dieses Modell angeschlossen wird. Es könnte aber praktisch sein, wenn du spezifische Fälle hast, dass du hier einfach nochmal natürlich „Plus“ klickst, du gehst auf die Chat-Modelle und du schmeißt ganz einfach ein neues Chat-Modell mit rein.
Meinetwegen muss ein Arbeiter nur irgendetwas ganz, ganz Doofes, etwas Blödes, etwas Einfaches machen. Und du könntest hier z. B. nochmal dieses Chat OpenAI-Modell mit reinholen. Du könntest dir die Credentials wieder Kurs nehmen und ein Modell verwenden, das ganz, ganz günstig ist, z. B. GPT-3.5 Turbo. Und du verbindest es natürlich mal wieder hier mit unserem Arbeiter. Aber wie gesagt, ich will das hier einfach mal so lassen. Du verstehst natürlich, wie das Ganze läuft. Dasselbe gilt natürlich für den zweiten Arbeiter auch. Der könnte Tools verwenden, und auch der könnte andere Modelle verwenden.
Die Dinge, die wir jetzt aber machen müssen, ist natürlich dem Arbeiter einen Namen zu geben und danach natürlich noch unseren System-Prompt. Und dieser Arbeiter, der heißt jetzt „CodeAgent“, z. B. Und der Arbeiter heißt „CodeBeschreiber“, meinetwegen. Beim CodeAgent müssen wir jetzt natürlich eintragen, was er macht. Das hier ist kein Research-Agent. Natürlich, du kannst dir auch Research-Agenten machen und vieles, vieles mehr. Du kannst einbauen, was auch immer du willst. Ich will das Ganze einfach machen. Ich sage ihm einfach, dass er Python-Experte ist und dass er Code für Applications macht. Und zwar so einfach wie möglich. Ich klicke hier „Save“. So, das ist hier unser Softwareentwickler.
Danach der CodeBeschreiber. Und dieser Typ sollte ganz einfach beschreiben, wie der Code funktioniert. Und wir machen das jetzt einfach mal in Deutsch. „Du bist ein Experte, um zu sehen, wie Code funktioniert. Du siehst dir Code an und beschreibst, was er macht und wie man ihn in Replit laufen lassen kann. Du gibst detaillierte Beschreibungen. Rechtschreibung nicht ganz so wichtig.“ Das heißt, wir haben jetzt einen KI-Agenten. Unser Supervisor wird, wenn wir eine Aufgabe stellen, erstmal rausfiltern, was alles, was wir machen müssen. Das heißt, ein Arbeiter wird den Code schreiben, der zweite Arbeiter wird sich den Code ansehen und wird uns beschreiben, wie wir den Code in Replit verwenden können.
Wir könnten natürlich noch weitere Arbeiter hier einfügen. Bevor wir das machen, will ich das aber speichern, und ich will mal testen, ob das Ganze klappt. Ich klicke hier drauf und ich frage hier jetzt einfach mal Folgendes: „Ich brauche ein Snake-Spiel.“ Du siehst, der Supervisor sagt jetzt zum CodeAgenten, dass wir Code brauchen. Und der CodeAgent macht sich an die Arbeit.
Ich muss sagen, diese Agenten, die können untereinander relativ viel kommunizieren. Und die API-Kosten können sich eventuell mit der Zeit summieren.
Jetzt geht der Supervisor her und sagt zum CodeBeschreiber: „Hey, wir brauchen die Beschreibung für diesen Code. Wir müssen das natürlich beschreiben und wir müssen wissen, wie wir diesen Code einsetzen.“
Du siehst hier natürlich, ich kann hier nicht alles sofort lesen, aber ich kann das natürlich auch expandieren und groß machen. Dann können wir uns das Ganze ansehen. Also, wir gehen hier hoch. Was ist alles passiert? Also, hier der CodeAgent. Natürlich, hier haben wir den ganzen Python-Code. Danach scrollen wir runter. Wir gehen davon aus, dass wir uns nicht wirklich gut auskennen. Dann kommt der CodeBeschreiber ins Spiel. Und er beschreibt uns den Code: Importieren der Bibliotheken. Der Code importiert die Pygame-Bibliothek für die Spielentwicklung und so weiter. Danach: Installation von Pygame. Farben definieren. Display-Größen festlegen. Installation des Displays und so weiter. Er beschreibt uns einfach, was wir hier tatsächlich machen müssen.
Und danach: Ausführen des Codes in Replit. „Replit öffnen, gehen Sie zu Replit.“ Wir bekommen sogar einen Link hier. „Neues Python-Projekt erstellen, klicken Sie auf ‚Create‘ und wählen Sie Python als Template.“ Ich will die Dinge einfach mal alle umsetzen. Ich ziehe hier das hier raus. Also: „Create Replit Python Agent. Create Replit.“
Was sagt uns das Ding als Nächstes? „Code einfügen. Löschen Sie den Standardcode und fügen Sie natürlich die Dinge hier nacheinander ein. Und zum Schluss: Spiel ausführen.“ Und danach sagt der Supervisor „Finished“. Hier ist eine detaillierte Beschreibung, wie der bereitgestellte Code funktioniert. Und ich habe das Ganze hier tatsächlich laufen. Das heißt, unser Agent sagte uns, wir müssen den Code jetzt nur noch kopieren. Er sagt uns auch, wir müssen hier den Code löschen, falls Code da ist. Ich will den Code einfügen. Ich klicke „Run“. Und ich bin gespannt, ob ich jetzt sofort Snake spielen kann oder nicht.
Unser KI-Agent hat uns hier theoretisch zumindest alles mit einem einzigen Input hier erstellt und auch beschrieben, wie wir die Dinge umsetzen müssen. Das sind KI-Agenten. Das macht auch Autogen. Aber hier funktioniert das Ganze einfach besser und einfacher, sage ich mal. Und boom, wir haben hier sofort ein Snake-Spiel. Das Snake-Spiel scheint auch zu funktionieren, zumindest auf den ersten Blick. Ich fahre in die Wand und bin gestorben. Das hat also alles perfekt funktioniert. Also, sehr gut hier, unser kleiner KI-Agent. Wir könnten das natürlich noch viel, viel, viel weiter ausbauen.
Gespeichert sind diese Agenten übrigens immer genau hier unter „Agents“. Das heißt, nicht im Marketplace, nicht in den Standard-Chatflows, sondern bei „Agent Flows“. Hier bei „Agent Flows“ ist unser CodeAgent jetzt gespeichert.
Wir haben also unseren kompletten KI-Agenten erstellt. Der KI-Agent, der kann die gleichen Dinge machen so wie Autogen. Unser KI-Agent kann bis jetzt natürlich nur zwei Arbeiter verwenden. Er hat noch keine Tools eingebaut und nichts. Aber du hast gesehen, wie sich die Dinge untereinander unterhalten können. Und insgesamt bekommen wir natürlich ganz, ganz gute Outputs von solchen KI-Agenten.
Das ist das generelle Konzept. Und im nächsten Video tauchen wir noch ein klein wenig tiefer ein und machen etwas, das ein klein wenig komplexer ist.