Pular para o conteúdo
Voltar

Ensaios sobre harness · #1

ciência tecnologia filosofia a infraestrutura 7 min de leitura

Ensaios sobre harness #1: o método antes do código

Dois acidentes de máquina em uma semana viraram um método de verificação com três estados, onde não medir bloqueia igual a falhar.

Ensaios sobre harness #1: o método antes do código

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.

Um cachorro de chapéu sentado à mesa, com uma caneca de café, numa sala em chamas; no alto, o letreiro THIS IS FINE.
Eu em 11/09, achando graça em 148 processos de Chrome. Os dois reinícios vieram cinco dias depois.

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.

DataO que aconteceuO que virou regra
10/09/2026A GPU cai do barramento por timeout do método ACPI _ONImpedir o estado de energia profundo por regra do sistema
11/09/2026Uma sessão abre 148 processos Chrome, 15,5 GB residentesLimite de concorrência de navegador na suíte
16/09/2026A máquina reinicia duas vezes durante a suíte do siteTeto de memória obrigatório e um serviço vigia
20/09/2026Decisão sobre como a sessão esquece: limpar em vez de resumirCadência de limpeza por bloco de trabalho
21/09/2026Emendas: o site passa a usar harness, matriz de testes vira opcionalO 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

  1. 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.
  2. 148 processos de ChromeUma sessão só, 15,5 GB de memória residente.Limite de concorrência de navegador na suíte.
  3. O site fica fora do harnessCaro demais para o tamanho do trabalho.Revogada em 21/09, e registrada como errada.
  4. 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.
  5. Limpar em vez de resumirA decisão sobre como a sessão esquece.Cadência de limpeza por bloco de trabalho.
  6. 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.
Em cada data, o fato e, marcada pelo fio, a regra que saiu dele. O ponto cinza é a data que a tabela não tem: a decisão revogada, que fica na linha em vez de sumir.

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

  1. REDo critério reprova primeiro
  2. congelaro medidor, por hash
  3. implementarsem mexer no medidor
  4. GREENmesmo hash, saída zero
  5. vereditotrês estados, e só três
  • PASSsegue
  • FAILbloqueia
  • UNKNOWNbloqueia igual
Os passos na ordem em que acontecem. Do veredito saem três estados e só um segue: FAIL e UNKNOWN têm a mesma hachura e ficam colados, porque bloqueiam 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
Na caixa cheia, cada regra do contrato e, no cotovelo, a prática científica de onde ela vem. Na tracejada, o que essa mesma ciência pede e o contrato ainda não tem.

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

Em 29 planos, de 18 a 20/09/2026, antes de qualquer mudança.

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ótuloExecutornPASSFAILTaxa
especificadoSonnet1211192%
gostoOpus220UNKNOWN
interfaceOpus110UNKNOWN

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
Uma unidade por despacho. O fio tracejado marca a amostra mínima, 5: grupo que não chega até ele fica sem taxa, mesmo com todas as unidades cheias.

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.

Um capitão pirata de massinha ergue o dedo, concordando, e logo recolhe a mão; a legenda completa a frase: Well yes, but actually no.
O medidor, diante de dois acertos em dois. Sim, é 100%; não, não é taxa.

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
Uma caixa por regra: no primeiro fio, o que o cérebro faz; no segundo, o correspondente que eu achei no meu extrato de consumo. O que liga um ao outro é analogia minha.

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.
Em cada lápide, a analogia, o papel que eu queria dar a ela e, abaixo do fio, o que a matou. O que morreu foi o papel, não o que os estudos mediram.

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.

Um caixão num funeral militar, visto de cima, com o aviso do jogo na tela: Press F to Pay Respects. A câmera se aproxima e uma mão de luva branca pousa sobre a tampa.
F, a tecla que o jogo manda apertar para prestar respeito. Aqui, pelas duas analogias que morreram; as seis que sobreviveram dispensam a homenagem.

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:

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
A faixa é o mapa inteiro, uma fatia por resposta do verificador: cheia, passa; riscada, falha; só o contorno, não alcança. Enquanto a riscada existir, o verificador recusa a faixa toda.

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.

FrenteEstadoO que falta
P2 - a GPU não dorme maisabertoA regra do sistema existe escrita; falta instalar e reiniciar
P3 - firmware da placa-mãeabertoConfirmar se existe versão mais nova que a oficial de 2024
P5 - a suíte com no máximo dois navegadoresabertoLimitar a concorrência e medir o pico de processos
P6 - o sintetizador de voz não conhece a GPUbloqueadoDepende de P2 e P3
P13 - os três portões do harnessbloqueadoUm critério em desacordo entre o medidor e o caso de teste
P15 - cadência de limpeza por blocobloqueadoFalta o disparador na fronteira entre blocos
P18 - a razão ponderada por preçoabertoA medição de 68 sessões está pronta; falta ponderar por modelo
P21 - modelo local nesta máquinaabertoMedir 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:

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.


Perto deste post

Comentários


WebGL desligado

Este site precisa da placa de vídeo

O espaço deste site - a nave Swordfish, o voo entre as galáxias, o céu que você monta - é desenhado pela placa de vídeo, através do WebGL. Neste navegador ele está desligado, e sem ele essas partes não aparecem. Os textos continuam legíveis.

Como ligar

Endereços como chrome://settings não abrem por link: copie e cole na barra de endereço.