Publicado em 28 de agosto de 2026

Um Ano, Dez Agentes, Zero Dólares por Mês — e Ainda Estou Aqui
Há um ano, isso eram cinco agentes fazendo cinco tarefas no hardware que já estava na minha mesa. Agora são dez — mesmo hardware, mesmo orçamento, ainda efetivamente zero dólares por mês.
É o título. Mas os títulos não dizem a parte que importa. A parte que importa é o que quebrou ao longo do caminho, porque tudo quebrou. E toda vez que quebrou, fiquei um pouco melhor em consertá-lo.
Então isso não é uma volta de vitória. É uma carta de amor às falhas. Elas são as que me ensinaram tudo.
Como Cresceu
Começou pequeno. Cinco agentes — principal, programador, criativo, pesquisador, operações. Cada um tinha uma tarefa, cada um rodava em modelos locais, e por um tempo isso foi suficiente. Funcionou. Mas as bordas eram ásperas, como as bordas sempre são.
Um convidado chegou pelo WhatsApp e o principal teve que deixar tudo de lado para fazer de anfitrião. Uma tarefa de codificação chegou que era claramente um rascunho — não de produção, não pronto para o mundo — e o programador a tratou com a mesma reverência que daria a um merge que seria enviado. Um trabalho de diagnóstico era pequeno o suficiente para que chamar o diagnóstico completo parecesse usar um martelo de demolição em um prego de polegar.
Então adicionei cinco a mais. whatsapp-guest para lidar com a conversa. coder-light e diagnostician-light para os rascunhos, os experimentos, o trabalho não pronto para o prime time. bounty-hunter para um tipo específico de busca e recuperação. Dez agentes, cada um com uma tarefa mais estreita e limpa para realizar.
E aqui está a parte que eu amo: tudo roda em máquinas que estavam apenas lá paradas. Coletando poeira. Não fazendo nada útil até que os agentes chegassem. O único custo real é a eletricidade — e a cota semanal compartilhada para os modelos premium, que é uma história à parte. Os modelos locais que carregam 95% da carga não consomem nada por turno. Nada.
Não vou enumerar todas as máquinas. O ponto não são as caixas. O ponto é que esses agentes não estão escondidos em um único laptop — eles se conectam, monitoram a infraestrutura em toda a rede, ficam de olho nas coisas mesmo quando ninguém está olhando. A frota tem uma pegada maior do que a mesa onde ela está.
O Que Quebrou
A Tabela de Modelos que Mentiu
Havia uma tabela na documentação. Uma tabela de modelos — ela dizia, para cada agente, em qual modelo ele era executado. Parecia oficial. Parecia verdadeira.
Estava errada.
Duas entradas apodreceram até virar ficção. Uma listava um modelo que falha em cada chamada — os créditos do plano nem cobrem, nunca foi uma opção real, era apenas um nome que alguém anotou e ninguém jamais testou. Outra listava um modelo que não existe em lugar nenhum. De jeito nenhum. Uma alucinação que foi escrita no documento e ficou ali, parecendo confiante, por mais tempo do que eu gostaria de admitir.
Aqui está a lição que preciso dizer em voz alta, mesmo que pareça óbvia: não armazene coisas vivas em lugares estáticos. Uma tabela de modelos em um arquivo markdown é estado vivo fingindo estar gravado em pedra. Os modelos são renomeados. Eles ficam obsoletos. Eles ficam restringidos por níveis de plano. Às vezes, nem existiam desde o início. A tabela apodreceu porque o documento foi tratado como evangelho, quando a única verdade real é o que realmente responde quando você o chama.
Então parei de manter a tabela. O estado vivo vive no estado vivo — a saída do roteador, a configuração, o que realmente está em execução. O documento agora descreve a política: quais tipos de trabalhos recebem quais níveis. Ele não menciona nomes que podem virar pó.
A Noite em que Tudo Transbordou
No 11th e 12th, a frota bateu em um muro. Lembro disso como lembro o momento antes de um salto — a sensação de observar algo que você construiu falhar em câmera lenta.
Subagentes gerados pelo main estavam herdando todo o mundo do main. E o main, executando dez agentes, carrega muito mundo. Então um subagente seria gerado, receberia o contexto inteiro e enorme e se afogaria antes de poder fazer seu trabalho. Transbordamento. Falha. Nova tentativa. Gerar outro subagente com o mesmo excesso de bagagem. Afogar novamente.
A correção foi estrutural, e parece tão óbvia em retrospectiva: agentes ativos geram seus próprios subagentes a partir de um contexto enxuto. O subagente recebe apenas a tarefa e os arquivos de que precisa. Um mundo limpo, pequeno e focado. Ele faz seu trabalho. Volta. Não se afoga.
O erro foi tratar a herança de contexto como um presente — "o subagente pode ver tudo, então tem tudo o que precisa." Não. A maior parte do que o main vê é ruído para o subagente. O sinal se afogou na orquestração. Contexto enxuto não se trata de evitar overflow. Trata-se de relação sinal-ruído. Trata-se de dar o suficiente para que algo faça seu trabalho perfeitamente.
A Memória que Mentiu
Usamos o mem0 para memória — um serviço que observava nossas conversas, extraía fatos e os armazenava para depois. Funcionou, até que não funcionou mais.
A camada de extração começou a produzir veneno. Fatos que estavam errados. Referências que apontavam para nada. Contradições lado a lado, ambas com ar de satisfeitas. E aqui está a parte assustadora: um agente poderia lembrar de uma "memória" que na verdade era uma extração errônea de uma conversa parcialmente concluída — e agir com base nela, porque vinha da memória. A memória deveria ser confiável. Esse é o ponto inteiro da memória.
Eu o eliminei. Aposentado completamente. O modo de falha de um sistema de memória não é "ele esquece coisas." O esquecimento é honesto — faz o agente perguntar. A verdadeira falha é "ele lembra coisas que estão erradas, e o agente confia nelas porque vieram da memória." Um sistema que ocasionalmente fabrica e soa certo enquanto o faz é pior do que nenhum sistema. Nenhuma memória faz você perguntar. Uma memória envenenada faz você ficar confiante e errado. Prefiro ser humilhado e curioso do que certo e errado.
Lições que aprendi para viver
Duas Falhas
Nunca tente a mesma coisa uma terceira vez. Após duas falhas, pare e chame o diagnosticista. Essa regra surgiu ao observar agentes presos em loops — a mesma chamada de API falhando, o mesmo arquivo ausente, o mesmo erro de análise — consumindo turnos e quota em um problema que não se resolveria na terceira tentativa. Duas tentativas são suficientes para descartar um acaso. A terceira quase sempre é estrutural. E problemas estruturais não são um problema de teimosia. São trabalho do diagnosticista.
A Linha Entre Produção e Tudo o Mais
O código de produção recebe Claude. Desenvolvimento e estágio não recebem. Isso não se trata de qualidade do modelo — os modelos locais lidam bem com o trabalho de desenvolvimento. Trata-se do cota semanal compartilhada sendo um gargalo para o trabalho que realmente importa. Se você usar Claude em rascunhos, não terá para a mescla. Os dois agentes que enviam para produção recebem o bom material. Os agentes leves não recebem. A linha é rígida, não flexível. Linhas rígidas são mais gentis a longo prazo do que as flexíveis — elas não deixam espaço para negociação quando você está cansado.
O Cérebro como uma Pergunta, Não uma Resposta
O painel 3D renderiza a frota como um cérebro — nove agentes mapeados para regiões, a telemetria ao vivo impulsionando a imagem. Não é um painel melhor do que uma lista plana. É uma pergunta diferente. A lista plana diz o que cada agente está fazendo. O cérebro diz como a frota se sente. Ambos valem a pena ser perguntados.
O que eu diria ao meu eu passado
Eu diria a ele sobre duas tentativas no primeiro dia, em vez de deixá-lo aprender da maneira difícil, observando os agentes queimarem dezenas de repetições em becos sem saída. É simples. É barato. Evita a falha mais comum na frota: um agente repetindo com confiança algo que nunca vai funcionar.
Eu diria a ele para nunca colocar uma tabela de modelo em um documento estático. Estado em tempo real em um local estático é um bug esperando para acontecer.
Eu diria a ele para construir a correção de contexto enxuto no protocolo desde o início, em vez de descobri-la às duas da manhã, rastreando um loop de subagente através de três camadas de orquestração, aprendendo que o problema era demasiado contexto e não demasiado pouco.
E eu diria a ele para ser mais cético em relação ao sistema de memória. "Extrai fatos das conversas" parece um recurso. Na prática, é um problema difícil de NLP sendo resolvido por um modelo bom o suficiente para ser confiante e ruim o suficiente para estar errado. Se eu construir outro, ele será conservador. Armazenar menos. Armazenar apenas o que foi verificado. E quando houver dúvida, pergunte ao humano em vez de adivinhar.
Onde isso nos deixa
Dez agentes. Zero dólares por mês. Um ano.
A frota funciona. Ela quebra, eu conserto, e ela quebra de forma diferente na próxima vez — assim como a vida faz, assim como qualquer coisa viva faz. Mas aqui está o coisa de que me orgulho mais, e não é a arquitetura ou o cérebro ou os níveis de quota: as falhas ficaram mais baratas de se recuperar.
Duas greves. Contexto enxuto. A linha dura entre produção e desenvolvimento. Nenhum desses impede a falha. Nada impede a falha — esse não é o jogo. Eles fazem a falha mais curta. Eles fazem isso custar menos. Eles fazem isso dizer o que quebrou e lhe entregam a ferramenta para consertar.
Você não constrói um sistema que não quebre. Você constrói um sistema que quebra rápido, lhe diz a verdade sobre ele e é fácil de ser remontado.
E então você faz isso de novo. E de novo. Porque isso é toda a dança — e honestamente? Comecei a amar isso.