Que fait Architecture BDI AgentSpeak(L) ?
Utilisez cette compétence lorsque la difficulté ne réside pas dans l'écriture d'un autre flux de travail, mais dans la décision de la manière dont un agent autonome doit réagir, s'engager, suspendre son travail et expliquer ses choix dans des conditions changeantes.
Quand l'utiliser
- Un système doit réagir à de nouveaux événements sans abandonner des engagements de plus longue durée.
- Vous avez besoin d'une bibliothèque de plans avec des comportements réutilisables sélectionnés par le contexte actuel plutôt que par un seul contrôleur monolithique.
- La politique de l'agent doit rester séparée des connaissances du domaine afin que l'urgence, l'équité ou la tolérance au risque puissent changer sans réécrire les plans.
- Les échecs doivent déclencher des comportements de récupération et une replanification au lieu de faire s'effondrer tout l'agent.
- Vous avez besoin d'un modèle mental inspectable expliquant pourquoi un agent a choisi une tâche ou un plan plutôt qu'un autre.
PAS pour
- Les moteurs de règles simples où aucun engagement persistant ou pile d'intentions n'est nécessaire.
- Les problèmes de planification statique où l'environnement n'interrompt pas l'exécution.
- Les systèmes de flux de travail centralisés où un seul ordonnanceur dicte déjà chaque étape.
- Les boucles d'agent basées uniquement sur des invites qui ne représentent jamais les croyances, les plans ou la politique séparément.
Modèles mentaux fondamentaux
Les croyances, les désirs et les intentions sont des objets différents
Les croyances modélisent le monde actuel, les désirs définissent les résultats candidats, et les intentions sont les piles de plans spécifiques engagés qui consomment actuellement le budget d'exécution. Si ceux-ci s'effondrent en un seul blob, l'agent cesse d'être interprétable.
Les plans sont des connaissances situées
Les plans AgentSpeak ne sont pas des procédures génériques. Ce sont des recettes déclenchées par des événements avec des gardes de contexte, de sorte que le même objectif peut invoquer des comportements différents selon ce que l'agent croit actuellement.
Les fonctions de sélection contiennent la politique
Le sélecteur d'événements, le sélecteur d'options et le sélecteur d'intentions sont les endroits où résident l'urgence, l'équité et la tolérance au risque. Les plans doivent encoder le savoir-faire ; les fonctions de sélection doivent encoder la stratégie.
L'interruptibilité est une fonctionnalité, pas un bug
Les intentions sont des piles partiellement exécutées qui peuvent être entrelacées, suspendues et reprises. C'est ce qui permet aux agents réactifs de gérer les interruptions sans transformer chaque longue tâche en un redémarrage.
Formalisez vers le haut à partir du système en cours d'exécution
La leçon pratique d'AgentSpeak(L) est de partir d'un cycle d'agent opérationnel et de formaliser ce qu'il fait réellement. N'écrivez pas une théorie abstraite élégante qui devra être approximée dans le comportement d'exécution plus tard.
Points de décision
flowchart TD
A[Besoins de conception de comportement autonome] --> B{Engagements persistants requis ?}
B -->|Non| C[Utiliser des règles, des machines à états ou un flux de travail simple]
B -->|Oui| D{L'environnement interrompt le travail actif ?}
D -->|Non| E[Un planificateur classique peut suffire]
D -->|Oui| F{La politique doit-elle être séparée des plans ?}
F -->|Non| G[Boucle d'agent personnalisée, mais attendez-vous à un couplage]
F -->|Oui| H[Utiliser le BDI de style AgentSpeak]
H --> I{Problème actuel}
I -->|Mauvaise tâche choisie| J[Revoir SI ou SE]
I -->|Mauvais plan choisi| K[Revoir SO ou les gardes de contexte]
I -->|L'échec tue l'exécution| L[Ajouter des événements d'échec et des plans de récupération]
I -->|Difficile à auditer| M[Exposer la pile d'intentions et les traces de sélection]
- Utilisez la modélisation de style AgentSpeak lorsque le système doit équilibrer réactivité et engagement plutôt que de choisir l'un ou l'autre.
- Mettez les hypothèses sur le monde dans les requêtes de croyance et les gardes de plan, pas comme des conditionnels enfouis profondément dans les actions.
- Si la stratégie change mais que la connaissance du domaine reste la même, modifiez les fonctions de sélection avant de réécrire les plans.
- Décomposez les longues tâches en sous-objectifs afin que les piles d'intentions restent inspectables et interruptibles.
Modes d'échec
Effondrement Objectif-Intention
Indice : la conception dit que l'agent "a un objectif" mais ne peut pas montrer s'il a réellement engagé des ressources pour cela.
Correctif : représentez les objectifs candidats séparément des piles d'intentions actives.
Politique cachée dans les plans
Indice : chaque corps de plan contient des branchements de priorité, d'équité ou d'urgence.
Correctif : déplacez ces choix dans les fonctions de sélection d'événements, d'options ou d'intentions.
Plans monolithiques
Indice : les plans sont si longs que toute interruption force mentalement la séquence entière à redémarrer.
Correctif : divisez les comportements longs en plans plus courts avec des limites de sous-objectifs explicites.
Échec en tant que crash, pas en tant qu'événement
Indice : un sous-objectif échoué abandonne tout l'agent ou disparaît silencieusement.
Correctif : modélisez l'échec comme un événement qui peut déclencher des plans de récupération, de nouvelle tentative ou d'abandon.
Gardes de contexte non fondés
Indice : les plans correspondent à des hypothèses vagues sur le monde qui ne sont jamais liées à des croyances ou observations réelles.
Correctif : rendez les chemins de mise à jour des croyances explicites et maintenez les gardes interrogeables par rapport à l'état de croyance actuel.
Exemples concrets
Agent LLM utilisant des outils avec interruptions urgentes
Un agent de codage travaille sur un long refactoring lorsqu'une alerte de production de haute sévérité arrive. Modélisez le refactoring comme une pile d'intentions et l'alerte comme un nouvel événement. Laissez les fonctions de sélection préempter le refactoring, puis le reprendre plus tard sans perdre l'état.
Coordination d'entrepôt sans répartiteur central
Plusieurs agents mobiles partagent une base de croyances sur la congestion des allées et l'état des stocks. Leur connaissance du domaine reste dans les plans, tandis que les fonctions de sélection encodent quels travaux de prélèvement urgents surpassent le travail de réapprovisionnement en cas de congestion.
Portes de qualité
- Les croyances, les désirs et les intentions sont représentés séparément.
- Chaque événement déclencheur majeur a au moins un plan avec une garde de contexte explicite.
- La conception nomme où réside la politique SE, SO et SI.
- Les chemins d'échec créent des événements ou des plans de récupération au lieu d'un effondrement silencieux.
- Un réviseur peut inspecter les intentions actives et expliquer pourquoi un plan a été sélectionné plutôt qu'un autre.
Shibboleths
- Si quelqu'un ne peut pas expliquer la différence entre un objectif que l'agent veut et une intention à laquelle il s'est engagé, il n'a pas intériorisé le modèle.
- Si la "stratégie" change nécessite de réécrire les corps de plan, la politique et la connaissance n'ont jamais été séparées.
- Si l'agent ne peut pas dire ce qui l'a interrompu et ce qu'il reprendra ensuite, il n'utilise pas vraiment de piles d'intentions.
Références
references/bdi-architecture-for-agent-orchestration.md: chargez pour le cycle complet de l'agent et l'interaction B/D/I.references/context-sensitive-plans-as-agent-knowledge.md: chargez lorsque la structure du plan et la conception des gardes sont le problème principal.references/selection-functions-as-agent-policy.md: chargez lorsque la priorité, l'équité ou la tolérance au risque nécessitent un traitement politique explicite.references/intention-management-and-goal-decomposition.md: chargez lorsque la suspension/reprise, les sous-objectifs ou l'auditabilité des intentions sont centraux.references/failure-modes-in-bdi-systems.md: chargez lorsque la conception actuelle existe déjà et que vous déboguez des pannes.