voltar

IA no cabresto: Hooks e Gerenciamento de Estado

Como usei hooks de lifecycle no Node.js para criar uma máquina de estados que dita o ritmo de ensino da IA sem intervenção humana.

O contexto

No post anterior, falei sobre como o Juiz de estrutura impediu a IA de entregar respostas prontas. Mas barrar a saída era apenas metade do problema. A outra metade era: como o sistema sabe o que o aluno deve aprender em seguida?

Depender do aluno para dizer "vamos para a próxima lição" ou esperar que a IA lembrasse do currículo era pedir para o sistema quebrar. Precisávamos de uma Máquina de Estados sólida, algo que funcionasse como a "Diretoria" da escola, decidindo o currículo enquanto a IA atua apenas como o professor em sala.

O silêncio dos Hooks

Para resolver isso, mergulhei nos Hooks de Lifecycle do ambiente. Criei o hook after-model.js. O papel dele é ser um interceptador: ele lê a saída do Gemini antes mesmo dela chegar ao terminal do aluno.

O fluxo funciona assim: a IA gera a explicação. O hook captura essa string, analisa o contexto e consulta um arquivo de metadados chamado fila-ensino.json. Esse arquivo é a fonte da verdade. Ele contém o roadmap completo e o progresso atual.

A Fila de Ensino

Imagine que a próxima lição seja sobre process.argv. O script expandir-roadmap.js faz uma verificação de sanidade. Ele percebe: "Espera, o aluno ainda não passou pelo módulo de Arrays". No mundo normal, a IA talvez tentasse explicar process.argv do zero, ignorando que arrays são a base para entender os argumentos de linha de comando.

Com o hook, o processo é automatizado:

  1. O hook intercepta a intenção de ensinar process.argv.
  2. O script valida as dependências no fila-ensino.json.
  3. Se falta uma base, o hook silenciosamente injeta uma lição de Arrays antes do planejado.
// Exemplo conceitual do after-model.js
const ensinoAtual = carregarFila();

if (resumoIA.contem("process.argv") && !ensinoAtual.aprendeu("arrays")) {
    ensinoAtual.pausar("process.argv");
    ensinoAtual.injetar("arrays");
    salvarFila(ensinoAtual);
}

Essa "manipulação" acontece nos bastidores. Para o aluno, parece que o professor é extremamente atento e percebeu que ele precisava reforçar a base antes de avançar. Para mim, é apenas o Node.js garantindo que a lógica de backend seja respeitada.

A IA virou funcionária

O que esse sistema mudou na minha percepção foi o papel da IA no desenvolvimento. Antes, eu via o Gemini como o motor principal. Agora, ele é apenas uma peça de interface. A inteligência do currículo, a ordem das lições e a validação do progresso são todas feitas por scripts locais.

A IA parou de ser a dona do currículo. Ela virou uma prestadora de serviços que recebe ordens claras: "O aluno está no estado X, ensine o conceito Y usando a analogia Z. Não saia disso".

O que fica

Automatizar o estado com hooks tirou o peso da "memória" da IA. LLMs perdem o contexto em conversas longas, mas arquivos JSON e scripts de validação não. Se o sistema cair ou o aluno fechar o terminal, o fila-ensino.json garante que voltaremos exatamente de onde paramos, com o rigor que um ambiente de ensino exige. No próximo post, vou mostrar como blindamos a comunicação entre esses scripts e a IA usando System Tags.

Referências

#ia#nodejs#hooks#automacao