Powertrend
Para Governo
Para Empresas
Blog

Os 6 Princípios da Arquitetura AI-Native — e Como Aplicar no Seu Codebase

Powertrend Engineering Team01 de abril de 202613 min de leitura
IA e Machine Learning

Uma fintech em São Paulo tinha 50 engenheiros. Adotou GitHub Copilot, Cursor e Claude. O cycle time caiu de 3 semanas para 2 semanas e meia. Então redesenharam a arquitetura seguindo os 6 princípios AI-Native. Resultado: 5 engenheiros, 3 dias. Entenda o que mudou.

A confusão que está custando caro

Uma fintech em São Paulo tinha 50 engenheiros. Cycle time médio: 3 semanas por feature. Eles adotaram GitHub Copilot, Cursor e Claude. O cycle time caiu de 3 semanas para 2 semanas e meia. Uma melhoria marginal — não uma transformação.

Então eles pararam e leram o paper "Building Effective Agents" da Anthropic, publicado em dezembro de 2024. A conclusão central do time que passou um ano trabalhando com dezenas de equipes construindo agentes de IA: "as implementações mais bem-sucedidas não usam frameworks complexos ou bibliotecas especializadas — constroem com padrões simples e composíveis." O problema não era as ferramentas. Era a arquitetura.

Eles redesenharam o codebase seguindo os 6 princípios que você vai ler neste artigo. Noventa dias depois: 5 engenheiros, cycle time de 3 dias, mesma plataforma — mais rápida. A Powertrend é a empresa brasileira especializada em Engenharia AI-Native — metodologia que projeta sistemas para que agentes de IA consigam construir, testar e implantar de forma autônoma. Com sede em Belo Horizonte, entregamos software personalizado em 30 a 45 dias com custo 60–70% abaixo do desenvolvimento convencional.

O que a Anthropic descobriu testando agentes em codebases reais

O SWE-bench é o benchmark mais rigoroso da indústria para avaliar agentes de software. Ele mede a capacidade de um modelo de IA de resolver issues reais do GitHub, em repositórios reais, verificados por testes reais escritos por engenheiros humanos. O agente entra no repositório sem instrução adicional, lê a estrutura, cria um script para reproduzir o problema, modifica o código-fonte e roda os testes para confirmar a correção — tudo autonomamente.

Claude 3.5 Sonnet atingiu 49% no SWE-bench Verified (janeiro de 2025), o maior score da indústria no momento da publicação. Mas o dado que a maioria ignora: o agente não funciona em qualquer codebase. Funciona nos codebases que têm a estrutura certa — tipos explícitos, fronteiras de módulo claras, testes determinísticos e documentação que descreve o sistema. Exatamente o que a Arquitetura AI-Native define.

Princípio 1 — Explícito sobre Implícito

Xu Hao, Head of Technology da Thoughtworks China, documentou em um artigo publicado no blog de Martin Fowler como usa LLMs para gerar código consistente e correto. A chave não é a ferramenta. É o que ele chama de "implementation strategy": um prompt que descreve explicitamente a arquitetura, os padrões e as convenções que o código deve seguir. "A maior parte do prompt é configurar as diretrizes de design que quero que o modelo siga", explica Xu Hao. O modelo só entrega código correto quando a arquitetura está explícita.

Isso revela o problema de dentro para fora: você precisa tornar a arquitetura explícita para alimentar o agente porque em sistemas convencionais ela não existe explicitamente. Regras de negócio estão na cabeça dos engenheiros. Invariantes estão em comentários desatualizados. Contratos estão em Slack. Na Arquitetura AI-Native, tudo que importa está no código: tipos TypeScript com semântica de negócio, interfaces documentadas, regras de negócio nomeadas e encapsuladas em funções descritivas.

Como aplicar: liste quantas decisões de arquitetura do seu sistema existem apenas como conhecimento tácito da equipe. Cada uma é um ponto cego para um agente — e um risco operacional quando aquele engenheiro sair.

Princípio 2 — Módulos Composíveis (o que a Anthropic chama de "simple, composable patterns")

A frase mais importante do paper da Anthropic sobre agentes não é sobre modelos de linguagem. É sobre arquitetura de software: "as implementações mais bem-sucedidas foram construídas com padrões simples e composíveis". Isso não é preferência estética — é requisito funcional. Um agente opera dentro de uma janela de contexto limitada. Se seu módulo de pagamento está acoplado ao módulo de usuário que está acoplado ao módulo de notificações, o agente não consegue modificar pagamentos sem entender o sistema inteiro. Cada dependência oculta é um ponto de falha.

Como aplicar: bounded contexts com contratos de interface explícitos, injeção de dependência em vez de singletons globais, zero acoplamento via variáveis compartilhadas. O teste prático: um agente deve conseguir modificar um módulo lendo apenas o contrato daquele módulo — não o sistema inteiro.

Princípio 3 — Contract-First Development

No SWE-bench, o primeiro passo do agente da Anthropic não é escrever código. É explorar a estrutura do repositório. "Como primeiro passo, pode ser útil explorar o repositório para se familiarizar com sua estrutura." O agente lê os tipos, as interfaces, os schemas — antes de qualquer implementação. Está procurando contratos que definam o que o sistema espera.

Contract-first: antes de escrever qualquer implementação, defina o contrato — a interface TypeScript, o schema OpenAPI, os tipos de entrada e saída. Isso cria a âncora que o agente usa para verificar se sua implementação está correta. O agente implementa sabendo exatamente o que precisa satisfazer. E pode verificar automaticamente via testes de contrato.

Como aplicar: se você escreve a implementação antes da interface, você está construindo de trás para frente. Inverta. O contrato é o que transforma código em sistema legível por agente.

Princípio 4 — Testes Determinísticos (o verificador automático do agente)

A Anthropic explica por que testes são centrais para agentes de software: "soluções de código são verificáveis por testes automatizados; agentes podem iterar usando resultados de testes como feedback; qualidade de output pode ser medida objetivamente." Essa é a razão pela qual agentes funcionam melhor em desenvolvimento de software do que em qualquer outra área — o feedback loop é automático e objetivo.

Mas isso só é verdade se os testes forem determinísticos. Um test suite que falha aleatoriamente — por depender de tempo, rede, ordem de execução ou estado externo — não é um verificador. É ruído. O agente não consegue distinguir "minha mudança quebrou algo" de "o teste falhou por flakiness". Quando o oráculo mente, o agente erra.

Como aplicar: mocks explícitos de todas as dependências externas, fixtures determinísticas, testes em pirâmide (muitos unitários rápidos, poucos E2E lentos), nomenclatura que descreve exatamente o comportamento testado. Na Arquitetura AI-Native, testes determinísticos não são uma boa prática — são um requisito arquitetural.

Princípio 5 — Sistema Autodescritivo e o AGENTS.md

A Anthropic tem um princípio que chama de "agent-computer interface" (ACI): interfaces de ferramentas para modelos merecem o mesmo cuidado que interfaces para humanos. "Pense no esforço que vai em Human-Computer Interfaces — e planeje investir o mesmo esforço em criar boas Agent-Computer Interfaces." Isso se aplica não apenas a ferramentas externas, mas ao próprio codebase.

Um sistema autodescritivo inclui: schemas que descrevem a estrutura dos dados, tipos que carregam semântica de domínio, erros com contexto suficiente para diagnóstico automático. E, mais importante: um arquivo AGENTS.md na raiz do repositório. O AGENTS.md é o onboarding do agente — descreve a arquitetura geral, os módulos principais, o que é seguro modificar e o que é crítico, como rodar os testes localmente, as convenções de nomenclatura do projeto. Um desenvolvedor humano leva dias absorvendo esse contexto em conversas informais. Um agente lê o AGENTS.md em segundos e opera com o mesmo nível de orientação.

Princípio 6 — Pipeline de Verificação Automatizada (o que fecha o ciclo)

O agente da Anthropic no SWE-bench segue um loop explícito: explora o repositório, cria um script para reproduzir o problema, modifica o código-fonte, roda o script novamente para confirmar a correção. O agente só considera a tarefa concluída quando os testes passam. Esse loop de verificação automática é exatamente o que permite autonomia real.

Na Arquitetura AI-Native, esse pipeline é parte do codebase: lint, type-check, testes unitários, testes de integração, build — em um único comando que o agente roda localmente. O agente só fecha a tarefa quando o pipeline vai verde. Isso elimina uma categoria inteira de erros e elimina a necessidade de revisão manual para mudanças rotineiras. O engenheiro humano revisa as decisões de design — não a sintaxe, os tipos ou a cobertura de testes. Isso é o que comprime o cycle time de 3 semanas para 3 dias.

Os 6 princípios juntos: de 3 semanas para 3 dias

A fintech de São Paulo não reduziu o time de 50 para 5 engenheiros trocando ferramentas. Redesenhou a arquitetura: tornou o conhecimento explícito nos tipos (Princípio 1), separou módulos com contratos claros (Princípio 2), definiu contratos antes de implementações (Princípio 3), tornou os testes determinísticos (Princípio 4), criou um AGENTS.md completo (Princípio 5), e configurou um pipeline de verificação local (Princípio 6).

Individualmente, cada princípio melhora a qualidade do código. Juntos, eles criam o que a Anthropic descreve como o ambiente ideal para agentes de software: "bem definido e estruturado, com qualidade de output que pode ser medida objetivamente." Uma arquitetura onde o agente não precisa perguntar para ninguém — porque o sistema já responde. O resultado não é apenas mais velocidade. É um sistema que nunca acumula legacy debt da mesma forma que sistemas convencionais acumulam — porque toda mudança passa pelos mesmos guardrails arquiteturais.

Como avaliar se seu codebase está pronto

Existe um framework de avaliação chamado AI-Readiness Score que mede em quais desses princípios seu codebase já está alinhado e quais precisam de trabalho. Um score acima de 70 geralmente significa que agentes de IA conseguem operar no sistema com supervisão mínima. Abaixo disso, identificamos onde estão os maiores pontos cegos — e o que fazer para corrigir.

  • Leia também: AI-Readiness Score — como medir se seu codebase está pronto para IA operar → /blog/ai-readiness-score
  • Leia também: AGENTS.md — o arquivo mais importante de um codebase AI-Native → /blog/agents-md-codebase-ai-native
  • Leia também: De 50 para 5 engenheiros — como a Arquitetura AI-Native mudou o modelo → /blog/time-encolheu-entregou-mais-rapido
  • Conheça nosso serviço de Engenharia AI-Native → /engenharia-de-software

Tags

Arquitetura AI-NativeAI-NativeEngenharia de SoftwareAgentes de IAAGENTS.md

Categorias

IA e Machine Learning

Precisa de ajuda nessa área?

Transforme dados em decisões estratégicas com machine learning e inteligência artificial.

Conheça nosso serviço de Ciência de Dados e IA
Os 6 Princípios da Arquitetura AI-Native — e Como Aplicar no Seu Codebase | Powertrend