KI-Agenten vs. KI-Systeme: Ein Entwickler-Leitfaden für zuverlässige Anwendungen
Dieser Blogartikel wurde automatisch erstellt (und übersetzt). Er basiert auf dem folgenden Original, das ich für die Veröffentlichung auf diesem Blog ausgewählt habe:
How to Build Effective AI Agents (without the hype) – YouTube.
KI-Agenten vs. KI-Systeme: Ein Entwickler-Leitfaden für zuverlässige Anwendungen
Die Welt spricht von KI-Agenten, doch selbst Branchenriesen wie Apple und Amazon haben Schwierigkeiten, funktionierende KI-Features in ihre Produkte zu integrieren. Viele Online-Tutorials vermitteln den Eindruck, dass jeder mit den richtigen Tools KI-Agenten bauen kann. Die Realität sieht jedoch anders aus.
Was sind KI-Agenten wirklich?
Oftmals wird unter einem KI-Agenten lediglich ein System verstanden, das an irgendeiner Stelle eine API-Anfrage an ein Large Language Model (LLM) sendet. Experten würden ein solches System jedoch nicht als echten KI-Agenten bezeichnen. Der Begriff wird oft verwendet, um Prozesse zu automatisieren. Um die Thematik klarer zu fassen, ist es hilfreich, die Unterscheidung zu betrachten, die Anthropic in ihrem Blogbeitrag "How to build effective agents" trifft:
- Workflows: Systeme, in denen LLMs und Tools durch vordefinierte Code-Pfade gesteuert werden.
- Agenten: Systeme, in denen LLMs ihre Prozesse und die Nutzung von Tools dynamisch selbst steuern und die Kontrolle über die Erledigung der Aufgabe behalten.
Es ist wichtig, als Entwickler zu verstehen, wann welcher Ansatz geeignet ist. Die momentane Popularität des Begriffs "Agenten" kann zu Verwirrung führen, da oft der Eindruck entsteht, dass komplexe Frameworks notwendig sind, um überhaupt KI-gesteuerte Anwendungen zu entwickeln.
Anthropic rät Entwicklern, bei der Entwicklung von Anwendungen mit LLMs stets die einfachste Lösung zu suchen und die Komplexität nur bei Bedarf zu erhöhen. Oft reichen optimierte einzelne LLM-Aufrufe mit Retrieval- und In-Context-Beispielen aus.
Bausteine für effektive KI-Systeme
Unabhängig davon, ob man sich für Workflows oder Agenten entscheidet, gibt es grundlegende Bausteine für den Aufbau von KI-Systemen. Als Ausgangspunkt dient ein LLM, das durch drei Schlüsselkomponenten erweitert werden kann:
- Retrieval: Das System bezieht Informationen aus externen Quellen (z.B. Datenbanken, Vektor-Datenbanken) und stellt sie dem LLM im entsprechenden Kontext zur Verfügung. In der Praxis wird dies oft durch Retrieval Augmented Generation (RAG) unter Verwendung einer Vektor-Datenbank realisiert.
- Tools: Externe Services oder APIs, die innerhalb der Anwendung aufgerufen werden können, um zusätzliche Informationen zu erhalten (z.B. Wetterdaten, Versandupdates).
- Memory: Die Speicherung vergangener Interaktionen mit dem LLM-System. Dies ermöglicht es dem Modell, sich an frühere Anfragen und Antworten zu erinnern und den Kontext besser zu verstehen.
Die Kombination dieser drei Elemente verbessert die Qualität der LLM-Aufrufe, indem sie den Kontext erweitert und präzisere Ergebnisse ermöglicht. Das Zusammenspiel von Retrieval, Tools und Memory hebt die Anwendung über einen einfachen OpenAI-Wrapper hinaus.
Workflow-Muster für KI-Systeme
Neben den oben genannten Bausteinen gibt es verschiedene Workflow-Muster, die bei der Entwicklung von KI-Systemen eingesetzt werden können:
- Prompt Chaining: Mehrere LLM-Aufrufe werden miteinander verkettet, wobei die zuvor generierten Informationen an den nächsten Aufruf weitergegeben werden. Dies ermöglicht die Aufteilung komplexer Probleme in kleinere, besser handhabbare Schritte.
- Routing: Das LLM entscheidet anhand der eingehenden Daten und des Kontexts, welcher Weg eingeschlagen werden soll. Dies ist besonders nützlich, wenn das System verschiedene Szenarien, Fälle oder Lösungen berücksichtigen muss.
- Parallelization: Mehrere LLM-Aufrufe werden parallel ausgeführt, was die Anwendungsgeschwindigkeit erhöht. Dies ist ideal, wenn Aufgaben unabhängig voneinander bearbeitet werden können.
- Orchestrator-Worker: Ein LLM analysiert den Kontext und entscheidet, welche Schritte zur Lösung eines Problems erforderlich sind. Dies ermöglicht flexiblere und weniger hartcodierte Abläufe.
- Evaluator-Optimizer: Ein LLM erstellt eine Ausgabe, die dann von einem anderen LLM überprüft und optimiert wird. Dieser iterative Prozess führt zu einer kontinuierlichen Verbesserung der Ergebnisse.
Das Agent-Muster
Im Gegensatz zu Workflows haben Agenten keinen klar definierten Start- und Endpunkt. Sie operieren innerhalb einer bestimmten Umgebung, basierend auf gegebenen Anweisungen und Zielen. Der Agent nutzt LLMs und Tools in einer Schleife, basierend auf dem Feedback der Umgebung. Dieses Muster ermöglicht die Bearbeitung komplexer Aufgaben, ist jedoch schwer zuverlässig umzusetzen.
Ein Beispiel für einen solchen Ansatz ist Devin, der KI-Softwareentwickler. Die Ergebnisse sind aber noch mangelhaft.
Tipps für die Entwicklung zuverlässiger KI-Systeme
Abschließend noch einige Tipps für die Entwicklung von KI-Systemen:
- Vorsicht bei Agent-Frameworks: Sie ermöglichen zwar einen schnellen Einstieg, aber es ist wichtig, die zugrunde liegenden Mechanismen zu verstehen.
- Priorisierung deterministischer Workflows: Beginnen Sie mit einfachen, isolierten Problemen und bauen Sie die Komplexität schrittweise aus.
- Skalierung nicht unterschätzen: Der Übergang von der Demo zur Anwendung für eine große Anzahl von Nutzern ist eine Herausforderung.
- Testen und Evaluieren: Ein systematisches Test- und Evaluationssystem ist unerlässlich, um die Qualität der Anwendung sicherzustellen.
- Guardrails implementieren: Schützen Sie Ihre Marke und Ihren Ruf, indem Sie verschiedene Sicherheitsüberprüfungen durchführen.
Indem man diese Prinzipien befolgt, lassen sich effektivere und zuverlässigere KI-Systeme entwickeln, die den Bedürfnissen der Nutzer gerecht werden.