Como envolver um gênio imprevisível
(melodykoh.substack.com)- Para reduzir erros recorrentes em produtos de IA que geram resultados diferentes mesmo para a mesma solicitação, é preciso controlá-los com código determinístico que o modelo não consiga contrariar, em vez de simplesmente aumentar as instruções
- A estrutura de controle se divide em quatro camadas — modelo, harness, documentação e hooks — e apenas os hooks, que operam de forma independente sob condições específicas, conseguem impor regras
- Tarefas cuja exatidão pode ser avaliada por código podem ser garantidas, mas tarefas que exigem julgamento, como erros sutis de análise, voltam a depender do modelo; por isso, mesmo com a evolução dos modelos, a lacuna de verificação não desaparece
- Produtos de IA precisam de engenharia de harness para separar o que deve ficar a cargo do julgamento do modelo e o que deve ser garantido por código; se houver controle insuficiente, entregam respostas erradas, e se houver controle excessivo, viram software comum caro
- Se qualquer pessoa pode alugar o mesmo modelo, a camada envoltória (wrapper) que acumula critérios, código, dados e ambientes de integração específicos de cada produto se torna uma vantagem competitiva defensável, como mostra o crescimento do Cursor
Levar as regras da documentação para o código
- Mesmo quando um arquivo lido pelo Claude Code a cada sessão proíbe determinados comportamentos, às vezes ele entende o conteúdo, concorda com ele e depois repete o mesmo comportamento
- Ao levar a regra para um código que bloqueia o comando assim que a condição é atendida, o comportamento proibido para, independentemente do julgamento do modelo
- O custo de revisão das saídas de IA abordado em The Verification Tax pode ser reduzido com engenharia nas etapas upstream, em vez de aumentar a revisão posterior
- Mesmo uma estrutura mínima de controle criada por uma única pessoa com ferramentas pessoais tem a mesma forma do problema que grandes produtos de IA precisam resolver
- Diretrizes práticas que conectam tipos de falha a tipos de hook e organizam o que pode ser medido em cada camada podem ser vistas em uma publicação no X separada
As quatro camadas que compõem o controle
- O controle é composto por quatro camadas, ficando mais forte de baixo para cima
- Modelo: mesmo sendo excelentes, como Claude Opus 4.8 ou GPT-5.5, podem gerar respostas diferentes para a mesma solicitação, e nenhuma instrução elimina completamente essa característica
- Harness: executa o modelo e decide o que ele verá, como Claude Code, Codex ou OpenClaw, mas só consegue orientar a direção geral
- Documentação: CLAUDE.md e AGENTS.md contêm preferências, contexto do projeto, regras e correções acumuladas, mas o modelo pode não segui-las porque as avalia junto com outras informações
- Hooks: código que monitora situações específicas e opera de forma independente, bloqueando comandos proibidos independentemente de o modelo concordar ou não
- Entre as quatro camadas, a única que não negocia é a camada superior de hooks
- Regras movidas para hooks não podem ser contornadas pelo modelo, eliminando erros recorrentes e reduzindo o escopo que precisa ser revisado por humanos
A área de julgamento que não pode ser garantida por código
- É possível reduzir a superfície que precisa ser controlada, mas não fechá-la completamente
- Uma condição como “não execute este comando” pode ser verificada por código
- Uma condição como “não deixe a análise seguir por uma direção sutilmente equivocada” exige julgamento, e outro modelo que avalie isso também terá imprevisibilidade
- Sistemas que realmente conseguem provar a saída comparam, por código, critérios e resultados previamente escritos por humanos, e funcionam apenas em áreas nas quais a resposta correta pode ser definida com precisão
- Mesmo com upgrades nos modelos, os problemas de julgamento não desaparecem, portanto as camadas de controle que envolvem o modelo continuam sendo necessárias
-
Garantias baseadas em especificações formais
- SEVerA pode garantir que a saída de um agente satisfaça um contrato formal, mas o contrato precisa ser escrito antecipadamente em lógica formal, e isso se aplica apenas a áreas em que esse tipo de verificação é possível
- VeriGuard adiciona segurança verificada a agentes LLM, mas a verificação manual pelo usuário ainda é necessária
- A etapa em que um LLM traduz a intenção do usuário para regras formais é, por si só, imprevisível
- Na prática, a garantia depende, em última instância, de uma verificação fixa sobre uma especificação escrita por humanos
- “Agentes de autoaperfeiçoamento” avaliam resultados ocorridos para melhorar ações futuras, mas isso é diferente de provar que uma saída específica está correta
Envolver um motor probabilístico com software determinístico
- Testes de software tradicionais evoluíram como uma forma de definir a saída desejada e uma única resposta correta e então verificar código previsível
- Produtos nativos de IA colocam no centro um motor probabilístico que pode gerar resultados diferentes para o mesmo prompt, quebrando a premissa dos testes tradicionais
- Como aponta Hamel Husain, décadas de disciplina em testes de software pressupõem uma única resposta correta, mas, em IA, é justamente essa resposta correta que desaparece
- Vários desenvolvedores estão convergindo para uma abordagem que mantém o motor imprevisível, mas o envolve com código determinístico que funciona sempre da mesma forma
- 12-factor agents, de Dex Horthy, define bons agentes como sistemas “compostos majoritariamente de software”
- building effective agents, da Anthropic, recomenda executar tarefas por “caminhos de código predefinidos” e adicionar “verificações programáticas”
- No Claude Code, é possível escolher como uma condição será verificada
- Se o código decide de forma independente se passou ou falhou, obtém-se uma garantia
- Se o modelo decide se a condição foi atendida, obtém-se apenas um resultado de julgamento
-
Skills e /goal no Claude Code
- Skills são procedimentos estruturados que o agente pode chamar, mas pertencem à camada de documentação, porque o modelo escolhe se vai executá-los e pode se desviar no meio do caminho
- /goal se aproxima de uma camada de imposição, fazendo o trabalho continuar até que as condições declaradas sejam atendidas
- Ainda assim, depois de cada turno, um modelo pequeno e rápido julga se as condições foram atendidas, podendo avaliar errado como qualquer outro modelo
/goalé um recurso que envolve um Stop hook; em um Stop hook escrito diretamente, um script pode decidir de forma independente se passou ou falhou, em vez de um modelo- A documentação do Claude Code distingue as duas abordagens: usar scripts para verificações determinísticas e modelos para verificações que exigem julgamento
Quando configurações pessoais escalam para o tamanho de uma organização
- Em um ambiente pessoal, se um agente ignora uma regra, isso costuma custar apenas alguns minutos, e casos importantes podem ser bloqueados com hooks pessoais
- Em uma empresa com 200 pessoas usando o mesmo agente, nem todos têm hooks pessoais, e as regras podem estar em um único arquivo compartilhado
- Se uma regra compartilhada for ignorada uma vez, o mesmo problema pode aparecer em todos os lugares em que aquele arquivo é executado, e o nível de proteção da organização passa a depender da regra escrita de forma mais frouxa
- A estrutura de controle é a mesma de uma configuração pessoal, mas, conforme a escala cresce, o custo do erro muda
O que garantir e o que deixar em aberto
- O guia de arquitetura agent-native da Every define funcionalidade não como código escrito, mas como “resultados descritos alcançados por agentes que operam dentro de um loop”
- Essa abordagem deixa o modelo agir de forma improvisada e projeta o produto em torno do resultado, mas, nos pontos que exigem controle, volta ao código
- Recomenda mover para código os hot paths, isto é, caminhos frequentes ou importantes
- Reconhece que algumas tarefas precisam de validação que não deve ficar a cargo do julgamento do agente
- Design de produto centrado no modelo e engenharia centrada em controle parecem opostos, mas tratam da mesma arquitetura a partir de extremidades diferentes
- No design real, é preciso decidir quais pontos do produto serão fixados em código e até que grau
- Se houver pouca fixação, o modelo pode julgar de improviso mesmo tarefas que exigem garantia e entregar aos clientes respostas erradas com ar de certeza
- Se houver fixação demais, todos os caminhos passam a ser escritos em código, virando software comum, e o modelo apenas executa de forma lenta e cara o que o código existente já fazia
- A engenharia de harness, como a equipe da OpenAI chama, é o trabalho de dividir, em cada ponto do produto, a proporção intencional entre partes que exigem julgamento do modelo e partes que exigem garantias do código
A camada envoltória que se acumula por mais tempo que o modelo
- Modelos são a camada mais difícil de defender, porque qualquer pessoa pode alugar os mesmos modelos, e eles melhoram simultaneamente para todos os usuários conforme o cronograma dos laboratórios
- Mesmo que um concorrente leia todo o repositório de código, ele não obtém o julgamento acumulado sobre o que garantir e o que deixar em aberto em determinado fluxo de trabalho
- Esse julgamento é implementado em camadas que o modelo não consegue contrariar e continua se acumulando junto com a estrutura de controle específica do produto
- A soma de código, critérios, dados e ambientes de integração de trabalho ao redor do modelo forma uma vantagem competitiva de longo prazo
A camada de controle acumulada pelo Cursor
- A ferramenta de programação com IA Cursor não cria seu próprio modelo de propósito geral; ela roteia solicitações entre Claude, GPT, Gemini e Grok, tratando modelos como uma commodity que pode ser alugada
- Mesmo que o Claude Code, da Anthropic, tenha acesso primeiro a um modelo superior, ele não substitui o Cursor
- A receita do Cursor cresceu de cerca de US$ 1 bilhão em novembro do ano passado para cerca de US$ 4 bilhões em junho
- A SpaceX exerceu na semana passada uma opção obtida em abril e concordou em adquirir o Cursor por US$ 60 bilhões, a maior aquisição de uma startup financiada por venture capital da história
- O que o Cursor acumulou não foi um modelo de propósito geral melhor, mas a camada que envolve o produto
- Um índice da base de código que mantém repositórios inteiros sincronizados e pesquisáveis
- Um modelo próprio de autocompletar, treinado com centenas de milhões de edições por dia sobre quais sugestões desenvolvedores aceitam ou rejeitam
- Ambientes de integração enterprise presentes na maioria das empresas da Fortune 500
- Mesmo que empresas de modelos tenham modelos melhores, elas não possuem o editor, o índice nem os hábitos de uso dos desenvolvedores
A pergunta que define a durabilidade dos produtos nativos de IA
- Casos como o Cursor, que construiu uma camada de controle, são raros; muitas pessoas que usam IA no trabalho não criaram essa camada envoltória ou sequer sabem que ela existe
- Em escala empresarial, a forma de construir essa camada é o que separa produtos nativos de IA que aguentam o uso real de demos impressionantes sobre modelos que qualquer um pode alugar
- Mesmo que modelos de base se tornem gratuitos, a pergunta que define os ativos sustentáveis de um produto é o que continua existindo depois disso
Ainda não há comentários.