BDI-Mentalzustandsmodellierung
Transformieren Sie externen RDF-Kontext mit formalen BDI-Ontologiemustern in mentale Agentenzustände (Überzeugungen, Wünsche, Absichten). Dieses Skill ermöglicht es Agenten, Kontext durch kognitive Architektur zu verarbeiten und unterstützt deliberatives Reasoning, Erklärbarkeit und semantische Interoperabilität in Multi-Agenten-Systemen.
Wann aktivieren
Aktivieren Sie dieses Skill, wenn:
- Externer RDF-Kontext in Agentenüberzeugungen über Weltzustände verarbeitet wird
- Rationale Agenten mit Wahrnehmungs-, Überlegungs- und Aktionszyklen modelliert werden
- Erklärbarkeit durch nachvollziehbare Reasoning-Ketten ermöglicht werden soll
- BDI-Frameworks (SEMAS, JADE, JADEX) implementiert werden
- LLMs mit formalen kognitiven Strukturen (Logik-Augmentierte-Generierung) erweitert werden
- Mentale Zustände über Multi-Agenten-Plattformen hinweg koordiniert werden
- Die zeitliche Entwicklung von Überzeugungen, Wünschen und Absichten verfolgt wird
- Motivationszustände mit Aktionsplänen verknüpft werden
Aktivieren Sie dieses Skill nicht für angrenzende Arbeiten, die von anderen Skills abgedeckt werden:
- Allgemeine Kontextfenster-Erklärungen oder Aufmerksamkeitsmechanismen:
context-fundamentals. - Persistenter Benutzer-, Entitäts- oder Gesprächsspeicher ohne formale BDI-Zustände:
memory-systems. - Entscheidungen über Supervisor-, Schwarm- oder Übergabe-Topologien:
multi-agent-patterns. - Allgemeine Bewertungsrubriken oder Qualitätskriterien für Agenten:
evaluation.
Kernkonzepte
Mentale-Realitäts-Architektur
Trennen Sie mentale Zustände in zwei ontologische Kategorien, da BDI-Reasoning erfordert, zwischen dem, was besteht, und dem, was geschieht, zu unterscheiden:
Mentale Zustände (Endurants) – modellieren Sie diese als persistente kognitive Attribute, die über Zeitintervalle hinweg gelten:
Belief: Stellt dar, was der Agent für wahr hält. Verankern Sie jede Überzeugung in einer Weltzustandsreferenz.Desire: Stellt dar, was der Agent herbeiführen möchte. Verknüpfen Sie jeden Wunsch mit den Überzeugungen, die ihn motivieren.Intention: Stellt dar, was der Agent zu erreichen beabsichtigt. Eine Absicht muss einen Wunsch erfüllen und einen Plan spezifizieren.
Mentale Prozesse (Perdurants) – modellieren Sie diese als Ereignisse, die mentale Zustände erzeugen oder verändern, da die Verfolgung kausaler Übergänge Erklärbarkeit ermöglicht:
BeliefProcess: Löst die Bildung/Aktualisierung von Überzeugungen aus der Wahrnehmung aus. Verbinden Sie dies immer mit einem erzeugenden Weltzustand.DesireProcess: Erzeugt Wünsche aus bestehenden Überzeugungen. Bewahrt die Motivationskette.IntentionProcess: Verpflichtet sich zu ausgewählten Wünschen als handlungsrelevante Absichten.
Kognitives Kettenmuster
Verknüpfen Sie Überzeugungen, Wünsche und Absichten mit bidirektionalen Eigenschaften (motivates/isMotivatedBy, fulfils/isFulfilledBy) zu gerichteten Ketten, da dies sowohl Vorwärts-Reasoning (Was soll der Agent tun?) als auch Rückwärtsverfolgung (Warum hat der Agent gehandelt?) ermöglicht:
:Belief_store_open a bdi:Belief ;
rdfs:comment "Store is open" ;
bdi:motivates :Desire_buy_groceries .
:Desire_buy_groceries a bdi:Desire ;
rdfs:comment "I desire to buy groceries" ;
bdi:isMotivatedBy :Belief_store_open .
:Intention_go_shopping a bdi:Intention ;
rdfs:comment "I will buy groceries" ;
bdi:fulfils :Desire_buy_groceries ;
bdi:isSupportedBy :Belief_store_open ;
bdi:specifies :Plan_shopping .
Weltzustandsverankerung
Verankern Sie mentale Zustände immer in Weltzustandsreferenzen anstelle von Freitextbeschreibungen, da unverankerte Überzeugungen semantische Abfragen und die Zusammenarbeit zwischen Agenten beeinträchtigen:
:Agent_A a bdi:Agent ;
bdi:perceives :WorldState_WS1 ;
bdi:hasMentalState :Belief_B1 .
:WorldState_WS1 a bdi:WorldState ;
rdfs:comment "Meeting scheduled at 10am in Room 5" ;
bdi:atTime :TimeInstant_10am .
:Belief_B1 a bdi:Belief ;
bdi:refersTo :WorldState_WS1 .
Zielgerichtete Planung
Verbinden Sie Absichten über bdi:specifies mit Plänen und zerlegen Sie Pläne mit bdi:precedes in geordnete Aufgabenfolgen, da diese Trennung die Wiederverwendung von Plänen für verschiedene Absichten ermöglicht und gleichzeitig die Ausführungsreihenfolge explizit hält:
:Intention_I1 bdi:specifies :Plan_P1 .
:Plan_P1 a bdi:Plan ;
bdi:addresses :Goal_G1 ;
bdi:beginsWith :Task_T1 ;
bdi:endsWith :Task_T3 .
:Task_T1 bdi:precedes :Task_T2 .
:Task_T2 bdi:precedes :Task_T3 .
T2B2T-Paradigma
Implementieren Sie Triples-to-Beliefs-to-Triples als bidirektionale Pipeline, da Agenten sowohl externen RDF-Kontext konsumieren als auch neue RDF-Assertionen produzieren müssen. Strukturieren Sie jede T2B2T-Implementierung in zwei explizite Phasen:
Phase 1: Triples-to-Beliefs – Übersetzen Sie eingehende RDF-Tripel in Überzeugungsinstanzen. Verwenden Sie bdi:triggers, um den externen Weltzustand mit einem BeliefProcess zu verbinden, und bdi:generates, um die resultierende Überzeugung zu erzeugen. Dies bewahrt die Herkunft von den Quelldaten bis zur internen Kognition:
:WorldState_notification a bdi:WorldState ;
rdfs:comment "Push notification: Payment request $250" ;
bdi:triggers :BeliefProcess_BP1 .
:BeliefProcess_BP1 a bdi:BeliefProcess ;
bdi:generates :Belief_payment_request .
Phase 2: Beliefs-to-Triples – Projizieren Sie die Ergebnisse nach der BDI-Deliberation, die eine Absicht auswählt und einen Plan ausführt, mit bdi:bringsAbout zurück in RDF. Dies schließt den Kreislauf, sodass nachgelagerte Systeme Agentenausgaben als standardisierte Linked Data konsumieren können:
:Intention_pay a bdi:Intention ;
bdi:specifies :Plan_payment .
:PlanExecution_PE1 a bdi:PlanExecution ;
bdi:satisfies :Plan_payment ;
bdi:bringsAbout :WorldState_payment_complete .
Notation nach Abstraktionsebene
Wählen Sie die Notation basierend auf der C4-Abstraktionsebene, die modelliert wird, da die Vermischung von Notationen auf der falschen Ebene die kognitive Architektur eher verschleiert als klärt:
| C4-Ebene | Notation | Darstellung mentaler Zustände |
|---|---|---|
| L1 Kontext | ArchiMate | Agentengrenzen, externe Wahrnehmungsquellen |
| L2 Container | ArchiMate | BDI-Reasoning-Engine, Überzeugungsspeicher, Planausführer |
| L3 Komponente | UML | Manager mentaler Zustände, Prozess-Handler |
| L4 Code | UML/RDF | Belief/Desire/Intention-Klassen, Ontologie-Instanzen |
Rechtfertigung und Erklärbarkeit
Fügen Sie jeder mentalen Entität mit bdi:isJustifiedBy bdi:Justification-Instanzen hinzu, da ungerechtfertigte mentale Zustände das Agenten-Reasoning undurchsichtig und unnachvollziehbar machen. Jede Rechtfertigung sollte die Evidenz oder Regel erfassen, die den mentalen Zustand erzeugt hat:
:Belief_B1 a bdi:Belief ;
bdi:isJustifiedBy :Justification_J1 .
:Justification_J1 a bdi:Justification ;
rdfs:comment "Official announcement received via email" .
:Intention_I1 a bdi:Intention ;
bdi:isJustifiedBy :Justification_J2 .
:Justification_J2 a bdi:Justification ;
rdfs:comment "Location precondition satisfied" .
Zeitliche Dimensionen
Weisen Sie jedem mentalen Zustand mit bdi:hasValidity und TimeInterval-Instanzen Gültigkeitsintervalle zu, da Überzeugungen ohne zeitliche Grenzen beim diachronen Reasoning weder aufgeräumt noch auf Konflikte geprüft werden können:
:Belief_B1 a bdi:Belief ;
bdi:hasValidity :TimeInterval_TI1 .
:TimeInterval_TI1 a bdi:TimeInterval ;
bdi:hasStartTime :TimeInstant_9am ;
bdi:hasEndTime :TimeInstant_11am .
Fragen Sie mentale Zustände ab, die zu einem bestimmten Zeitpunkt aktiv sind, mit SPARQL-Zeitfiltern. Verwenden Sie dieses Muster, um Konflikte aufzulösen, wenn sich mehrere Überzeugungen über denselben Weltzustand zeitlich überschneiden:
SELECT ?mentalState WHERE {
?mentalState bdi:hasValidity ?interval .
?interval bdi:hasStartTime ?start ;
bdi:hasEndTime ?end .
FILTER(?start <= "2025-01-04T10:00:00"^^xsd:dateTime &&
?end >= "2025-01-04T10:00:00"^^xsd:dateTime)
}
Zusammengesetzte mentale Entitäten
Zerlegen Sie komplexe Überzeugungen mit bdi:hasPart-Beziehungen in Bestandteile, da monolithische Überzeugungen bei Teilaktualisierungen einen vollständigen Austausch erzwingen. Strukturieren Sie zusammengesetzte Überzeugungen so, dass jede Teilüberzeugung unabhängig aktualisiert, abgefragt oder ungültig gemacht werden kann:
:Belief_meeting a bdi:Belief ;
rdfs:comment "Meeting at 10am in Room 5" ;
bdi:hasPart :Belief_meeting_time , :Belief_meeting_location .
# Update only location component without touching time
:BeliefProcess_update a bdi:BeliefProcess ;
bdi:modifies :Belief_meeting_location .
Praktische Anleitung
Erstellen Sie ein BDI-Modell in sechs Schritten
Verwenden Sie diesen Arbeitsablauf, wenn Sie externen semantischen Kontext in eine BDI-Darstellung konvertieren:
- Definieren Sie die Weltzustandsbasis: Identifizieren Sie die externen Fakten oder Ereignisse, die der Agent wahrnehmen kann. Modellieren Sie diese als Weltzustände, bevor Sie Überzeugungen erstellen.
- Erstellen Sie Überzeugungsinstanzen: Übersetzen Sie jeden relevanten Weltzustand in eine Überzeugung mit Herkunft, zeitlicher Gültigkeit und einer Rechtfertigungsreferenz.
- Leiten Sie Wünsche aus Überzeugungen ab: Fügen Sie Wünsche nur hinzu, wenn eine Überzeugung eine zielrelevante Motivation erzeugt. Verknüpfen Sie jeden Wunsch mit der Überzeugung, die ihn motiviert.
- Verpflichten Sie sich bewusst zu Absichten: Stufen Sie einen Wunsch nur dann zu einer Absicht hoch, wenn sich der Agent zu einem Plan verpflichtet. Dokumentieren Sie den ausgewählten Plan und die Vorbedingungen.
- Projizieren Sie Aktionsergebnisse zurück in Tripel: Geben Sie nach der Ausführung resultierende Weltzustände als RDF aus, damit nachgelagerte Systeme den neuen Zustand konsumieren können.
- Validieren Sie mit Kompetenzfragen: Fragen Sie nach Herkunft, Motivation, Plansequenz und aktiven Gültigkeitsfenstern, bevor Sie dem Modell vertrauen.
Halten Sie die Ontologie klein
Beginnen Sie mit Agent, WorldState, Belief, Desire, Intention, Plan, Task, Justification und TimeInterval. Fügen Sie spezialisierte Klassen erst hinzu, nachdem Kompetenzfragen gezeigt haben, dass das Kernmodell erforderliche Abfragen nicht beantworten kann. Eine kompakte Ontologie ist einfacher in Prompts zu serialisieren, einfacher zu validieren und erzeugt weniger wahrscheinlich fragile Reasoning-Ketten.
Verwenden Sie BDI nur, wenn die Semantik mentaler Zustände wichtig ist
BDI-Modellierung ist gerechtfertigt, wenn das System erklärbare Handlungsfähigkeit benötigt: warum ein Agent etwas glaubte, welches Verlangen diese Überzeugung erzeugte, welche Absicht ausgewählt wurde und welcher Plan ausgeführt wurde. Wenn das System sich nur an Fakten über Sitzungen hinweg erinnern muss, verwenden Sie memory-systems. Wenn es nur Arbeit auf Agenten aufteilen muss, verwenden Sie multi-agent-patterns.
Detaillierte Themen
Integrationsmuster
Logik-Augmentierte-Generierung (LAG)
Verwenden Sie LAG, um LLM-Ausgaben mit ontologischer Struktur einzuschränken, da uneingeschränkte Generierung Tripel erzeugt, die BDI-Klassenbeschränkungen verletzen. Serialisieren Sie die Ontologie in den Prompt-Kontext und validieren Sie dann generierte Tripel dagegen, bevor Sie sie akzeptieren:
def augment_llm_with_bdi_ontology(prompt, ontology_graph):
ontology_context = serialize_ontology(ontology_graph, format='turtle')
augmented_prompt = f"{ontology_context}\n\n{prompt}"
response = llm.generate(augmented_prompt)
triples = extract_rdf_triples(response)
is_consistent = validate_triples(triples, ontology_graph)
return triples if is_consistent else retry_with_feedback()
SEMAS-Regelübersetzung
Übersetzen Sie BDI-Ontologiemuster in ausführbare Produktionsregeln, wenn Sie auf regelbasierten Agentenplattformen bereitstellen. Ordnen Sie jedes kognitive Kettenglied (Überzeugung-zu-Wunsch, Wunsch-zu-Absicht) einer HEAD/CONDITIONALS/TAIL-Regel zu, da dies die deliberative Semantik bewahrt und gleichzeitig die Laufzeitausführung ermöglicht:
% Belief triggers desire formation
[HEAD: belief(agent_a, store_open)] /
[CONDITIONALS: time(weekday_afternoon)] »
[TAIL: generate_desire(agent_a, buy_groceries)].
% Desire triggers intention commitment
[HEAD: desire(agent_a, buy_groceries)] /
[CONDITIONALS: belief(agent_a, has_shopping_list)] »
[TAIL: commit_intention(agent_a, buy_groceries)].
Richtlinien
-
Modellieren Sie Weltzustände als Konfigurationen, die unabhängig von Agentenperspektiven sind, und bieten Sie eine referenzielle Grundlage für mentale Zustände.
-
Unterscheiden Sie Endurants (persistente mentale Zustände) von Perdurants (zeitliche mentale Prozesse) in Übereinstimmung mit der DOLCE-Ontologie.
-
Behandeln Sie Ziele als Beschreibungen und nicht als mentale Zustände, um die Trennung zwischen kognitiver und Planungsebene aufrechtzuerhalten.
-
Verwenden Sie
hasPart-Beziehungen für meronymische Strukturen, die selektive Überzeugungsaktualisierungen ermöglichen. -
Verknüpfen Sie jede mentale Entität mit zeitlichen Konstrukten über
atTimeoderhasValidity. -
Verwenden Sie bidirektionale Eigenschaftspaare (
motivates/isMotivatedBy,generates/isGeneratedBy) für flexible Abfragen. -
Verknüpfen Sie mentale Entitäten mit
Justification-Instanzen für Erklärbarkeit und Vertrauen. -
Implementieren Sie T2B2T durch: (1) Übersetzen von RDF in Überzeugungen, (2) Ausführen von BDI-Reasoning, (3) Projizieren mentaler Zustände zurück in RDF.
-
Definieren Sie Existenzbeschränkungen für mentale Prozesse (z. B.
BeliefProcess ⊑ ∃generates.Belief). -
Verwenden Sie etablierte ODPs (EventCore, Situation, TimeIndexedSituation, BasicPlan, Provenance) für Interoperabilität wieder.
Kompetenzfragen
Validieren Sie die Implementierung anhand dieser SPARQL-Abfragen:
# CQ1: What beliefs motivated formation of a given desire?
SELECT ?belief WHERE {
:Desire_D1 bdi:isMotivatedBy ?belief .
}
# CQ2: Which desire does a particular intention fulfill?
SELECT ?desire WHERE {
:Intention_I1 bdi:fulfils ?desire .
}
# CQ3: Which mental process generated a belief?
SELECT ?process WHERE {
?process bdi:generates :Belief_B1 .
}
# CQ4: What is the ordered sequence of tasks in a plan?
SELECT ?task ?nextTask WHERE {
:Plan_P1 bdi:hasComponent ?task .
OPTIONAL { ?task bdi:precedes ?nextTask }
} ORDER BY ?task
Beispiele
Beispiel 1: RDF-Benachrichtigung zu BDI-Kette
Eingabe-Weltzustand:
:WorldState_invoice_due a bdi:WorldState ;
rdfs:comment "Invoice INV-42 is due tomorrow" ;
bdi:atTime :Time_2026_05_15 .
BDI-Projektion:
:Belief_invoice_due a bdi:Belief ;
bdi:refersTo :WorldState_invoice_due ;
bdi:isJustifiedBy :Justification_billing_system ;
bdi:motivates :Desire_avoid_late_fee .
:Desire_avoid_late_fee a bdi:Desire ;
bdi:isMotivatedBy :Belief_invoice_due .
:Intention_pay_invoice a bdi:Intention ;
bdi:fulfils :Desire_avoid_late_fee ;
bdi:specifies :Plan_pay_invoice .
Beispiel 2: Grenzentscheidung
Wenn die Aufgabe "merke dir, dass Alice prägnante Zusammenfassungen bevorzugt" lautet, verwenden Sie memory-systems. Wenn die Aufgabe "repräsentiere, warum Alice prägnante Zusammenfassungen bevorzugt" lautet und Sie die zugrunde liegende Überzeugung, das daraus resultierende Verlangen und die Absicht, danach zu handeln, erfassen müssen, verwenden Sie bdi-mental-states.