
Dias 65 a 69 · 29 de maio a 2 de junho – 2026
Nestes cinco dias os robôs mudaram de casa dentro da própria máquina, o mensageiro ganhou uma fila, e nasceu o primeiro robô cujo trabalho é olhar outro robô. Também descobri, do jeito mais bobo possível, que um sistema pode dar alarme falso por causa de um número grande demais.
A mudança de casa
Até aqui todos os robôs rodavam na minha conta de usuário do computador. Funcionava, e era errado.
Errado porque misturava tudo: os navegadores que eles usam abriam junto com o meu, roubavam a tela quando eu estava fazendo outra coisa, e qualquer coisa que eu mexesse na minha conta podia derrubá-los. Havia também o problema de sucessão — se um dia outra pessoa cuidasse disso, herdaria a minha conta pessoal com tudo dentro.
Então os robôs ganharam conta própria na máquina, com um roteiro de mudança escrito passo a passo antes de começar. Não foi indolor. A conta nova não tinha permissão de administrador, e várias coisas que eu fazia sem pensar deixaram de funcionar; boa parte dos consertos desses dias é exatamente isso, uma tarefa por vez descobrindo o que dependia de um poder que a conta nova não tem.
Valeu pelo que veio junto. O navegador do WhatsApp virou um aplicativo dedicado, separado do navegador de gente, sempre aberto — e passou a abrir fora da área visível da tela, para parar de pular na frente de quem está trabalhando. Essa foi uma das reclamações mais antigas e mais justas do dia a dia: o robô mandava uma mensagem, a janela dele saltava por cima do que eu estava fazendo, eu perdia o que estava digitando.
Uma fila para o mensageiro
Aqui tem uma virada de arquitetura que parece burocracia e não é.
Antes, cada robô que precisava avisar alguém mandava a mensagem por conta própria. Quatro robôs, quatro caminhos até o mesmo WhatsApp. Quando dois queriam falar ao mesmo tempo, disputavam a janela — e o resultado era mensagem cortada, mensagem repetida ou mensagem nenhuma.
Passou a existir uma fila central com um único encarregado: os robôs não mandam mais nada, eles pedem que a mensagem seja enviada, deixando o recado numa fila. Um trabalhador só, de cada vez, tira da fila e envia.
A fila entrou desligada, atrás de uma chave que só liga onde eu mandar. Isso virou hábito nesta altura do projeto: coisa nova nasce desligada, e a gente liga quando estiver provada, não quando estiver pronta.
Gritar menos
A Sofia estava avisando demais. Cada pedido perto de atrasar virava uma mensagem no grupo, e num sábado à noite isso é uma metralhadora — todo mundo silencia o grupo, e aí ninguém vê nem o aviso importante.
Mudou para resumos: um a cada meia hora e um no fim, com a contagem do que aconteceu. O mesmo conteúdo, um centésimo do barulho. Ela também passou a cumprimentar o cliente pelo nome e a mostrar, no resumo interno, o que de fato foi enviado a cada pessoa.
É a mesma lição das cores da tela de notas, aparecendo pela terceira vez em um mês: se tudo grita, ninguém escuta. Já estou aceitando que essa vai ser a lição recorrente deste diário.
Um robô para cuidar do robô
E aqui está o assunto do título.
A Sofia trabalha sozinha o dia inteiro, dentro de um navegador. Se ela travar às três da tarde de um sábado, ninguém percebe — não chega mensagem, e a ausência de mensagem parece um dia tranquilo. O modo de descobrir era o pior possível: alguém notar que fazia tempo demais que ela não falava.
Então nasceu um vigia do vigia — uma espécie de babá. De tempos em tempos ele confere se a Sofia está viva; se não estiver, levanta ela sozinho e me avisa que fez isso.
Três detalhes dessa babá merecem nota, porque cada um veio de um jeito de errar:
O primeiro: ela julgava a saúde da Sofia pelo horário do último registro no arquivo de log. Parece razoável e não é — um programa pode estar travado num laço, escrevendo no log sem parar, e parecendo o mais saudável de todos. Passou a olhar o processo em si.
O segundo: quando a Sofia não respondia, a babá reiniciava a Sofia — mas o problema quase nunca era ela, e sim o navegador embaixo dela, engasgado. Reiniciar só o robô era trocar o motorista de um carro com pneu furado. A babá passou a levantar o navegador junto.
O terceiro é o meu favorito, porque é besta: para saber há quanto tempo a Sofia estava de pé, o código pedia esse tempo ao sistema com o nome errado do comando — uma letra de diferença entre duas opções parecidas. O sistema respondia vazio, o código entendia “zero segundos de vida” e concluía que ela tinha acabado de nascer, para sempre. Uma letra.
Ainda nesses dias, a Sofia ganhou uma tranca de instância única: se por qualquer motivo alguém a iniciasse duas vezes, a segunda não sobe. Duas Sofias vigiando os mesmos pedidos significa cliente recebendo a mesma mensagem duas vezes — o tipo de defeito que o cliente nota antes de nós.
Ter um robô vigiando outros robôs e reportando os B.O.´s por WhatsApp foi, de fato, um marco. Veremos adiante que essa prática será replicada em outras ocasiões e me deu a tranquilidade de poder fazer as coisas do dia sem ter que estar pensando se tudo está correndo bem. No fundo, foi uma libertação. Rsrs.
O falso alarme de um número grande demais
Esse é curto e é a minha história preferida da semana.
O medidor de saúde do WhatsApp começou a jurar, de vez em quando, que o navegador estava fora do ar. Eu ia conferir e estava tudo funcionando. Alarme falso, intermitente, sem padrão — o pior tipo, porque ensina a equipe a ignorar alarme.
A causa: para conversar com o navegador, o programa gera um número de identificação usando a hora atual em milésimos de segundo. Esse número, hoje, é grande demais para o tamanho de caixa em que ele estava sendo guardado. Transbordava, virava outra coisa, o navegador respondia “não conheço esse pedido” e o medidor concluía que ele estava morto.
Não havia nada de errado com o navegador nem com a rede. Havia um número que não cabia. Guardo essa porque é a cara de um tipo de defeito que dá muita voltinha até alguém desconfiar da coisa mais banal da história.
Dinheiro na mão de quem opera
Fechando os cinco dias, o módulo de finanças ganhou o livro caixa — o lugar onde a loja registra a entrada e a saída de dinheiro vivo do dia. Ele entrou em quatro etapas, da fundação à integração automática com o fechamento de caixa, e trouxe junto uma decisão de acesso: o gerente enxerga só o livro caixa dentro de finanças, nada além.
Um detalhe da tela merece registro por ser barato e resolver um problema caro: cada loja tem uma cor própria e um aviso grande com o nome dela no topo. O motivo é prosaico — quem cuida de mais de uma loja abre a tela, se distrai e lança o dinheiro de uma na outra. Descobrir isso depois é uma tarde de trabalho. A tarja colorida custou meia hora.
A lição desses dias
O tema da semana foi quem cuida de quem.
Um robô que trabalha sozinho não é confiável só porque funciona. Ele é confiável quando existe alguém — nem que seja outro programa — encarregado de perceber que ele parou. Antes disso, o que existe é sorte com aparência de estabilidade.
E a segunda parte, que eu não esperava: a babá errou três vezes seguidas, e todas as três por confiar num sinal indireto. O log em vez do processo. O robô em vez do navegador. O relógio em vez do relógio certo. Vigiar é uma tarefa tão sujeita a erro quanto a tarefa vigiada — só que o erro dela é mais perigoso, porque um vigia enganado passa uma sensação de segurança que ninguém vai questionar.
É por isso que a tranquilidade que eu conto lá em cima não veio de existir uma babá — veio de ela ter parado de olhar para sinal indireto. Vigia novo dá sossego cedo demais; o sossego só se justifica depois que ele erra e é corrigido.
No próximo capítulo, o WhatsApp muda de cara da noite para o dia e quebra tudo — e eu começo a procurar um jeito de mandar mensagem sem depender de navegador nenhum.
Deixe um comentário