KI-Agentenmuster, die ich beim Bau von AIdaemon gelernt habe
Wenn Leute über KI-Agentenmuster sprechen, beschreiben sie diese meist abstrakt. Hier erfahren Sie, wie sieben bekannte Muster tatsächlich in AIdaemon funktionieren, einem selbst gehosteten KI-Agenten-Daemon, den ich in Rust entwickle.
Die ReAct-Schleife (Reason + Act)
ReAct ist die Grundlage der meisten modernen Agenten. Anstatt einen gesamten Plan durchzudenken und ihn auf einmal auszuführen, wechselt der Agent zwischen dem Nachdenken darüber, was als Nächstes zu tun ist, und der tatsächlichen Ausführung.
In AIdaemon zeigt sich dies als phasenbasierter Ausführungszyklus. Jeder Durchlauf durchläuft das Nachrichtenerstellen, einen LLM-Aufruf, die Tool-Ausführung und eine Stoppprüfung. Der Agent überlegt seinen nächsten Schritt, führt eine Aktion aus, beobachtet das Ergebnis und überlegt dann erneut. Diese Schleife wird fortgesetzt, bis der Agent entscheidet, dass er fertig ist, oder ein Iterationslimit erreicht.
Die Schönheit von ReAct liegt in der Anpassungsfähigkeit. Wenn ein Befehl fehlschlägt oder unerwartete Ergebnisse liefert, fährt der Agent nicht blind mit dem ursprünglichen Ansatz fort. Er wertet neu aus und passt sich an.
Planung
Planung bedeutet, eine komplexe Aufgabe in Schritte zu zerlegen, bevor man sich darauf einlässt. Anstatt sofort das erste Tool zu greifen und mit der Arbeit zu beginnen, analysiert ein Planungsagent die Anfrage, identifiziert Abhängigkeiten und reiht Operationen in einer logischen Reihenfolge aneinander.
In AIdaemon kann der Agent einen strukturierten Plan mit konkreten Schritten generieren, bevor er überhaupt ein Tool berührt. Dies verhindert den häufigen Fehlerfall, bei dem ein Agent mit der Ausführung beginnt, auf halbem Weg feststellt, dass er Informationen aus Schritt 5 benötigte, um Schritt 2 abzuschließen, und am Ende im Kreis läuft.
Planung hilft auch bei der Transparenz. Wenn Sie den Plan des Agenten sehen können, bevor er ihn ausführt, erkennen Sie falsche Annahmen frühzeitig, anstatt sie zu entdecken, nachdem der Agent bereits Änderungen vorgenommen hat.
Reflexion
Reflexion ist die Fähigkeit des Agenten, seine eigene Arbeit zu bewerten. Nach Abschluss einer Aktion wechselt ein reflektierender Agent in den Kritiker-Modus. Er prüft auf Fehler, verifiziert, dass Einschränkungen eingehalten wurden, und identifiziert Lücken.
In AIdaemon greift die Reflexions-Feedbackschleife ein, wenn etwas schiefgeht. Wenn ein Tool-Aufruf fehlschlägt oder unerwartete Ergebnisse liefert, analysiert der Agent, was passiert ist, warum es fehlgeschlagen ist, und schlägt eine Korrektur vor, bevor er es erneut versucht. In Kombination mit der Nachverfolgung des Beweisstatus behält der Agent konkrete Beobachtungen darüber, was er gesehen und getan hat. Seine Reflexionen basieren auf tatsächlichen Ergebnissen und nicht auf Annahmen.
Gedächtnis
Gedächtnis ist die Art und Weise, wie ein Agent Informationen über Konversationen hinweg speichert. Ohne sie beginnt jede Interaktion bei Null.
AIdaemon verwendet SQLite-basierte Vektoreinbettungen für den semantischen Abruf. Fakten werden automatisch aus Konversationen extrahiert und mit Einbettungen gespeichert, sodass sie nach Bedeutung und nicht nur nach Schlüsselwörtern abgerufen werden können. Wenn Sie vor drei Wochen ein Projektdetail erwähnt haben, kann sich der Agent daran erinnern, wenn es wieder relevant wird.
Das Speichersystem erstellt außerdem Episodenzusammenfassungen für lang andauernde Sitzungen und fasst Fakten täglich zusammen, wobei alte, nicht mehr nützliche Informationen dedupliziert und abgebaut werden. Es ist der Unterschied zwischen einem Agenten mit Amnesie und einem, der Ihren Kontext mit der Zeit tatsächlich lernt.
Guardrails (Schutzplanken)
Guardrails definieren die harten Grenzen dessen, was ein Agent tun kann und was nicht. Sie sind das Sicherheitsnetz, das Randfälle abfängt, die durch gutes Prompting allein nicht verhindert werden.
AIdaemon implementiert Guardrails auf mehreren Ebenen. Eine Whitelist für Befehle schränkt ein, welche Terminalbefehle der Agent ausführen kann. Das Filtern von Tools basierend auf dem Risikoniveau bedeutet, dass destruktive Vorgänge zusätzliche Überprüfung erfordern. Die Bereinigung der Ausgabe entfernt sensible Daten wie API-Schlüssel und Tokens aus Antworten, bevor sie den Benutzer erreichen. Und Iterationslimits verhindern durchgehende Schleifen, bei denen der Agent Tokens verbraucht, ohne Fortschritte zu machen.
Die Branche hat sich auf diesen mehrschichtigen Ansatz geeinigt. Die meisten Agenten-Frameworks für die Produktion behandeln Guardrails als Tiefenverteidigung und nicht als einzelnen Kontrollpunkt.
Human-in-the-loop
Human-in-the-loop ist das Muster, bei dem vor riskanten Aktionen eine menschliche Bestätigung eingeholt wird. Es ist die Erkenntnis, dass einige Entscheidungen nicht vollständig automatisiert werden sollten.
AIdaemon verwendet einen Genehmigungsablauf mit drei Optionen für riskante Aktionen: Einmal zulassen (dieses Mal fortfahren), Immer zulassen (diese Aktion zukünftig vertrauen) und Ablehnen (stoppen und etwas anderes versuchen). Der Agent klassifiziert Aktionen automatisch nach Risikostufe. Eine Datei lesen? Kein Tor erforderlich. Dateien löschen oder unbekannte Shell-Befehle ausführen? Der Agent hält an und fragt nach.
Der Schlüssel liegt in der risikobasierten Steuerung und nicht in der Steuerung von allem. Zu viele Unterbrechungen machen den Agenten unbrauchbar. Zu wenige und Sie vertrauen ihm Aktionen an, die echten Schaden anrichten könnten.
Fähigkeitserwerb (Skill Learning)
Fähigkeitserwerb bedeutet, dass der Agent erfolgreiche Muster in wiederverwendbare Anweisungen umwandelt. Die meisten Agenten behandeln jede Aufgabe als einmalig. Der Fähigkeitserwerb ermöglicht es dem Agenten zu erkennen, wann er eine Art von Problem mehrmals gelöst hat, und diese Lösung für die zukünftige Verwendung zu verpacken.
In AIdaemon generiert das System einen Entwurf für eine Fähigkeit, wenn ein Verfahren 5 Mal oder öfter mit einer Erfolgsquote von mindestens 80 % verwendet wurde. Dieser Entwurf muss noch von einem Menschen überprüft werden, bevor er aktiv wird, was verhindert, dass der Agent falsche Lehren zieht. Nach der Genehmigung kann der Agent beim nächsten Mal, wenn eine ähnliche Aufgabe ansteht, auf diese Fähigkeit zurückgreifen, anstatt sie von Grund auf neu zu entwickeln. Fähigkeiten können auch aus Dateien, URLs oder Remote-Registern geladen werden, sodass Sie sie über verschiedene Setups hinweg teilen können.
Dies ist eines dieser Muster, die sich mit der Zeit potenzieren. Je länger der Agent läuft, desto mehr Fähigkeiten sammelt er an und desto schneller erledigt er wiederkehrende Arbeiten.