AgentSpeak(L) BDI-Architektur
Nutze diese Skill, wenn das Schwierige nicht darin besteht, einen weiteren Workflow zu schreiben, sondern zu entscheiden, wie ein autonomer Agent unter sich ändernden Bedingungen reagieren, sich festlegen, Arbeit aussetzen und seine Wahl erklären soll.
Wann verwenden
- Ein System muss auf neue Ereignisse reagieren, ohne laufende, längerfristige Verpflichtungen aufzugeben.
- Du brauchst eine Planbibliothek mit wiederverwendbaren Verhaltensweisen, die durch den aktuellen Kontext ausgewählt werden, anstatt einen monolithischen Controller zu verwenden.
- Agenten-Policy muss vom Domänenwissen getrennt bleiben, damit Dringlichkeit, Fairness oder Risikotoleranz geändert werden können, ohne Pläne neu zu schreiben.
- Fehler sollen Wiederherstellungsverhalten und Neuplanung auslösen, anstatt den gesamten Agenten zum Absturz zu bringen.
- Du benötigst ein überprüfbares mentales Modell dafür, warum ein Agent eine bestimmte Aufgabe oder einen bestimmten Plan einem anderen vorgezogen hat.
Nicht geeignet für
- Einfache Regelwerke, bei denen keine dauerhaften Verpflichtungen oder Intention-Stacks benötigt werden.
- Statische Planungsprobleme, bei denen die Umgebung die Ausführung nicht unterbricht.
- Zentralisierte Workflow-Systeme, bei denen ein einzelner Scheduler bereits jeden Schritt vorgibt.
- Prompt-basierte Agenten-Schleifen, die Überzeugungen, Pläne oder Policy nie getrennt repräsentieren.
Kernkonzepte
Überzeugungen, Wünsche und Intentionen sind unterschiedliche Objekte
Überzeugungen modellieren die aktuelle Welt, Wünsche definieren mögliche Ergebnisse, und Intentionen sind die spezifischen festgelegten Plan-Stacks, die aktuell das Ausführungsbudget verbrauchen. Wenn diese in einem einzigen Klumpen zusammenfallen, hört der Agent auf, interpretierbar zu sein.
Pläne sind situiertes Wissen
AgentSpeak-Pläne sind keine generischen Prozeduren. Sie sind ereignisgesteuerte Rezepte mit Kontextwachen, sodass dasselbe Ziel unterschiedliche Verhaltensweisen aufrufen kann, je nachdem, was der Agent gerade glaubt.
Auswahlfunktionen beinhalten die Policy
Der Ereignis-Selektor, Options-Selektor und Intention-Selektor sind die Orte, an denen Dringlichkeit, Fairness und Risikotoleranz hingehören. Pläne sollten Know-how kodieren; Auswahlfunktionen sollten Strategie kodieren.
Unterbrechbarkeit ist ein Feature, kein Bug
Intentionen sind teilweise ausgeführte Stacks, die verschränkt, pausiert und fortgesetzt werden können. Genau das ermöglicht es reaktionsfähigen Agenten, Unterbrechungen zu behandeln, ohne jede lange Aufgabe in einen Neustart zu verwandeln.
Vom laufenden System aus formalisieren
Die praktische Lektion von AgentSpeak(L) ist, von einem operativen Agentenzyklus auszugehen und zu formalisieren, was er tatsächlich tut. Schreibe keine elegante abstrakte Theorie, die später approximativ in Laufzeitverhalten übersetzt werden muss.
Entscheidungspunkte
flowchart TD
A[Benötige autonomes Verhaltensdesign] --> B{Dauerhafte Verpflichtungen erforderlich?}
B -->|Nein| C[Nutze Regeln, Zustandsmaschinen oder einen einfachen Workflow]
B -->|Ja| D{Unterbricht die Umgebung aktive Arbeit?}
D -->|Nein| E[Klassischer Planer kann ausreichen]
D -->|Ja| F{Policy von Plänen getrennt erforderlich?}
F -->|Nein| G[Benutzerdefinierte Agentenschleife, aber Kopplung erwarten]
F -->|Ja| H[Verwende AgentSpeak-artiges BDI]
H --> I{Aktuelles Problem}
I -->|Falsche Aufgabe gewählt| J[Überprüfe SI oder SE]
I -->|Falscher Plan gewählt| K[Überprüfe SO oder Kontextwachen]
I -->|Fehler tötet Ausführung| L[Füge Fehlerereignisse und Wiederherstellungspläne hinzu]
I -->|Schwer zu auditieren| M[Lege Intention-Stack und Auswahlspuren offen]
- Verwende das AgentSpeak-artige Modell, wenn das System Reaktionsfähigkeit mit Verpflichtung abwägen muss, anstatt sich für eines zu entscheiden.
- Platziere Weltannahmen in Glaubensabfragen und Planwachen, nicht als Bedingungen, die tief in Aktionen vergraben sind.
- Wenn sich die Strategie ändert, das Domänenwissen jedoch nicht, ändere Auswahlfunktionen, bevor du Pläne neu schreibst.
- Zerlege lange Aufgaben in Unterziele, damit Intention-Stacks überprüfbar und unterbrechbar bleiben.
Fehlermodi
Ziel-Intention-Kollaps
Hinweis: Das Design sagt, der Agent „hat ein Ziel", kann aber nicht zeigen, ob er tatsächlich Ressourcen dafür gebunden hat.
Korrektur: Repräsentiere Kandidatenziele getrennt von aktuell aktiven Intention-Stacks.
Policy in Plänen versteckt
Hinweis: Jeder Plankörper enthält Verzweigungen für Priorität, Fairness oder Dringlichkeit.
Korrektur: Verschiebe diese Entscheidungen in Ereignis-, Options- oder Intention-Auswahlfunktionen.
Monolithische Pläne
Hinweis: Pläne sind so lang, dass jede Unterbrechung gedanklich einen Neustart der gesamten Sequenz erzwingt.
Korrektur: Teile lange Verhaltensweisen in kürzere Pläne mit expliziten Unterzielgrenzen auf.
Fehler als Absturz, nicht als Ereignis
Hinweis: Ein fehlgeschlagenes Unterziel bringt den gesamten Agenten zum Absturz oder verschwindet lautlos.
Korrektur: Modelliere Fehler als Ereignis, das Wiederherstellungs-, Wiederholungs- oder Abbruchpläne auslösen kann.
Unbegründete Kontextwachen
Hinweis: Pläne passen auf vage Weltannahmen, die nie an reale Überzeugungen oder Beobachtungen gebunden sind.
Korrektur: Mache Glaubensaktualisierungspfade explizit und halte Wachen gegen den aktuellen Glaubenszustand abfragbar.
Ausgearbeitete Beispiele
Tool-nutzender LLM-Agent mit dringenden Unterbrechungen
Ein Codierungsagent arbeitet an einem großen Refactoring, als eine hochkritische Produktionswarnung eintrifft. Modelliere das Refactoring als einen Intention-Stack und die Warnung als ein neues Ereignis. Lasse Auswahlfunktionen das Refactoring unterbrechen und später fortsetzen, ohne den Zustand zu verlieren.
Lagerkoordination ohne zentrale Steuerung
Mehrere mobile Agenten teilen eine Glaubensbasis über Gangstaus und Lagerbestand. Ihr Domänenwissen bleibt in Plänen, während Auswahlfunktionen kodieren, welche dringenden Kommissionieraufträge unter Staus Nachschubarbeit überstimmen.
Qualitätskriterien
- Überzeugungen, Wünsche und Intentionen werden getrennt repräsentiert.
- Jedes wesentliche auslösende Ereignis hat mindestens einen Plan mit einer expliziten Kontextwache.
- Das Design benennt, wo die SE-, SO- und SI-Policy lebt.
- Fehlerpfade erzeugen Ereignisse oder Wiederherstellungspläne statt lautlosem Zusammenbruch.
- Ein Prüfer kann aktive Intentionen inspizieren und erklären, warum ein Plan einem anderen vorgezogen wurde.
Erkennungsmerkmale
- Wenn jemand nicht erklären kann, was der Unterschied zwischen einem Ziel, das ein Agent möchte, und einer Intention, auf die er sich festgelegt hat, ist, dann hat er das Modell nicht verinnerlicht.
- Wenn „Strategie"-Änderungen das Umschreiben von Plankörpern erfordern, waren Policy und Wissen nie getrennt.
- Wenn der Agent nicht sagen kann, was ihn unterbrochen hat und was er als nächstes fortsetzen wird, verwendet er nicht wirklich Intention-Stacks.
Referenzweiterleitung
references/bdi-architecture-for-agent-orchestration.md: lade, um den vollständigen Agentenzyklus und das Zusammenspiel von B/D/I zu verstehen.references/context-sensitive-plans-as-agent-knowledge.md: lade, wenn Planstruktur und Wachendesign das Hauptproblem sind.references/selection-functions-as-agent-policy.md: lade, wenn Priorität, Fairness oder Risikotoleranz eine explizite Policy-Behandlung benötigen.references/intention-management-and-goal-decomposition.md: lade, wenn Suspend/Resume, Unterziele oder Intention-Überprüfbarkeit im Mittelpunkt stehen.references/failure-modes-in-bdi-systems.md: lade, wenn das aktuelle Design bereits existiert und du Zusammenbrüche debuggen musst.