Arquitetura AgentSpeak(L) BDI
Use esta skill quando a parte difícil não é escrever outro workflow, mas decidir como um agente autônomo deve reagir, comprometer-se, suspender trabalho e explicar suas escolhas sob condições mutáveis.
Quando Usar
- Um sistema deve reagir a novos eventos sem abandonar compromissos de longo prazo.
- Você precisa de uma biblioteca de planos com comportamentos reutilizáveis selecionados pelo contexto atual, em vez de um controlador monolítico.
- A política do agente deve permanecer separada do conhecimento de domínio para que urgência, justiça ou tolerância a risco possam mudar sem reescrever planos.
- Falhas devem acionar comportamentos de recuperação e replanejamento, em vez de colapsar todo o agente.
- Você precisa de um modelo mental inspecionável para entender por que um agente escolheu uma tarefa ou plano em detrimento de outro.
NÃO Usar Para
- Mecanismos de regras simples, onde não há compromissos persistentes ou pilhas de intenção.
- Problemas de planejamento estático onde o ambiente não interrompe a execução.
- Sistemas de workflow centralizados onde um único escalonador já dita cada passo.
- Loops de agente baseados apenas em prompt, que nunca representam crenças, planos ou políticas separadamente.
Modelos Mentais Centrais
Crenças, Desejos e Intenções São Objetos Diferentes
Crenças modelam o mundo atual, desejos definem resultados candidatos e intenções são as pilhas de planos comprometidos que consomem o orçamento de execução atualmente. Se eles colapsarem em uma única bolha, o agente deixa de ser interpretável.
Planos São Conhecimento Situado
Os planos do AgentSpeak não são procedimentos genéricos. São receitas acionadas por eventos com guards de contexto, de modo que o mesmo objetivo pode invocar comportamentos diferentes dependendo do que o agente acredita atualmente.
Funções de Seleção Contêm a Política
O seletor de eventos, seletor de opções e seletor de intenções são onde a urgência, justiça e tolerância a risco devem residir. Planos devem codificar o saber-fazer; funções de seleção devem codificar a estratégia.
Interruptibilidade É uma Característica, Não um Bug
Intenções são pilhas parcialmente executadas que podem ser intercaladas, suspensas e retomadas. Isso permite que agentes responsivos lidem com interrupções sem transformar toda tarefa longa em uma reinicialização.
Formalize de Baixo para Cima a Partir do Sistema em Execução
A lição prática do AgentSpeak(L) é começar com um ciclo operacional de agente e formalizar o que ele realmente faz. Não escreva uma teoria abstrata elegante que depois precise ser aproximada para o comportamento em tempo de execução.
Pontos de Decisão
flowchart TD
A[Precisa de design de comportamento autônomo] --> B{Requer compromissos persistentes?}
B -->|Não| C[Use regras, máquinas de estado ou um workflow simples]
B -->|Sim| D{O ambiente interrompe o trabalho ativo?}
D -->|Não| E[Um planejador clássico pode ser suficiente]
D -->|Sim| F{Precisa de política separada dos planos?}
F -->|Não| G[Loop de agente personalizado, mas espere acoplamento]
F -->|Sim| H[Use BDI estilo AgentSpeak]
H --> I{Problema atual}
I -->|Tarefa errada escolhida| J[Reveja SE ou SI]
I -->|Plano errado escolhido| K[Reveja SO ou guards de contexto]
I -->|Falha interrompe execução| L[Adicione eventos de falha e planos de recuperação]
I -->|Difícil de auditar| M[Exponha a pilha de intenções e os traços de seleção]
- Use modelagem estilo AgentSpeak quando o sistema deve equilibrar reatividade com compromisso, em vez de escolher um.
- Coloque suposições sobre o mundo em consultas de crenças e guards de planos, não como condicionais enterradas dentro das ações.
- Se a estratégia muda, mas o conhecimento de domínio não, altere as funções de seleção antes de reescrever planos.
- Decomponha tarefas longas em subobjetivos para que as pilhas de intenção permaneçam inspecionáveis e interrompíveis.
Modos de Falha
Colapso Meta-Intenção
Sinal: o design diz que o agente "tem uma meta", mas não consegue mostrar se realmente comprometeu recursos para ela.
Correção: represente metas candidatas separadamente das pilhas de intenção atualmente ativas.
Política Oculta nos Planos
Sinal: todo corpo de plano contém ramificações de prioridade, justiça ou urgência.
Correção: mova essas escolhas para funções de seleção de evento, opção ou intenção.
Planos Monolíticos
Sinal: planos são tão longos que qualquer interrupção força mentalmente a reinicialização de toda a sequência.
Correção: divida comportamentos longos em planos mais curtos com limites explícitos de subobjetivos.
Falha Como Crash, Não como Evento
Sinal: um subobjetivo falho aborta todo o agente ou desaparece silenciosamente.
Correção: modele a falha como um evento que pode acionar planos de recuperação, repetição ou abandono.
Guards de Contexto Sem Fundamentação
Sinal: planos correspondem a suposições vagas sobre o mundo que nunca são vinculadas a crenças ou observações reais.
Correção: torne os caminhos de atualização de crenças explícitos e mantenha os guards consultáveis em relação ao estado de crenças atual.
Exemplos de Uso
Agente LLM Usando Ferramentas com Interrupções Urgentes
Um agente de codificação está trabalhando em uma longa refatoração quando um alerta de produção de alta gravidade chega. Modele a refatoração como uma pilha de intenções e o alerta como um novo evento. Deixe as funções de seleção preemptarem a refatoração e depois a retomarem sem perder estado.
Coordenação de Armazém Sem um Despachante Central
Vários agentes móveis compartilham uma base de crenças sobre congestionamento de corredores e estado de inventário. Seu conhecimento de domínio permanece nos planos, enquanto as funções de seleção codificam quais trabalhos de coleta urgentes superam o trabalho de reabastecimento sob congestionamento.
Portões de Qualidade
- Crenças, desejos e intenções são representados separadamente.
- Cada evento desencadeador principal tem pelo menos um plano com um guard de contexto explícito.
- O design nomeia onde reside a política SE, SO e SI.
- Caminhos de falha criam eventos ou planos de recuperação em vez de colapso silencioso.
- Um revisor pode inspecionar intenções ativas e explicar por que um plano foi selecionado em detrimento de outro.
Shibboleths
- Se alguém não consegue explicar a diferença entre uma meta que o agente deseja e uma intenção com a qual se comprometeu, não internalizou o modelo.
- Se mudanças de "estratégia" exigem reescrever corpos de plano, a política e o conhecimento nunca foram separados.
- Se o agente não consegue dizer o que o interrompeu e o que retomará a seguir, ele não está realmente usando pilhas de intenção.
Referências
references/bdi-architecture-for-agent-orchestration.md: carregue para o ciclo completo do agente e a interação B/D/I.references/context-sensitive-plans-as-agent-knowledge.md: carregue quando a estrutura do plano e o design dos guards forem o principal problema.references/selection-functions-as-agent-policy.md: carregue quando prioridade, justiça ou tolerância a risco precisarem de tratamento explícito de política.references/intention-management-and-goal-decomposition.md: carregue quando suspender/retomar, subobjetivos ou auditabilidade de intenções forem centrais.references/failure-modes-in-bdi-systems.md: carregue quando o design atual já existir e você estiver depurando falhas.