← blog
Vibe CodingIAAgent Engineering

Do Vibe Coding ao Agent Engineering

15 de maio de 202612 min de leitura

“No começo, a IA apenas sugeria linhas de código. Agora ela cria arquivos, executa comandos, refatora projetos e toma decisões arquiteturais inteiras.

O desenvolvedor deixou de usar apenas assistentes. Estamos começando a operar agentes.

E isso muda completamente o tipo de problema que precisamos resolver.”

Durante um tempo, o debate sobre IA no desenvolvimento parecia relativamente simples.

Ferramentas generativas aceleravam tarefas repetitivas, completavam funções, escreviam boilerplate e produziam snippets em segundos. O chamado vibe coding nasceu exatamente dessa sensação: menos fricção, mais velocidade, mais improviso produtivo.

E honestamente, funcionava.

O problema é que o ecossistema mudou rápido demais.

Hoje, ferramentas como GitHub Copilot, Claude Code, Cursor, Continue.dev e iniciativas como o OpenAI Codex CLI já não apenas “sugerem código”.

Elas:

  • leem o projeto inteiro
  • executam comandos
  • criam arquivos
  • escrevem testes
  • fazem debugging
  • refatoram módulos
  • analisam dependências
  • abrem pull requests
  • tomam decisões arquiteturais implícitas

A IA deixou de ser apenas autocomplete.

Ela virou um operador semi-autônomo.

E isso muda completamente a natureza do problema.

Porque o risco já não é apenas gerar código ruim.

O novo risco é delegar decisões sem governança.


O desenvolvedor virou supervisor de sistemas probabilísticos

Durante muito tempo, produtividade em engenharia esteve diretamente associada à capacidade de implementação.

Quem escrevia mais rápido parecia produzir mais. Quem produzia mais parecia mais eficiente.

Com a chegada das IAs generativas, parte desse trabalho começou a ser terceirizado para modelos probabilísticos. O desenvolvedor passou a descrever intenções enquanto a IA preenchia os detalhes operacionais.

Mas agora estamos entrando em outra camada.

A camada dos agentes.

A diferença parece sutil, mas muda completamente o papel do engenheiro.

Antes:

  • o desenvolvedor escrevia código com ajuda da IA

Agora:

  • o desenvolvedor coordena agentes que escrevem, executam, testam, refatoram e tomam decisões operacionais

O centro da engenharia deixa de ser apenas implementação.

Passa a ser coordenação, supervisão e contexto.


O que é Agent Engineering?

O termo ainda está amadurecendo, mas a mudança já começou.

No vibe coding, o foco principal era velocidade.

Você descrevia algo. A IA gerava. Você ajustava. Ela continuava.

O objetivo era reduzir atrito entre ideia e implementação.

Já no agent engineering, a preocupação muda completamente.

O foco deixa de ser apenas geração de código e passa a ser:

  • definição de contexto
  • delimitação de escopo
  • restrição operacional
  • supervisão de execução
  • validação contínua
  • controle de autonomia

Ou seja:

Agent engineering é menos sobre pedir código e mais sobre projetar comportamento operacional para agentes.

A diferença fica clara assim:

PapelDesenvolvimento tradicionalVibe codingAgent engineering
DesenvolvedorExecutorPromptadorOrquestrador
IAAssistenteGeradoraAgente operacional
RiscoCódigo ruimCódigo inconsistenteDecisões autônomas erradas
GargaloImplementaçãoContextoGovernança

O desenvolvedor não desaparece.

Mas sua responsabilidade muda radicalmente.


A indústria já percebeu que agentes exigem governança

O mais interessante é que essa preocupação já começou a aparecer nas próprias empresas que estão construindo esses sistemas.

A Anthropic, no artigo Building Effective Agents, diferencia explicitamente workflows previsíveis de agentes autônomos e defende que sistemas agentic eficazes dependem de padrões simples, observáveis e supervisionáveis.

A própria empresa argumenta que arquiteturas excessivamente complexas degradam comportamento e aumentam inconsistências operacionais — algo que começa a aparecer cada vez mais em times que adotam agentes sem governança clara.

A OpenAI também passou a tratar agentes como sistemas operacionais completos, capazes de utilizar ferramentas, executar ações e operar ambientes de forma autônoma através do Agents SDK e de recursos apresentados oficialmente em New tools for building agents.

Ou seja: a discussão já não é mais sobre “se agentes funcionam”.

A discussão agora é:

como impedir que autonomia operacional degrade sistemas em escala.


A comunidade já começou a construir governança para agentes

Talvez o sinal mais interessante dessa mudança seja o surgimento de repositórios focados exclusivamente em instruções operacionais para agentes.

Projetos como:

mostram algo importante acontecendo no ecossistema.

A preocupação deixa de ser apenas:

“o que a IA consegue gerar?”

E passa a ser:

  • como ela deve se comportar
  • quais padrões arquiteturais seguir
  • quais decisões evitar
  • quais ferramentas pode utilizar
  • quais limites precisa respeitar
  • quando pedir validação humana
  • como preservar consistência operacional

Isso parece detalhe.

Mas talvez represente uma das maiores mudanças culturais do desenvolvimento orientado por IA.

Porque esses repositórios funcionam como uma camada de governança probabilística.

Eles transformam comportamento implícito em regras explícitas.

E isso revela uma percepção importante:

agentes não são confiáveis por padrão.

Quanto maior a autonomia, maior a necessidade de restrições explícitas.


Estamos começando a versionar comportamento

Outro sinal interessante dessa transição é o surgimento de arquivos contextuais como:

  • AGENTS.md
  • CLAUDE.md
  • .cursorrules

Isso parece pequeno.

Mas representa uma mudança estrutural importante.

Durante décadas, engenharia de software focou em estruturar código.

Agora começamos a estruturar comportamento probabilístico.

Esses arquivos funcionam como contratos operacionais para agentes.

Eles definem:

  • padrões arquiteturais
  • limites de atuação
  • preferências técnicas
  • comportamento esperado
  • regras de execução
  • políticas de segurança
  • convenções do projeto

Na prática, estamos começando a versionar comportamento da mesma forma que versionamos:

  • código
  • infraestrutura
  • pipelines
  • configurações

Contexto deixou de ser algo informal.

Agora ele começa a virar parte explícita da arquitetura do sistema.


O ganho real dos agentes

Existe um erro comum quando esse debate aparece.

Muita gente assume que qualquer crítica ao uso de agentes significa resistência à IA.

Não significa.

Agentes realmente aumentam produtividade. E em alguns cenários, de forma absurda.

O problema não é produtividade.

O problema é confundir velocidade operacional com qualidade sistêmica.


Trabalho operacional repetitivo

Essa talvez seja a área mais madura hoje.

Agentes funcionam extremamente bem para tarefas mecânicas e previsíveis:

  • boilerplate
  • testes
  • documentação
  • migrações
  • renomeações
  • refactors estruturais
  • padronizações

Nesse contexto, o ganho é legítimo.

Você remove carga operacional humana de tarefas pouco criativas e libera energia cognitiva para problemas mais relevantes.


Navegação em codebases grandes

Outra vantagem importante aparece em bases complexas.

Agentes conseguem:

  • correlacionar arquivos rapidamente
  • rastrear dependências
  • encontrar padrões repetidos
  • localizar inconsistências
  • sintetizar contexto espalhado

Em muitos casos, isso reduz drasticamente o tempo necessário para entender sistemas legados.

A IA funciona quase como uma camada probabilística de indexação arquitetural.


Paralelização cognitiva

Talvez o ganho mais interessante esteja aqui.

Enquanto o desenvolvedor pensa arquitetura, produto ou regras de negócio, o agente pode simultaneamente:

  • executar tarefas
  • validar hipóteses
  • rodar testes
  • preparar implementações
  • organizar contexto
  • sugerir caminhos

Isso cria algo relativamente novo no desenvolvimento:

uma forma de paralelização cognitiva.

Mas é exatamente nesse ponto que mora o risco.

Porque produtividade operacional não equivale automaticamente a qualidade arquitetural.


Autonomia sem observabilidade é caos em escala

Quanto maior a autonomia do agente, maior o custo de contexto errado.

Essa talvez seja a principal tensão do desenvolvimento orientado por IA.

Porque agentes não entendem sistemas da forma como humanos entendem.

Eles inferem padrões estatísticos sobre eles.

E isso muda completamente a natureza do erro.

O paper The Rise and Potential of Large Language Model Based Agents: A Survey já descreve agentes baseados em LLMs como sistemas compostos por percepção, raciocínio, memória e ação operacional — aproximando-os muito mais de operadores autônomos do que de simples ferramentas de autocomplete.

Isso ajuda a explicar por que erros em sistemas agentic são diferentes de bugs tradicionais.

O problema deixa de ser apenas implementação incorreta.

Passa a ser comportamento emergente mal supervisionado.


Problema 1 — instruções vagas viram decisões arbitrárias

Considere algo simples:

“melhora a arquitetura desse módulo”

Para um humano experiente isso já é ambíguo.

Para um agente, é praticamente um espaço infinito de interpretação probabilística.

O resultado costuma ser previsível.

O agente:

  • inventa padrões
  • fragmenta responsabilidades
  • cria abstrações artificiais
  • adiciona complexidade acidental
  • altera contratos silenciosamente

A IA tenta preencher lacunas. Esse é literalmente o trabalho dela.

O problema é que:

prompt vago vira decisão arbitrária.

E quanto maior a autonomia operacional, maior o impacto dessas interpretações.


Problema 2 — contexto demais também degrada agentes

Existe uma crença muito comum no ecossistema atual:

“quanto mais contexto melhor”

Na prática, isso nem sempre funciona.

A própria Anthropic argumenta em Building Effective Agents que arquiteturas simples e observáveis tendem a produzir resultados mais consistentes do que sistemas excessivamente complexos e sobrecarregados de contexto.

Agentes começam a degradar quando recebem:

  • regras conflitantes
  • objetivos múltiplos
  • arquitetura inconsistente
  • documentação desatualizada
  • excesso de ambiguidades
  • padrões contraditórios

O resultado aparece rápido:

  • regressões
  • decisões inconsistentes
  • refactors caóticos
  • implementações contraditórias
  • abstrações desalinhadas

Porque:

agentes não entendem sistemas. Eles inferem padrões estatísticos sobre eles.

A diferença parece filosófica.

Mas operacionalmente é gigantesca.


Problema 3 — falta de monitoramento

Esse talvez seja o problema mais perigoso da nova onda.

Muita gente começou a usar agentes como:

  • executor automático
  • piloto automático de refactor
  • operador autônomo
  • “faz tudo aí”

Sem:

  • checkpoints
  • revisão incremental
  • observabilidade
  • validação arquitetural
  • limites operacionais
  • critérios claros de aceitação

O resultado inevitável são sistemas que parecem produtivos no curto prazo, mas acumulam degradação silenciosa.

Então surgem:

  • loops destrutivos
  • código zombie
  • abstrações artificiais
  • acoplamentos invisíveis
  • débito técnico automatizado

IA acelera decisões.

Inclusive as ruins.


Segurança: agentes criam novas superfícies de vulnerabilidade

Outro ponto importante é que autonomia operacional também introduz novos problemas de segurança.

Pesquisadores e engenheiros como Simon Willison vêm alertando há meses sobre riscos relacionados a prompt injection, manipulação indireta de instruções e vazamento de contexto em agentes autônomos através da série Prompt Injection.

Isso muda completamente o modelo tradicional de segurança.

Porque agora não estamos apenas protegendo código.

Estamos tentando proteger comportamento probabilístico.

E comportamento probabilístico pode ser manipulado através de contexto.

Em outras palavras:

agentes ampliam a superfície operacional do sistema muito além da aplicação em si.


O novo papel do engenheiro

Talvez a maior mudança dessa transição seja filosófica.

O valor do desenvolvedor deixa de estar apenas em:

  • escrever código rapidamente

E passa cada vez mais para:

  • definir contexto corretamente
  • restringir autonomia
  • estruturar supervisão
  • validar comportamento
  • controlar escopo
  • operar sistemas probabilísticos

O engenheiro deixa de ser apenas implementador.

Ele vira supervisor arquitetural.


Engenharia de contexto

Provavelmente esse será um dos pilares da próxima geração de engenharia de software.

Porque agentes performam proporcionalmente à qualidade do contexto operacional fornecido.

Isso inclui:

  • prompts estruturados
  • objetivos claros
  • escopo delimitado
  • regras explícitas
  • critérios de aceitação
  • limites operacionais
  • validação contínua
  • observabilidade

No fundo:

delegar não é abandonar.

Quanto mais autonomia damos aos agentes, maior precisa ser a disciplina do sistema que os supervisiona.


Vibe Coding vs Agent Engineering

AspectoVibe CodingAgent Engineering
Objetivo principalVelocidade de implementaçãoEscalabilidade operacional
Papel do desenvolvedorPromptador improvisando soluçõesOrquestrador supervisionando agentes
Papel da IAGeradora de códigoAgente semi-autônomo
Unidade principalPromptContexto operacional
Ganho imediatoAlta velocidade inicialParalelização cognitiva
Benefício mais fortePrototipagem rápidaExecução operacional contínua
Principal riscoCódigo inconsistenteDecisões autônomas erradas
Débito técnico comumArquitetura improvisadaGovernança insuficiente
Falha típicaCódigo espaguete aceleradoRefactors destrutivos automatizados
Gargalo realContexto insuficienteSupervisão insuficiente
EscalabilidadeBaixaMédia/Alta com governança
ObservabilidadeQuase inexistenteNecessária
Dependência humanaAlta revisão manualAlta supervisão arquitetural
Custo invisívelComplexidade acumuladaAutonomia mal delimitada
Frase-resumo“A IA ajuda a construir”“A IA começa a operar”

A próxima ressaca técnica

O problema do vibe coding nunca foi usar IA.

O problema foi acreditar que velocidade elimina engenharia.

Agora estamos entrando em uma fase ainda mais delicada: a da autonomia operacional.

E ela traz um risco mais sofisticado.

Porque sistemas frágeis podem ser produzidos muito mais rápido do que antes.

O desenvolvimento orientado por agentes não reduz a importância do desenvolvedor.

Ele aumenta a responsabilidade arquitetural.

Talvez essa seja a principal lição dessa transição:

Quanto mais autonomia damos aos agentes, mais disciplina precisamos ter como engenheiros.


Referências e leituras complementares

Pesquisas e artigos técnicos

Ferramentas e ecossistema

Repositórios e governança de agentes

Artigo anterior