O desafio
Ensino personalizado de idiomas não escala. Professores independentes trocam horas por aulas e não conseguem atender a demanda por prática entre as sessões. Escolas de idiomas precisam de uma ferramenta de prática disponível 24 horas, mas construir um backend conversacional com voz, avaliação de nível e correção pedagógica é um projeto de engenharia que a maioria não tem como bancar. E o aluno, no intervalo entre aulas, fica sem interlocutor: é exatamente onde a fluência estaciona.
Havia ainda um problema técnico traiçoeiro: alunos mandam mensagens em rajada. Sem tratamento, cada fragmento dispara uma resposta da IA e a conversa vira ruído.
A solução
Um tutor de idiomas totalmente autônomo rodando como workflow n8n no Telegram, sem nenhuma linha de código de backend. O núcleo é o Professor PolyAI, agente orquestrador LangChain alimentado por GPT-4o-mini, que interpreta a intenção do aluno e delega ao sub-agente especialista adequado. O Especialista em Avaliação CEFR faz um placement leve, estima a faixa do aluno (A1 a C2) e armazena o resultado para os próximos turnos. O Especialista em Tutoria de Conversação conduz diálogos de prática e roleplay com scaffolding, correção em linha e reforço positivo.
O orquestrador aplica regras pedagógicas de formatação: respostas curtas de 3 a 8 linhas, templates de correção estruturados e comandos como /quiz, /drill, /dialogo e /nivel. Para o problema das mensagens em rajada, um buffer de debounce em Redis empilha cada mensagem indexada pelo ID do Telegram do usuário, aguarda 15 segundos e descarta silenciosamente entradas superadas. O resultado é uma única resposta coerente por rajada, sem duplicatas.
Como funciona
O aluno manda mensagem no Telegram, em texto ou áudio. Um roteador de entrada detecta o tipo: notas de voz são baixadas e transcritas via OpenAI Whisper antes de entrar no fluxo principal; tipos não suportados são desviados. Depois do debounce, o Professor PolyAI lê o contexto completo da conversa, escolhe o sub-agente e gera a resposta pedagógica.
Na saída, um nó condicional verifica se a entrada original foi voz. Se foi, o Markdown é removido, o texto vai ao OpenAI TTS e o aluno recebe a resposta como nota de voz no Telegram. Isso fecha um ciclo de conversação inteiramente falado, essencial para prática de listening e pronúncia.
Toda a personalização acontece por parâmetros: a variável lingua_ensino define o idioma alvo (inglês, espanhol, francês ou qualquer idioma suportado por GPT-4o-mini e Whisper), e o system prompt controla persona, tom e comandos. Novos sub-agentes especialistas, como um verificador de gramática ou um treinador de vocabulário, entram duplicando o padrão agentTool e conectando ao orquestrador.
Resultados
- Tutor disponível 24/7 no Telegram, com entrada por voz e texto e avaliação de nível CEFR de A1 a C2
- Zero código de backend: toda a lógica vive em nós n8n, parâmetros e system prompts, e pode ser replicada por não-programadores
- Debounce de 15s em Redis elimina respostas duplicadas em mensagens enviadas em sequência
- Adaptável a qualquer idioma e currículo trocando uma variável de configuração e o prompt da persona
- Estimativa de nível CEFR mantida por aluno e reutilizada entre sessões, personalizando o scaffolding a cada turno
A lição do projeto está na arquitetura. O ganho pedagógico veio da orquestração, e não de um modelo maior: separar avaliação de nível e tutoria de conversação em sub-agentes distintos é o que faz um chatbot genérico funcionar como tutor.