Arquitectura BDI al estilo AgentSpeak(L)
Usa esta habilidad cuando la parte difícil no sea escribir otro flujo de trabajo, sino decidir cómo un agente autónomo debe reaccionar, comprometerse, suspender el trabajo y explicar sus elecciones en condiciones cambiantes.
Cuándo Usarla
- Un sistema debe reaccionar a nuevos eventos sin abandonar compromisos de larga duración.
- Necesitas una biblioteca de planes con comportamientos reutilizables seleccionados por el contexto actual, en lugar de un controlador monolítico.
- La política del agente debe mantenerse separada del conocimiento del dominio para que la urgencia, la equidad o la tolerancia al riesgo puedan cambiar sin reescribir planes.
- Los fallos deben desencadenar comportamientos de recuperación y replanificación en lugar de colapsar todo el agente.
- Necesitas un modelo mental inspeccionable para saber por qué un agente eligió una tarea o plan sobre otro.
NO para
- Motores de reglas simples donde no se necesitan compromisos persistentes ni pilas de intenciones.
- Problemas de planificación estática donde el entorno no interrumpe la ejecución.
- Sistemas de flujo de trabajo centralizados donde un solo planificador ya dicta cada paso.
- Bucles de agente basados únicamente en indicaciones que nunca representan creencias, planes o políticas por separado.
Modelos Mentales Centrales
Creencias, Deseos e Intenciones Son Objetos Diferentes
Las creencias modelan el mundo actual, los deseos definen resultados candidatos y las intenciones son las pilas de planes comprometidas que actualmente consumen el presupuesto de ejecución. Si todo se colapsa en un solo elemento, el agente deja de ser interpretable.
Los Planes Son Conocimiento Situado
Los planes de AgentSpeak no son procedimientos genéricos. Son recetas activadas por eventos con guardas de contexto, de modo que el mismo objetivo puede invocar diferentes comportamientos dependiendo de lo que el agente crea actualmente.
Las Funciones de Selección Contienen la Política
El selector de eventos, el selector de opciones y el selector de intenciones son el lugar donde residen la urgencia, la equidad y la tolerancia al riesgo. Los planes deben codificar el saber hacer; las funciones de selección deben codificar la estrategia.
La Interrumpibilidad Es una Característica, No un Error
Las intenciones son pilas parcialmente ejecutadas que pueden ser intercaladas, suspendidas y reanudadas. Eso es lo que permite que los agentes receptivos manejen interrupciones sin tener que reiniciar cada tarea larga.
Formalizar desde el Sistema en Ejecución hacia Arriba
La lección práctica de AgentSpeak(L) es comenzar desde un ciclo de agente operativo y formalizar lo que realmente hace. No escribas una teoría abstracta elegante que luego deba ser aproximada al comportamiento en tiempo de ejecución.
Puntos de Decisión
flowchart TD
A[¿Necesitas diseño de comportamiento autónomo?] --> B{¿Se requieren compromisos persistentes?}
B -->|No| C[Usa reglas, máquinas de estado o un flujo de trabajo simple]
B -->|Sí| D{¿El entorno interrumpe el trabajo activo?}
D -->|No| E[Un planificador clásico puede ser suficiente]
D -->|Sí| F{¿Necesitas política separada de los planes?}
F -->|No| G[Bucle de agente personalizado, pero espera acoplamiento]
F -->|Sí| H[Usa BDI al estilo AgentSpeak]
H --> I{Problema actual}
I -->|Tarea incorrecta elegida| J[Revisa SI o SE]
I -->|Plan incorrecto elegido| K[Revisa SO o guardas de contexto]
I -->|Fallo mata la ejecución| L[Añade eventos de fallo y planes de recuperación]
I -->|Difícil de auditar| M[Expón la pila de intenciones y los rastros de selección]
- Usa el modelado al estilo AgentSpeak cuando el sistema deba equilibrar la reactividad con el compromiso, en lugar de elegir uno.
- Pon las suposiciones del mundo en consultas de creencias y guardas de plan, no como condicionales enterradas dentro de acciones.
- Si la estrategia cambia pero el conocimiento del dominio no, cambia las funciones de selección antes de reescribir los planes.
- Descompón las tareas largas en subobjetivos para que las pilas de intenciones sigan siendo inspeccionables e interrumpibles.
Modos de Fallo
Colapso Objetivo-Intención
Indicio: el diseño dice que el agente "tiene un objetivo" pero no puede mostrar si realmente ha comprometido recursos con él.
Solución: representa los objetivos candidatos por separado de las pilas de intenciones activas.
Política Oculta en los Planes
Indicio: cada cuerpo de plan contiene ramificaciones de prioridad, equidad o urgencia.
Solución: mueve esas decisiones a las funciones de selección de eventos, opciones o intenciones.
Planes Monolíticos
Indicio: los planes son tan largos que cualquier interrupción obliga a reiniciar mentalmente toda la secuencia.
Solución: divide los comportamientos largos en planes más cortos con límites explícitos de subobjetivos.
Fallo como Bloqueo, No como Evento
Indicio: un subobjetivo fallido aborta todo el agente o desaparece silenciosamente.
Solución: modela el fallo como un evento que puede desencadenar planes de recuperación, reintento o abandono.
Guardas de Contexto Sin Fundamentación
Indicio: los planes coinciden con suposiciones vagas del mundo que nunca están vinculadas a creencias u observaciones reales.
Solución: haz explícitas las rutas de actualización de creencias y mantén las guardas consultables contra el estado de creencias actual.
Ejemplos Prácticos
Agente LLM que Usa Herramientas con Interrupciones Urgentes
Un agente de codificación está trabajando en una refactorización larga cuando llega una alerta de producción de alta gravedad. Modela la refactorización como una pila de intenciones y la alerta como un nuevo evento. Deja que las funciones de selección adelanten la refactorización y luego la reanuden más tarde sin perder el estado.
Coordinación de Almacén Sin un Despachador Central
Varios agentes móviles comparten una base de creencias sobre la congestión de pasillos y el estado del inventario. Su conocimiento del dominio permanece en los planes, mientras que las funciones de selección codifican qué trabajos de recogida urgentes superan al trabajo de reposición en condiciones de congestión.
Puertas de Calidad
- Las creencias, los deseos y las intenciones se representan por separado.
- Cada evento desencadenante importante tiene al menos un plan con una guarda de contexto explícita.
- El diseño nombra dónde reside la política de SE, SO y SI.
- Las rutas de fallo crean eventos o planes de recuperación en lugar de un colapso silencioso.
- Un revisor puede inspeccionar las intenciones activas y explicar por qué se seleccionó un plan sobre otro.
Shibboleths
- Si alguien no puede explicar la diferencia entre un objetivo que el agente quiere y una intención a la que se ha comprometido, no ha internalizado el modelo.
- Si la "estrategia" cambia y requiere reescribir cuerpos de planes, la política y el conocimiento nunca estuvieron separados.
- Si el agente no puede decir qué lo interrumpió y qué reanudará a continuación, no está usando realmente pilas de intenciones.
Referencias para Consulta
references/bdi-architecture-for-agent-orchestration.md: cárgalo para el ciclo completo del agente y la interacción B/D/I.references/context-sensitive-plans-as-agent-knowledge.md: cárgalo cuando la estructura del plan y el diseño de guardas sean el problema principal.references/selection-functions-as-agent-policy.md: cárgalo cuando la prioridad, la equidad o la tolerancia al riesgo necesiten un tratamiento explícito de políticas.references/intention-management-and-goal-decomposition.md: cárgalo cuando la suspensión/reanudación, los subobjetivos o la auditabilidad de intenciones sean centrales.references/failure-modes-in-bdi-systems.md: cárgalo cuando el diseño actual ya exista y estés depurando fallos.