zoe@dev:~$PID 1337
zoe@dev:~$ cat ~/blog/knuths-problem-again-pt.mdx

O problema de Knuth, outra vez: construindo um editor de LaTeX para agentes de IA

2026-07-26·Zoe Lin·4 min read·#magictex#ai-agents#latex#git#essay
EN中文日本語한국어EspañolFrançaisDeutschPortuguês

Na primavera de 1977, Donald Knuth recebeu as provas de uma nova edição de The Art of Computer Programming e achou-as feias. A editora havia trocado a composição em metal quente pela fotocomposição, e a matemática que antes parecia esculpida agora parecia fotocopiada. Ele não escreveu uma carta indignada. Estimou o conserto em uns seis meses, pôs a pesquisa de lado e começou a construir seu próprio sistema de composição. Levou quase dez anos. O LaTeX que quase todos digitamos hoje é a gentileza posterior de Leslie Lamport: uma camada de macros amigáveis sobre a máquina que Knuth construiu e chamou de TeX.

Essa história me foi contada pelo meu mentor, David Turnbull, em um dos nossos encontros por Zoom. Ele recomendou que eu lesse os livros de Knuth. Na mesma conversa, mostrou-me dois editores que admirava: o Typst, que dobra escrita e renderização numa única superfície viva, e o LiquidText, que permite fixar um pensamento no ponto exato da página que o provocou. Naquela tarde eu não percebi, mas ele havia me entregado, num só gesto, uma lista de leitura e um briefing de projeto.

O que ficou comigo da história de Knuth não é a década heroica. É a recusa do começo. As páginas estavam erradas, e ele não tinha como meter a mão e corrigi-las — então construiu o meter-a-mão. Ele não aceitaria uma saída que não pudesse inspecionar e controlar.

Cinquenta anos depois, escrevo artigos com um agente de IA, e o mesmo problema voltou em silêncio, com roupas novas.

O agente escreve LaTeX melhor do que eu. Isso nunca foi o problema. Peça ao Claude para enxugar um parágrafo e você recebe um parágrafo mais enxuto. O que ele não pode dar são duas coisas: lugar e prova. Lugar: qual frase, em qual página, em qual arquivo — o agente edita às cegas, porque nunca vê a página renderizada que você está lendo. Prova: depois da edição, o que exatamente mudou? Você pode perguntar, o modelo vai responder, e a resposta será testemunho. O relato que um modelo faz das próprias edições é a memória de uma intenção. Não é um diff.

A resposta de Knuth à saída ruim foi um sistema em que cada marca na página remonta a um comando escrito por ele. Ao construir o MagicTeX, nossa resposta foi a imagem no espelho: cada marca que o agente deixa precisa inscrever-se, para a frente, num registro que pertence ao humano.

O editor funciona assim. Você lê o PDF renderizado como um orientador lê um impresso, e comenta na própria página: seleciona um trecho, escreve «grande comparado a quê?». O agente recebe isso não como um clima, mas como uma instrução localizada: a página, o trecho citado, o arquivo e a linha do código-fonte, o seu pedido. Ele edita exatamente ali. E no instante em que o artigo recompila, o novo estado é fotografado num ref oculto do git: nem seus branches, nem seu git log — um livro-razão paralelo que o espaço de trabalho mantém por você. Cada compilação é um checkpoint. Cada checkpoint tem seu diff. Qualquer arquivo pode voltar a ser o que era. O Typst ensinou a janela; o LiquidText ensinou as margens; o git, em silêncio, encarrega-se de lembrar.

É esse livro-razão que nos deixa ser generosos com a autonomia. O MagicTeX tem um modo chamado /ultra-agents, em que um agente revisor critica o artigo, aceita as próprias sugestões e as corrige, rodada após rodada, sem aprovação humana no meio. Descrito assim, soa imprudente. É defensável por uma única razão: ele nunca consegue correr mais que o livro-razão. Cada rodada pousa como um checkpoint comum e reversível, e quando a poeira baixa você lê a história como árbitro, não como refém. Pode-se entregar a caneta a algo mais rápido que você — desde que fique com a página, as margens e a história.

Knuth entendia esse contrato social do outro lado. Ele é famoso por enviar um cheque de 2,56 dólares — um dólar hexadecimal — a quem encontrar um erro em seus livros. A maioria dos destinatários emoldura o cheque em vez de descontá-lo, o que prova exatamente o ponto: o dinheiro nunca foi a recompensa. A recompensa é pertencer a um sistema que diz: aqui os erros podem ser encontrados, e encontrá-los é honrado. É para isso que serve uma trilha de auditoria. Não para a desconfiança: para a hospitalidade com a correção.

Não acho que a lição de 1977 seja desconfiar das ferramentas. Knuth não recuou para a máquina de escrever; construiu uma máquina melhor e ainda inscreveu uma recompensa por erratas na cultura dela. A lição é que delegar e controlar não são opostos — que se pode abraçar o colaborador mais rápido que você já teve e, ainda assim, insistir, com educação, em evidências.

Essa é toda a ideia do MagicTeX, e ela começou com uma história contada pelo Zoom. Você marca a página. O agente trabalha o código-fonte. E o git lembra o que de fato aconteceu — quem quer, ou o que quer, que tenha digitado.

cd ~/blog ←