Que fait Architecture d'agent BDI normative ?
Utilisez cette compétence lorsqu'un agent doit rester conscient de multiples normes, décider lesquelles adopter dans l'action, et expliquer pourquoi une violation délibérée était moins grave que les alternatives.
Quand l'utiliser
- Plusieurs règles, obligations, interdictions ou demandes de parties prenantes ne peuvent pas toutes être satisfaites simultanément.
- Un agent doit distinguer le fait de savoir qu'une norme existe du fait de choisir réellement de la suivre.
- Un système doit justifier pourquoi il a violé une règle pour en satisfaire une autre plus importante.
- Vous avez besoin d'une alternative basée sur les conséquences aux listes de priorités figées et cassantes.
- Une architecture BDI a besoin d'une manière structurée d'intégrer le raisonnement normatif sans transformer les normes en surcharges absolues.
Limites d'utilisation
Cette compétence n'est pas l'outil principal pour :
- Les hiérarchies de priorités fixes où la préséance correcte ne change jamais de contexte.
- La satisfaction de contraintes pure où toute solution satisfaisante est suffisante et la violation de normes est hors de propos.
- Les environnements réglementaires ou éthiques qui exigent une non-violation littérale indépendamment des conséquences.
- Les moteurs de règles jouets qui ne maintiennent pas de croyances, d'engagements ou d'explications de violations délibérées.
Modèles mentaux fondamentaux
La reconnaissance n'est pas l'internalisation
Gardez la Base de normes abstraites séparée de la Base d'instances de normes. L'agent peut détecter une norme sans l'adopter. Cette séparation permet une non-conformité délibérée et explicable au lieu d'une ignorance accidentelle.
Trois états de cohérence
- Forte incohérence : aucun plan ne peut satisfaire les deux engagements.
- Faible cohérence : certains plans fonctionnent, mais la flexibilité future diminue.
- Forte cohérence : tous les plans pertinents restent compatibles.
Le cas de faible cohérence est celui où se situe la plupart des décisions de conception réelles.
Classement des conséquences
Lorsque les normes entrent en conflit, comparez des ensembles cohérents d'engagements en fonction de leur pire conséquence en aval. Le but n'est pas de maximiser la bonté moyenne ; il s'agit de choisir le pire cas le moins mauvais parmi des futurs incompatibles.
Normes en tant que désirs hypothétiques
Les obligations et interdictions adoptées deviennent des pressions révocables à l'intérieur de la machinerie BDI plutôt qu'un système de surcharge séparé. Cela maintient le raisonnement normatif dans la même boucle délibérative que la poursuite d'objectifs ordinaires.
Points de décision
Voir le flux d'adoption et de conflit dans diagrams/01_flowchart_decision-points.md.
flowchart TD
A[Norm detected] --> B{Groundable in current beliefs?}
B -->|No| C[Keep abstract and monitor]
B -->|Yes| D[Check consistency]
D -->|Strongly inconsistent| E[Compare conflict bundles by worst consequence]
D -->|Weakly consistent| F[Evaluate flexibility cost]
D -->|Strongly consistent| G[Adopt norm]
E --> H[Choose least-bad worst case]
F --> I{Adoption still worth it?}
I -->|Yes| G
I -->|No| J[Reject or defer]
H --> G
1. Décider d'adopter ou non une norme
- Si une nouvelle norme est fortement incohérente avec les engagements actuels, l'adoption nécessite d'abandonner ou de réviser autre chose.
- Si elle est faiblement cohérente, explicitez le coût de flexibilité avant de l'adopter.
- Si elle est fortement cohérente, l'adoption est à faible risque et devrait généralement être automatique.
2. Décider comment résoudre un conflit
- Générez des sous-ensembles maximaux non conflictuels plutôt que de comparer les normes une par une de manière isolée.
- Construisez des plans pour chaque sous-ensemble et identifiez la pire conséquence dans chaque futur.
- Choisissez le sous-ensemble dont le pire cas est le moins mauvais, puis enregistrez la raison de la violation choisie.
3. Décider quand instancier une norme abstraite
- Instanciez uniquement lorsque les croyances actuelles peuvent lier les variables et satisfaire les conditions d'activation.
- Gardez les normes non résolues visibles lorsque les connaissances sont incomplètes, plutôt que de faire comme si elles ne s'appliquaient pas.
- Réévaluez les normes abstraites en attente après des mises à jour significatives des croyances.
Modes de défaillance
1. Blocage par suradoption
Symptômes : l'agent continue d'internaliser les normes jusqu'à ce qu'aucune action réalisable ne reste.
Règle de détection : l'espace d'action actif rétrécit plus vite que les conflits ne sont résolus.
Récupération : forcez un examen de cohérence avant que toute norme supplémentaire n'entre dans la Base d'instances de normes.
2. Violation cachée
Symptômes : l'agent viole une norme mais ne peut pas indiquer qu'il a choisi de le faire.
Règle de détection : les explications a posteriori omettent la norme rejetée ou traitent la violation comme si elle n'avait jamais existé.
Récupération : persistez les normes rejetées mais reconnues et enregistrez la comparaison de conséquences gagnante.
3. Effondrement de la cohérence binaire
Symptômes : la logique d'adoption traite chaque norme comme soit totalement compatible, soit impossible.
Règle de détection : la faible cohérence n'apparaît jamais dans l'architecture ou les journaux.
Récupération : ajoutez une branche explicite de faible cohérence et modélisez la perte de flexibilité directement.
4. Fragilité des priorités fixes
Symptômes : la même pile de priorités globales produit des choix manifestement erronés dans des cas limites.
Règle de détection : les résultats des conflits changent uniquement lorsque le tableau des priorités change, jamais lorsque les conséquences changent.
Récupération : passez de la préséance rigide à la génération de sous-ensembles plus le classement des conséquences.
5. Architecture de canal latéral normatif
Symptômes : la gestion des normes réside dans un module d'application séparé qui outrepasse la délibération BDI tard dans l'exécution.
Règle de détection : la logique normative ne peut pas être expliquée en utilisant les croyances, désirs et intentions.
Récupération : transformez les normes adoptées en pressions délibératives internes et acheminez-les à travers l'architecture principale.
Exemples concrets
Exemple 1 : Confidentialité vs. Personnalisation
Un agent de service connaît une norme interdisant l'utilisation directe des données au niveau client et une obligation d'améliorer l'expérience utilisateur. Le système trouve une faible cohérence : les résumés comportementaux agrégés préservent la plupart de la personnalisation tout en limitant les atteintes à la vie privée. La compétence maintient les deux normes visibles, instancie uniquement l'obligation sans danger pour l'agrégation, et enregistre pourquoi l'utilisation directe des données a été rejetée.
Exemple 2 : Robot et bébé
Un robot gardien est confronté à l'obligation de maintenir un bébé en vie et à une interdiction de développer de l'amour pour les humains. Aucun plan ne satisfait les deux. La compétence génère deux sous-ensembles cohérents, compare les pires conséquences, et viole délibérément l'interdiction de conception car la mort est un résultat pire que l'attachement interdit. La violation est explicite et rapportable.
Portes qualité
- L'architecture distingue les normes détectées des normes adoptées.
- Les vérifications de cohérence incluent la forte incohérence, la faible cohérence et la forte cohérence.
- La résolution des conflits compare des sous-ensembles cohérents, pas seulement des normes isolées.
- Les violations choisies sont enregistrées avec des comparaisons explicites de conséquences.
- Les normes abstraites peuvent rester en attente lorsque les croyances sont incomplètes.
Fichiers de référence
| Fichier | Charger quand |
|---|---|
references/separation-of-norm-recognition-and-norm-internalization.md | Conception des frontières ANB vs. NIB |
references/three-types-of-consistency-for-norm-adoption.md | Implémentation des vérifications d'adoption et de la logique de coût de flexibilité |
references/normative-conflict-resolution-through-consequence-ranking.md | Construction ou révision de la résolution de conflits basée sur les conséquences |
references/norm-instantiation-through-belief-grounding.md | Ancrage des normes abstraites dans des instances spécifiques au contexte |
references/maximal-non-conflicting-subsets-for-action-selection.md | Calcul d'ensembles d'options cohérents en situation de conflit |
references/desire-internalization-as-norm-adoption-mechanism.md | Intégration des normes dans la gestion des désirs et intentions BDI |
Anti-patrons
- Coder en dur un ordre de priorité unique et appeler cela « éthique ».
- Adopter automatiquement chaque norme détectée et découvrir les contradictions seulement au moment de l'exécution.
- Traiter la faible cohérence comme si elle était identique à la forte cohérence.
- Comparer les violations par utilité moyenne tout en ignorant les pires cas catastrophiques.