Faz três meses publiquei aqui sobre a ESAA (Event Sourcing para Agentes Autônomos), uma ideia de que um agente de IA não deveria escrever diretamente no projeto, mas emitir intenções validadas que um orquestrador persiste em um log append-only. Depois, escrevi sobre como isso se transformou em um ecossistema, mencionando o esaa-core como o motor, o esaa-codex-plugin para transformar requisitos em roadmap, e o esaa-esd como observador do estado. Hoje, quero focar em uma quarta peça: a Conversation ESAA.
O Problema
Quem carrega a memória da conversa quando você troca de agente? No começo, eu tratava isso como um problema menor. Eu copiava resumos ou copiava partes importantes de conversas para a próxima conversa. Mas, com mais de um agente no mesmo projeto, percebi que a memória estava espalhada entre logs privados, sessões antigas, resumos manuais e minha memória. Isso não era exatamente uma tarefa de engenharia.
O Conversation ESAA
O Conversation ESAA resolveu esse problema. Ele pega os turnos visíveis das conversas dos agentes, coloca em um log local append-only e projeta arquivos pequenos para handoff. Os arquivos que um agente novo lê ficam no mesmo diretório. Essa separação é importante: o Conversation ESAA não é um resumo mágico de conversa, mas uma captura mecânica de conversa. Quando uma decisão precisa ser preservada, o agente registra isso explicitamente. Quando uma tarefa conversacional precisa continuar, ela também vira evento. Essa separação de logs para diferentes domínios (roadmap e conversation) é crucial para a ergonomia do sistema.
Contexto
A v1.1 da Conversation ESAA introduziu o comando context, que permite ler janelas pequenas e determinísticas do log. Isso permite um pedido natural: 'Codex, leia só as últimas iterações do Grok.' O log completo continua existindo, mas o agente não precisa engolir tudo. Ele lê uma janela filtrada, recente ou próxima de um evento. Isso mudou a ergonomia do sistema, permitindo que memória longa seja arquivo frio + leitura paginada.
Comando de Habilitação
O enable-hooks existe porque eu não queria que a instalação dependesse de editar arquivos escondidos na mão. Para Grok e Claude Code, ele prepara os hooks. Para Codex, que neste desenho não tem hook nativo equivalente, ele prepara um watcher. O quickstart, hoje, é basicamente copiar/clonar o pacote para o projeto, rodar o bootstrap e usar a CLI.
Conclusão
A Conversation ESAA é uma ferramenta de primeira versão, mas já dá para usar em repositório limpo. A primeira versão pública é a v1.1.0, sem histórico privado no pacote publicado. O enable-hooks existe porque eu não queria que a instalação dependesse de editar arquivos escondidos na mão. O quickstart, hoje, é basicamente copiar/clonar o pacote para o projeto, rodar o bootstrap e usar a CLI.
Tags
- Conversão de IA
- Memória Compartilhada
- Agentes de IA
- Logs Append-Only
- Handoffs
- Contexto de Conversa
- Comando de Habilitação
- Quickstart