- Início
- The Thinking Wire
- Governança Que Nasce da Arquitetura
Um app de música tem um botão de transpor. Ao clicar, o app chama transpose(2). Ao pedir para o agente subir a música um tom, o agente chama transpose(2). Mesma função, mesma validação, mesma linha de log. Sunil Pai enuncia a restrição de forma direta em one document, two hands: “there isn’t a normal implementation and an AI implementation.” Não existe uma implementação normal e uma implementação de IA.
Essa frase é uma decisão de governança vestida de nota de refatoração.
Quando o único caminho do agente até o documento é a operação nomeada que a interface já chama, um conjunto de propriedades que os times costumam comprar em separado aparece como efeito colateral. Argumentos passam a ser validados, porque existe um lugar que valida. Permissões passam a ser aplicadas, porque existe um lugar que verifica. Mudanças passam a ser registradas e revertidas, porque existe um lugar que escreve o log. Pai lista exatamente essas consequências: “arguments can be validated, permissions enforced, changes recorded and undone.”
Argumentamos em permissões precisam morar onde os dados moram que uma camada de política acoplada por fora é uma cópia da verdade, e cópias divergem. Aquele ensaio nomeou o destino sem nomear o veículo. O veículo é este. As permissões moram na operação, e a operação é compartilhada com a interface humana.
Por Que Uma Operação Compartilhada Não Diverge em Silêncio
Um wrapper de política em volta do agente tem uma fraqueza estrutural: nada mais depende dele. Quando alguém adiciona uma capacidade e esquece de protegê-la, o caminho desprotegido funciona, entra em produção e segue quebrado até um incidente ou uma auditoria trazerem o assunto à tona.
Um objeto de operações compartilhado elimina esse esconderijo. Se uma capacidade nova pula a validação, o botão também pula, e o botão tem usuários. Se a verificação de permissão em deleteTrack está errada, alguém encontra o comportamento errado numa terça à tarde e abre um chamado. A superfície de autorização do agente é mantida honesta pela pressão de produto que já existe sobre a superfície humana, e essa pressão é uma mantenedora bem mais confiável do que uma revisão trimestral de arquivo de política.
Vale roubar essa parte mesmo para quem nunca vai construir um agente. A divisão de trabalho descrita por Pai (“the model decides which control to reach for; ordinary software applies the change”) significa que o componente arriscado e não determinístico nunca segura o caminho de escrita. Ele escolhe em um cardápio. O cardápio é código que o time já testa, já revisa e já mantém.
Auditoria e Desfazer Não São Retrofit
Considere a arquitetura do outro lado. O agente fala. A pessoa responde. Em algum ponto dessa troca o documento muda, via código gerado, via um blob de JSON, via um re-render do arquivo inteiro. O estado passa a viver espalhado por uma conversa.
Peça a esse sistema uma trilha de auditoria e você recebe um transcript. Um transcript registra o que foi dito. Uma trilha de auditoria precisa responder a perguntas mais duras: o que mudou, sob autoridade de quem, em que momento, e se dá para reverter de forma limpa. Essas perguntas não têm resposta em prosa. Dá para pendurar logging em um agente conduzido por chat, e muitos times fizeram isso. O resultado é um transcript mais longo.
Desfazer é pior. No desenho de operações compartilhadas, desfazer é a inversa de uma operação registrada, a mesma maquinaria que a pilha de undo da interface já usa. No desenho de transcript, desfazer vira rebobinar uma conversa e torcer para o estado resultante bater, o que é um palpite vestido de funcionalidade.
A frase de Pai sobre o app de música carrega o argumento inteiro: “the chat should not own the song. the song should own the song.” O documento guarda o estado. O documento guarda o histórico. A conversa é uma das duas mãos alcançando os mesmos controles.
O Harness É o App
A segunda ideia do texto é onde ele deixa de ser um argumento sobre organização de código. Pai observa que agentes de programação já entregam um ambiente operacional completo: workspace, ferramentas, memória, sandbox, permissões e um loop de execução. Em seguida ele faz a pergunta óbvia sobre todo o resto do mundo. “maybe we built agents a proper workshop where developers work, then handed everyone else a text box.”
Releia essa lista de seis itens com olhos de governança. Sandbox é raio de alcance do estrago. Permissões é autorização. Memória é política de retenção. O loop de execução é aquilo que se pausa, inspeciona e retoma. Workspace é escopo. Um harness de programação já é um plano de controle, construído por acidente, porque desenvolvedores não tolerariam um agente sem ele.
O movimento que Pai propõe é envolver esse mesmo harness em torno do documento da pessoa comum, com o mesmo rigor que hoje se aplica a um repositório de código. A implementação de referência dele, o Pizzo, mantém estado em um Durable Object e nasceu como palestra na Local-First Conf. A demo importa menos do que a constatação por trás dela: o aparato de governança para agentes de não desenvolvedores já existe, plenamente especificado, nas ferramentas que engenheiros usam todo dia, e ninguém portou.
Isso conecta direto com o argumento da camada de orquestração e com o que chamamos de camada de intenção. Os controles podem ser invisíveis para quem usa e ainda assim serem reais. O que eles precisam ser é o único caminho.
Para Quais Produtos Isso Vale
Pai nomeia o formato de trabalho ao qual a ideia se generaliza: planilhas, canvas e desenhos, roteiros de viagem, mapas, timelines de vídeo, CAD. O que essas coisas têm em comum é um documento com estrutura e uma interface construída a partir de operações nomeadas. Inserir linha. Mover camada. Reordenar parada. Cortar clipe. Todo um desses produtos já tem um vocabulário de operações. A maioria o mantém espalhado por handlers de evento, em vez de reunido em um objeto que um agente poderia chamar.
Esse espalhamento é o trabalho de verdade, e ele é sem glamour. Extrair as operações é uma refatoração sem resultado visível para o usuário, proposta justamente no trimestre em que alguém quer uma caixa de chat no ar. A refatoração é o que torna a caixa de chat segura de subir.
Uma ressalva de escopo. O ensaio de Pai traz números aproximados sobre quantos desenvolvedores existem em comparação com quantas pessoas trabalham com documentos, e ele mesmo avisa que servem apenas como ordem de grandeza, com ressalva explícita contra qualquer leitura de previsão. Trate da mesma forma. O argumento arquitetural se sustenta sem eles.
Faça Isto Agora
Escolha a superfície de produto em que alguém já pediu um agente. Abra o código e responda a uma única pergunta antes de escrever qualquer prompt: existe um objeto de operações que a interface chama, ou cada handler de botão altera o estado inline?
Se as operações existem, o trabalho de agente é sobretudo fiação, e o trabalho de governança está quase pronto. Enumere as operações, confirme que cada uma valida seus argumentos e verifica permissões, e dê ao agente acesso a essa lista e a nada além dela.
Se as operações não existem, você achou o projeto real. Extraia-as dos handlers antes que qualquer coisa em formato de modelo toque o documento. Depois aplique uma regra sem exceção: quando o agente precisar de algo que nenhuma operação oferece, adicione a operação ao objeto compartilhado para que as duas mãos ganhem. No momento em que existir um caminho de código que só o agente alcança, o wrapper de política foi reconstruído, com a divergência que vem junto.
Fontes
- Sunil Pai. “one document, two hands.” Julho de 2026.
A Victorino ajuda times de produto a extrair a camada de operações compartilhadas que torna autorização, auditoria e rollback de agentes estruturais: contato@victorino.com.br | www.victorino.com.br
Todos os artigos do The Thinking Wire são escritos com o auxílio do modelo LLM Opus da Anthropic. Cada publicação passa por pesquisa multi-agente para verificar fatos e identificar contradições, seguida de revisão e aprovação humana antes da publicação. Se você encontrar alguma informação imprecisa ou deseja entrar em contato com o editorial, escreva para editorial@victorino.com.br . Sobre o The Thinking Wire →
Se isso faz sentido, vamos conversar
Ajudamos empresas a implementar IA sem perder o controle.
Agendar uma Conversa