Pular para o conteúdo principal
Escritos · № 03

Notas longas sobre software, sistemas distribuídos e a arte de construir.

Um post, toda segunda-feira. Busque ou navegue pelo arquivo abaixo.

Todos os Posts
53 posts
AI01

O Portão da Compreensão: Transformando o Entendimento Humano em Restrição de Engenharia

O post anterior apresentou a cobertura de compreensão como conceito. Este é o relato de campo: o instrumento existe, é open source, e sua primeira execução foi em um repositório que eu mesmo mantenho — uma pequena biblioteca desenvolvida predominantemente por meio de agentes de código. Quatro de seis módulos voltaram escuros. A única entidade que o instrumento reconhece como compreendedora do módulo assinatura é um bot. Este post percorre o mapa real, a execução de calibração que discutiu com a especificação e venceu, o rastro de um módulo escuro, as duas falhas que a primeira execução era obrigada a produzir, e o portão que um pipeline de CI já consegue impor — com uma válvula de emergência cujo uso alimenta o próprio mapa. Os cinco primeiros posts tornaram a camada humana explícita. Este a torna aplicável.

27 de set.
AI02

O modelo de IA Jev não consegue alucinar. Ainda assim errou 37% dos e-mails.

O modelo de IA Jev não consegue devolver uma resposta fora do schema que você dá a ele, e a cobertura do lançamento transformou isso na promessa de que ele não consegue alucinar. Em um benchmark independente de phishing, o mesmo modelo errou 37,4% de 2.000 e-mails quando recebeu uma única pergunta ampla, enquanto cinco perguntas estreitas a ele, combinadas em código por uma regressão logística com validação cruzada, chegaram a 95,1%. Li a documentação e os evals da TypeSafe, rodei o adaptador do Pydantic AI e mapeei para que o Jev foi construído, onde as afirmações do lançamento se sustentam e onde eu o colocaria — ou não — em um pipeline.

23 de set.
AI03

Apresentando a cobertura de compreensão

Toda base de código carrega dois mapas: o que os testes verificam, medido até a segunda casa decimal, e o que os humanos ainda entendem, medido por ninguém. Durante vinte anos o segundo mapa vinha de graça com o git blame — autoria implicava compreensão. Os agentes apagaram esse axioma. Partindo do alerta de Naur, feito há quarenta anos, sobre programas que morrem junto com sua teoria, passando pela pesquisa da curva do esquecimento e por um preprint de 2026 que argumenta que toda a família de métricas baseadas em autoria ruiu de uma só vez, estas são minhas anotações apresentando a cobertura de compreensão: um mapa por módulo, por pessoa, baseado em evidências e que decai com o churn, mostrando quais humanos ainda entendem quais partes de um sistema — com o trabalho anterior mais próximo devidamente nomeado, suas condições de refutação anexadas e o instrumento que constrói esse mapa vindo a seguir.

21 de set.
AI04

Fitness Functions São o Control Plane para Agentic Coding

O post anterior perguntou para onde foi o ponto de controle. Aqui está a primeira resposta que estou disposto a defender: ele não desapareceu — parte dele compilou. Fitness functions arquiteturais, apontadas para agentes de código, se tornam o control plane que permite ao desenvolvedor permanecer no comando sem virar o gargalo: julgamento compilado uma vez em gates determinísticos que aplicam a regra na velocidade da máquina, com mensagens de falha escritas como prompt engineering para o loop de retry. Em seguida, a complicação que dá forma ao post inteiro: no momento em que um agente otimiza contra a compilação, o controle compilado vira objeto de ataque — e o design de fitness functions herda uma corrida armamentista, com uma constituição em Kotlin/ArchUnit para tornar tudo concreto.

14 de set.
Engineering05

Stamp vs Control Coupling: Onde Mora a Decisão de Escrita?

Control coupling e stamp coupling ficam lado a lado na taxonomia de Constantine, classificados piores que data coupling e pouco mais. Quando reli isso com um refactor real de applyDiscount em Kotlin à minha frente, o ranking não era a parte interessante. A pergunta que ele não responde é onde a decisão de escrita de fato mora.

7 de set.
Distributed Systems06

O Retry Que Sobreviveu ao Seu Token: Temporal Fakes em Go

Uma vez entreguei um teste que mockava um token como sempre válido, e ele escondeu um retry que alcançou o provedor depois que o token expirou. Estas são minhas notas reconstruindo aquele teste em Go com um temporal fake — um provedor com estado que compartilha um relógio com o código — mais testing/synctest, para que um TTL de 30 segundos rode em microssegundos e a corrida finalmente fique vermelha.

2 de set.
AI07

A Armadilha do Espectador: Mantendo o Controle no Desenvolvimento Assistido por IA

Meus feeds estão cheios de gravações de tela de desenvolvedores assistindo um agente escrever código — e quero nomear essa postura com gentileza: isso é assistir, não produtividade. Fechando a linha de raciocínio de Zero Token Architecture e O Handoff É a Unidade de Design, estas são minhas anotações sobre o plano de controle que um desenvolvedor nunca deveria abandonar: handoffs pequenos e paralelos em vez de accept-all, pesquisa e mapeamento de efeitos colaterais automatizados antes da implementação, e o alerta em formato de Log4Shell sobre entregar código que ninguém entende — com os custos do handoff consciente nomeados com a mesma honestidade que seus benefícios.

28 de ago.
AI08

Previsão agora é uma chamada de biblioteca: anotações de quem rodou o TimesFM 2.5

O TimesFM 2.5 do Google encolheu para 200M de parâmetros, liderou o GIFT-Eval em zero-shot no lançamento e agora está por trás do AI.FORECAST do BigQuery — então rodei o modelo eu mesmo em séries com formato de telemetria. Em zero-shot, ele superou o seasonal-naive em 15% com 0,6s por previsão em CPU. Depois adicionei um salto de nível de 60% uma semana antes da previsão e a baseline de uma linha venceu por 1,5x — enquanto a banda de quantis do modelo silenciosamente alargava 2,6x. Estas são minhas anotações sobre o que chamou atenção, o que observar antes de confiar nele e os casos de uso em que eu realmente o colocaria em produção.

26 de ago.
AI09

O Handoff É a Unidade de Design: Delegando para Agentes Sem Perder o Sistema

Quando agentes escrevem uma parcela significativa do código, meu output deixa de ser código digitado — passa a ser decisões de delegação. Estas são minhas anotações sobre a disciplina humana que faz isso funcionar: dimensionar cada handoff ao review que consigo pagar, o briefing que entrego no lugar de tarefas grandes, e os quatro hábitos que me mantêm conectado a um sistema no qual não estou mais digitando — das ironias de Bainbridge em 1983 a um resultado da METR que desde então inverteu o próprio sinal.

23 de ago.
Engineering10

Sua Fila Não Vai Esvaziar: A Aritmética da Recuperação de Backlog

Uma frota de consumidores aparentemente saudável pode ficar sentada sobre um backlog de 3 milhões de mensagens que nunca diminui. Estas são minhas anotações sobre a aritmética por trás disso: excedente = capacidade − chegada, drenagem = backlog ÷ excedente, e por que uma frota dimensionada para o regime estacionário tem capacidade de recuperação zero. Construí um pequeno simulador em TypeScript para observar a amplificação de retries estacionar uma frota corretamente dimensionada em uma falha metaestável, e deduzi quando descartar (shedding) supera drenar.

19 de ago.