voltar

O fim do chat: a IA precisa de gravidade para ensinar

Por que tratar a IA como um simples chat falha no ensino e como usei scripts de validação para forçar um fluxo estilo FreeCodeCamp.

O contexto

A Inteligência Artificial é brilhante, mas como tutor, ela tem um defeito grave: ela é apressada. Se você pede para um LLM te ensinar algo, o instinto natural dele é cuspir a resposta completa, com código pronto e uma explicação técnica densa de uma vez só. Isso não é ensino; é documentação de luxo.

No projeto da Escola Gemini v3, meu objetivo era transformar o terminal em um ambiente de aprendizado granular, inspirado na metodologia do FreeCodeCamp. A ideia é simples: ensinar uma única coisa por vez — como declarar uma variável — exigir que o aluno digite o código e só avançar quando ele acertar. O problema é que a IA odeia esperar. Ela quer resolver o problema, não ensinar a lógica.

O cérebro quer voar

Mesmo com prompts extremamente detalhados, a natureza probabilística da IA faz com que ela, eventualmente, ignore as instruções de pausa. Ela se empolga. Em um momento ela está explicando let e const, e no parágrafo seguinte já entregou um loop forEach completo porque achou que seria "mais útil".

Eu já tinha uma base sólida sobre como o JavaScript gerencia dados na memória, mas aplicar esse rigor no comportamento de um modelo de linguagem exigia outra abordagem. Se a IA é o cérebro que quer voar e pular etapas, eu precisava construir o corpo e a gravidade para impedi-la de sair do trilho. O prompt sozinho é um contrato que a IA quebra quando quer. Eu precisava de código determinístico para policiar o código probabilístico.

O Juiz entra em campo

A solução foi criar um "Juiz" externo: o script validar-estrutura.js. A partir dessa implementação, a IA parou de falar diretamente com o usuário no terminal. Toda resposta gerada pelo modelo agora passa obrigatoriamente por esse validador antes de ser exibida.

O script usa Regex estrito para monitorar o tamanho dos blocos de código e a presença de palavras-chave proibidas. Se a IA tenta entregar o peixe em vez de ensinar a pescar, o Juiz aplica um "tapa na mão".

// Simplificando a lógica do nosso Juiz
const output = modelResponse.text();

if (output.includes("```javascript") && output.split("\n").length > 15) {
    console.error("ERRO: Resposta muito longa detectada. Abortando.");
    process.exit(2); 
}

Quando o process.exit(2) é disparado, o sistema entende que a IA falhou. Uma instrução de autocorreção invisível para o aluno é enviada de volta para o modelo, dizendo: "Você entregou código demais. Apague tudo e peça para o aluno fazer apenas a linha X". O aluno nunca vê o erro técnico; ele apenas recebe um professor que, subitamente, ficou mais disciplinado.

O que isso muda

Essa mudança de paradigma foi essencial para que eu pudesse construir ferramentas de backend realmente funcionais no Node.js. Não adianta ter um motor potente se você não tem o chassi para aguentar as curvas.

A gravidade que os scripts impõem sobre a IA é o que permite que o ensino aconteça. Sem o risco do erro ser barrado por um script seco e sem sentimentos, a IA continuaria sendo apenas um oráculo gentil demais para ser um bom mentor.

O que fica

Aprendi que confiar no comportamento de um LLM para fluxos críticos de software é um erro de iniciante. A IA é a camada de criatividade e analogia, mas a estrutura de controle deve ser código puro, determinístico e, muitas vezes, rígido. A Escola Gemini v3.1 agora tem um chassi de aço. No próximo post, vou detalhar como gerenciei o estado desse currículo sem depender da memória volátil do chat.

Referências

#ia#javascript#arquitetura#ensino