Minha máquina reiniciou duas vezes no mesmo dia, e levou o trabalho aberto junto.
Foi em 16/09/2026. A culpada era uma suíte de testes que eu mesmo tinha escrito, e que abria um Chrome headless por rota do site. Não havia bug: cada navegador fazia exatamente o que eu pedi. O erro estava em outro lugar, num lugar que nenhum teste unitário olha, que é a soma. Cinco dias antes, em 11/09, uma sessão tinha aberto 148 processos Chrome em paralelo e ocupado 15,5 GB de memória residente, e eu tinha achado aquilo engraçado.
Seis dias antes disso, em 10/09, a placa de vídeo da mesma máquina sumiu do barramento PCIe. Xid 79. A causa não era driver nem cabo: era o método ACPI _ON estourando o tempo de espera ao tentar acordar o dispositivo do estado de energia mais profundo. A placa estava dormindo bem demais.
Dois acidentes, nenhum deles causado por código errado. Os dois causados por um sistema que fazia o que eu mandei, num contexto que eu não tinha medido. É daí que sai tudo o que vem a seguir, e é por isso que este ensaio começa pelo acidente e não pelo método. O método é consequência; se eu começasse por ele, estaria contando a história ao contrário, que é o modo mais confortável e menos honesto de contar.
Esta é a primeira de uma série sobre o harness que eu uso para trabalhar com agentes de IA. Harness, aqui, é o arreio: o conjunto de regras, portões e medidores que decide o que um agente pode fazer, o que ele tem que provar, e quem confere. O ensaio #1 é panorama. Cada eixo vai até o ponto em que planta uma dívida, e a dívida vira o ensaio seguinte.
História: o harness nasceu de acidente, não de doutrina
Não houve momento fundacional. Houve uma sequência de coisas que deram errado e de regras escritas em cima delas, cada uma com data e com o arquivo que a originou.
| Data | O que aconteceu | O que virou regra |
|---|---|---|
| 10/09/2026 | A GPU cai do barramento por timeout do método ACPI _ON | Impedir o estado de energia profundo por regra do sistema |
| 11/09/2026 | Uma sessão abre 148 processos Chrome, 15,5 GB residentes | Limite de concorrência de navegador na suíte |
| 16/09/2026 | A máquina reinicia duas vezes durante a suíte do site | Teto de memória obrigatório e um serviço vigia |
| 20/09/2026 | Decisão sobre como a sessão esquece: limpar em vez de resumir | Cadência de limpeza por bloco de trabalho |
| 21/09/2026 | Emendas: o site passa a usar harness, matriz de testes vira opcional | O custo do método entra na conta do método |
A linha do meio dessa tabela é a mais interessante e é a que eu menos gosto. Em 12/09/2026 eu decidi que o site pessoal não usaria harness, porque o harness era caro demais para o tamanho do trabalho. Em 21/09/2026 eu revoguei essa decisão. O que mudou não foi a minha opinião sobre rigor: foi o preço. O harness ficou barato o suficiente, e aí passou a caber.
Essa é a primeira coisa que eu aprendi e que eu não esperava: rigor é uma função de custo. Um método correto e caro demais não é adotado, e método não adotado não protege ninguém. A decisão de 12/09 ficou registrada como errada em vez de ser apagada, e isso não é escrúpulo de arquivista: a regra da casa é que emenda se registra e não se apaga, porque um histórico onde só as decisões certas sobreviveram é um histórico que não serve para prever nada.
Do fato à regra, em seis datas
- A GPU cai do barramentoXid 79: a placa não acorda do estado de energia mais profundo.Impedir o estado de energia profundo por regra do sistema.
- 148 processos de ChromeUma sessão só, 15,5 GB de memória residente.Limite de concorrência de navegador na suíte.
- O site fica fora do harnessCaro demais para o tamanho do trabalho.Revogada em 21/09, e registrada como errada.
- A máquina reinicia duas vezesDurante a suíte do site, um Chrome por rota.Teto de memória obrigatório e um serviço vigia.
- Limpar em vez de resumirA decisão sobre como a sessão esquece.Cadência de limpeza por bloco de trabalho.
- As emendasO site passa a usar harness, e a matriz de testes vira opcional.O custo do método entra na conta do método.
O contrato
O harness tem seis regras e cabem num parágrafo.
Três estados, e só três: PASS, FAIL, UNKNOWN. UNKNOWN bloqueia igual a FAIL, porque “não consegui medir” nunca vira aprovado, e o dia em que virar é o dia em que o sistema deixa de servir. PASS exige RED antes: um critério só pode passar se antes foi visto reprovando, já que critério que nasce verde não é aceite, é guarda. O medidor é congelado por hash antes da implementação começar, e hash diferente entre o vermelho e o verde invalida a prova inteira. Verde parcial não é verde: execução que sai com código diferente de zero não produz PASS em critério nenhum, nem nos que passaram. E emenda se registra, não se apaga.
Seis frases. Nenhuma delas fala de inteligência artificial, e é exatamente esse o ponto.
Uma verificação, do vermelho ao veredito
- REDo critério reprova primeiro
- congelaro medidor, por hash
- implementarsem mexer no medidor
- GREENmesmo hash, saída zero
- vereditotrês estados, e só três
- PASSsegue
- FAILbloqueia
- UNKNOWNbloqueia igual
Método científico: onde o contrato é falseacionismo, e onde não é
Se você leu as seis regras e ouviu um eco, o eco é real, e vale nomear de onde ele vem.
O RED antes do GREEN é controle positivo: antes de confiar que o instrumento aprova, provo que ele consegue reprovar. É a lição de Feynman em Cargo Cult Science (1974), o texto sobre a ciência que copia a forma do ritual e perde a substância dele, e que é a melhor descrição que eu conheço de uma suíte de testes que só tem verde. O UNKNOWN que bloqueia é Popper levado a sério pelo lado chato: uma contra-instância genuína basta, e a ausência de instância não é confirmação. O congelamento do medidor por hash é pré-registro, a prática que a ciência adotou depois de descobrir, com Ioannidis em Why Most Published Research Findings Are False (2005), que a flexibilidade analítica sozinha produz achado positivo em quantidade industrial. Se eu posso mexer no medidor depois de ver o resultado, eu não medi nada.
E agora a parte que me custou mais para escrever, porque é a parte em que a analogia não me favorece: onde o contrato não é método científico.
O harness testa uma hipótese por vez contra um critério que eu mesmo escrevi. Isso é verificação, não inferência forte. O que falta é o que Platt chamou de Strong Inference (1964): hipóteses rivais e um experimento que distinga entre elas, em vez de uma hipótese única que passa ou não passa. Falta replicação por instrumento de estrutura diferente, e não pelo mesmo instrumento rodado duas vezes, que só repete os mesmos modos de falha. E falta estimativa de efeito que possa falhar por magnitude, e não só por direção: hoje meus critérios dizem “melhorou”, quase nunca “melhorou tanto, e abaixo disso eu teria reprovado”.
O contrato e o método científico
O que ele herdou
- RED antes do GREENcontrole positivo (Feynman, 1974)
- UNKNOWN que bloqueiafalseacionismo (Popper)
- Medidor congelado por hashpré-registro, adotado depois de Ioannidis (2005)
O que ainda falta
- Hipóteses rivaisinferência forte (Platt, 1964)
- Replicaçãopor instrumento de estrutura diferente
- Efeito por magnitudee não só por direção
Um detalhe de contabilidade que desmonta a minha própria defesa: a pesquisa que embasa esta seção tem 21 fontes declaradas, 18 verificadas, e três que eu não consegui abrir - o Platt de 1964, num espelho de terceiro, o An Excess of Positive Results de Scheel, Schijen e Lakens (2021), e The preregistration revolution de Nosek e colegas (2018). Elas estão marcadas como não verificadas na minha base, e continuam marcadas aqui. Citar uma fonte que eu não abri e não dizer isso seria, ele mesmo, um culto de carga.
A dívida: o ensaio #2 é sobre o experimento crucial, hipóteses rivais e por que o meu contrato ainda não tem nenhum dos dois.
Matemática: a razão que mede, e o número que se recusa a virar taxa
Um projeto que promete economizar precisa de um número único, e o meu é tokens lidos por item entregue em PASS. Linha de base congelada antes de qualquer mudança: 1.804.802.598 tokens lidos para 197 itens aprovados, ao longo de 29 planos, numa janela declarada de 18 a 20/09/2026. A divisão dá 9.161.434,51.
Nove milhões de tokens por item entregue.
A linha de base
1.804.802.598tokens lidos÷197itens em PASS=9.161.434,51tokens por item
Esse número é bruto de propósito, e vale mais pelo que ele não mede do que pelo que mede. Ele não separa cache de leitura fresca, ele não pondera por preço - cache lido custa uma fração do input novo, e ignorar isso infla o número de um jeito que não corresponde a dinheiro. Ele não sabe distinguir item difícil de item trivial, então melhorar a razão fazendo tarefa fácil é trivialmente possível e completamente inútil. E a janela dele não é a mesma de outra medição que eu fiz, de 68 sessões e 15,12 bilhões de tokens de leitura de cache, que nem sequer declara a janela temporal que cobriu. Duas réguas, dois escopos, e eu não sei se elas medem o mesmo período. Isso está escrito no dossiê que sustenta este texto, e escrito lá antes de ser escrito aqui.
Agora a parte de que eu me orgulho, e que é a razão de existir deste ensaio.
Eu mantenho uma estatística de despachos: cada pedaço de trabalho que vai para um agente é registrado com rótulo, modelo e desfecho. Hoje ela diz isto:
| Rótulo | Executor | n | PASS | FAIL | Taxa |
|---|---|---|---|---|---|
| especificado | Sonnet | 12 | 11 | 1 | 92% |
| gosto | Opus | 2 | 2 | 0 | UNKNOWN |
| interface | Opus | 1 | 1 | 0 | UNKNOWN |
Olhe a coluna da direita. As duas últimas linhas têm 100% de aprovação. Dois de dois. Um de um. Nenhuma falha. E o medidor se recusa a chamar isso de taxa, porque a amostra mínima da casa é 5, e ele imprime o motivo por extenso: n=2 < 5, amostra pequena, taxa UNKNOWN.
Os despachos e a amostra mínima
- especificado, no Sonnet11 de 12, 92%
- gosto, no Opus2 de 2, UNKNOWN
- interface, no Opus1 de 1, UNKNOWN
- PASS
- FAIL
Um sistema que nega a própria vitória por insuficiência amostral. Foi para isso que eu escrevi tudo isso. A tentação de olhar dois acertos em dois e escrever “o Opus está em 100% nos pedaços de gosto” é enorme, ela é honesta em intenção, e ela é estatisticamente vazia: duas jogadas de moeda dão duas caras com probabilidade de um em quatro. A única defesa contra essa tentação é uma regra escrita antes de eu ver o resultado, que não me obedeça depois.
A linha de cima, com n=12 e 92%, é a única com massa suficiente para ser lida. E ela tem uma falha real dentro: um FAIL em doze, e três voltas - três vezes em que um pedaço voltou para ser refeito. Eu não vou suavizar isso. É o número que eu tenho.
A dívida: o ensaio #3 é sobre a razão ponderada por preço, que é o número que eu realmente deveria estar usando e ainda não uso.
Neurofisiologia: o órgão mais caro, e duas analogias que eu tive que enterrar
A pergunta que abriu esta parte do projeto foi ingênua e produtiva: se token é energia, o que o cérebro sabe sobre gastar pouco que um harness de agentes ainda não sabe?
Achei três coisas, e todas as três tinham correspondente no meu extrato de consumo. O cérebro não paga para transmitir o que o receptor já previu - na codificação preditiva, o que sobe de um nível para o outro é só o resíduo entre a predição e o que aconteceu, e o neurônio de dopamina fica quieto quando a recompensa veio como esperado. No harness, a devolução de um agente descreve tudo o que ele fez, inclusive o que quem mandou fazer já sabia. O que deveria subir é o desvio, com magnitude. Segundo: o cérebro não mantém ativo o que não está em uso, e o filtro acontece antes da entrada, não depois - o córtex nunca paga pelo que foi barrado no caminho. No harness, o único corte real de uma saída de comando é reescrever o comando antes de rodar, porque depois que ela entrou no contexto não há regra que a tire. Terceiro: a limpeza é offline, e acontece dormindo. O meu registro de observações tinha 830 entradas abertas e nenhuma revisão. Trilha que não evapora não é memória, é ruído.
Três regras do cérebro e o correspondente no harness
Só o resíduo sobe
- No cérebrode um nível para o outro sobe só o resíduo entre a predição e o que aconteceu
- No harnessa devolução do agente descreve tudo o que ele fez; o que deveria subir é o desvio, com magnitude
O filtro vem antes da entrada
- No cérebroo córtex nunca paga pelo que foi barrado no caminho
- No harnesso único corte real de uma saída de comando é reescrever o comando antes de rodar
A limpeza é offline
- No cérebroacontece dormindo
- No harnesso registro de observações tinha 830 entradas abertas e nenhuma revisão
E agora a parte que importa mais, no mesmo fôlego, porque separar as duas coisas seria desonesto.
Duas analogias que eu queria usar foram conferidas contra a literatura e caíram.
A primeira é a divisão hemisférica como propriedade global - o hemisfério de atenção estreita contra o de vigilância ampla, que é uma metáfora linda para líder e executor. Nielsen e colegas, em 1.011 pessoas e 7.266 regiões cerebrais (PLOS ONE, 2013), mostram que a lateralização é uma propriedade local das redes, não global. A leitura que eu queria fazer é interpretação, não dado.
A segunda é o expoente 3/4 da lei de Kleiber, que eu queria como régua de escala metabólica e portanto de escala de custo. Duas revisões de 2026 contestam a universalidade dele: a medida de 0,75 aparece em planárias, enquanto mamíferos pequenos e invertebrados reportam expoente perto de 0,9. O número não serve de régua.
Duas analogias enterradas
- A divisão hemisférica como propriedade globalmetáfora para líder e executorSegundo Nielsen e colegas, em 1.011 pessoas e 7.266 regiões cerebrais (PLOS ONE, 2013), a lateralização é propriedade local das redes, não global.
- O expoente 3/4 da lei de Kleiberrégua de escala de custoDuas revisões de 2026 contestam a universalidade dele: 0,75 em planárias, perto de 0,9 em mamíferos pequenos e invertebrados.
Analogia que não passa pela fonte não entra no projeto, e eu prefiro contar as duas que morreram do que as seis que sobreviveram, porque as que morreram é que dizem se o processo funciona.
Uma última honestidade sobre esta seção. A pesquisa de neurofisiologia que a sustenta tem 42 fontes declaradas e 34 verificadas, e mesmo assim ela sai com confiança baixa. O motivo não é fonte fraca nem falta de verificação: é concentração. Das 34 verificadas, 18 - 53% - moram no mesmo domínio, que é o espelho aberto da literatura biomédica. São artigos de periódicos diferentes, mas o portão conta o host, e um portão que conta o host está certo: se aquele único espelho estiver enviesado, eu não teria como saber. A desconfiança aqui é de concentração de fonte, não de qualidade de fonte, e essas duas coisas se confundem o tempo todo.
A dívida: o ensaio #4 é sobre as três regras do cérebro viradas em portões, e sobre a única medição de qualidade do projeto - comparar sessões que dormem com sessões que não dormem.
Inspirações e referências
As ideias vieram de quatro lugares, e nenhum deles é engenharia de software.
Da filosofia da ciência, o falseacionismo de Popper e a inferência forte de Platt, mais Feynman como consciência incômoda. Da crise de replicação, Ioannidis e a prática de pré-registro, que é de onde vem o congelamento por hash. Da biologia de sistemas, a ideia de que um sistema com muitos agentes e pouco orçamento já foi otimizado por seleção natural muito antes de eu chegar. E da neurofisiologia do custo, a noção de que economia de energia não é otimização periférica: é o padrão de projeto central.
Da engenharia veio pouco, e o pouco é antigo: Dijkstra em On the reliability of programs (1970), com a observação de que teste mostra a presença de defeito e nunca a ausência, e o material de depuração sistemática de Andreas Zeller.
A contabilidade das fontes, porque ela também é parte do método: as quatro pesquisas que sustentam esta série somam 146 fontes declaradas, das quais 99 são externas e 126 foram verificadas - isto é, abertas e conferidas, não citadas de memória. As que não foram estão marcadas como não verificadas na base e continuam marcadas quando aparecem em texto, como as três desta edição. Memória de modelo não conta como fonte, e afirmação sem fonte é UNKNOWN.
Problemas resolvidos
O que já se provou em execução, e não apenas em intenção:
- O contrato de três estados funciona, e é conferido por máquina, não por leitura.
- O congelamento por hash pegou pelo menos um caso em que o medidor teria sido ajustado depois de eu ver o resultado.
- Os acidentes viraram portão. As três quedas de setembro são regras que recusam o comando, em vez de avisos que chegam depois.
- O sinal de amostra pequena recusou duas taxas de 100% que eu teria publicado sem pestanejar.
- A estatística de despachos existe, com 12 registros no rótulo mais movimentado. É pouco, mas é pouco medido, que é diferente de nada.
Problemas em aberto
Aqui a honestidade tem que ser maior, porque é a seção onde é mais fácil ser vago.
Quando eu rodo o verificador do mapa contra o meu próprio estado, hoje, ele responde: passa 53, falha 11, nao alcanca 17. E, embaixo, uma linha que eu escrevi num dia em que estava me sentindo corajoso: FALHA e regressao de processo: o mapa afirma algo que deixou de ser verdade.
O verificador do mapa contra o meu próprio estado
- 53 passa
- 11 falha
- 17 não alcança
Onze frentes falhando contra mim mesmo. Não há forma de contornar isso, porque o verificador recusa o mapa inteiro enquanto houver uma frente que afirma o que não é mais verdade.
Isso é, de longe, a coisa mais valiosa que eu construí: não um sistema que aprova o meu trabalho, mas um que não me deixa fingir.
Vale a pena separar os estados, porque aberto e bloqueado não são a mesma coisa. Aberto é trabalho que pode começar agora; bloqueado é trabalho que depende de outra coisa acontecer primeiro, e começar nele seria desperdício.
| Frente | Estado | O que falta |
|---|---|---|
| P2 - a GPU não dorme mais | aberto | A regra do sistema existe escrita; falta instalar e reiniciar |
| P3 - firmware da placa-mãe | aberto | Confirmar se existe versão mais nova que a oficial de 2024 |
| P5 - a suíte com no máximo dois navegadores | aberto | Limitar a concorrência e medir o pico de processos |
| P6 - o sintetizador de voz não conhece a GPU | bloqueado | Depende de P2 e P3 |
| P13 - os três portões do harness | bloqueado | Um critério em desacordo entre o medidor e o caso de teste |
| P15 - cadência de limpeza por bloco | bloqueado | Falta o disparador na fronteira entre blocos |
| P18 - a razão ponderada por preço | aberto | A medição de 68 sessões está pronta; falta ponderar por modelo |
| P21 - modelo local nesta máquina | aberto | Medir contra o medidor da casa, e não contra impressão |
Sobre a última linha, um número que eu gosto e que não prova nada ainda: o modelo local que roda na placa desta máquina faz 27,04 tokens por segundo com contexto ótimo de 8.192 tokens. É rápido o bastante para ser tentador e curto o bastante para ser inútil na maioria dos pedaços. Se ele serve ou não, o medidor diz - não eu.
O que vem na série
Cada eixo deste ensaio ficou devendo, e a dívida é o índice:
- #2, o experimento crucial. Hipóteses rivais, replicação por instrumento diferente, e por que verificação não é inferência forte.
- #3, a razão ponderada. O número que eu deveria usar, por que o bruto engana, e o que acontece quando duas réguas não cobrem a mesma janela.
- #4, o cérebro como especificação. As três regras viradas em portões, e a única medição de qualidade do projeto.
- #5, o que a analogia não prova. Onde a biologia dá hipótese com mecanismo e onde ela vira enfeite.
A tese que atravessa todos: um sistema de verificação que só sabe aprovar não verifica nada. O meu diz 11 falhas hoje. É por isso que eu ainda acredito nele.
Os números deste ensaio vêm de um dossiê de evidência congelado antes da escrita, e todos eles têm origem nomeada num arquivo medido. Os que não tinham ficaram de fora do texto.