A evolução da arquitetura
Quando escrevi meu primeiro artigo sobre Full Agentic Stack em 2025, meu sistema ainda era muito mais simples.
Naquele momento, eu estava praticamente trabalhando com uma arquitetura baseada em TypeScript. A ideia central já existia: usar agents no frontend, no backend e na camada de dados. Foi dessa percepção que nasceu o termo. Se Full Stack era trabalhar nas três camadas principais de uma aplicação, então uma stack onde agents atravessam essas camadas precisava de outro nome: FullAgenticStack.
Mas a arquitetura evoluiu muito desde então.
No começo, a IA parecia naturalmente ocupar o núcleo operacional. Isso fazia sentido naquele estágio, porque o sistema era menor, mais direto e mais próximo de uma visão AI-first. A IA era usada como motor principal para interpretar, decidir, gerar e coordenar partes importantes do fluxo.
Com o crescimento da arquitetura, essa visão precisou amadurecer.
Hoje, o núcleo operacional da minha arquitetura não precisa depender de IA.
Essa foi uma virada importante.
À medida que a stack cresceu, ficou claro que muitas responsabilidades não deveriam ser probabilísticas. Autenticação, roteamento, permissões, validação de contratos, event sourcing, mensageria, idempotência, auditoria, retry, cache, snapshot, consistency check, policy enforcement e execução de workflows precisam ser previsíveis, auditáveis e verificáveis.
Por isso, a arquitetura evoluiu de uma visão apenas AI-first para uma visão agentic-first.
Nessa visão, o centro não é a LLM.
O centro é o agent como unidade arquitetural.
Um agent pode usar IA, mas não precisa usar IA. Ele pode ser determinístico, baseado em regras, eventos, contratos, policies, schemas, state machines e capabilities explícitas. A IA entra apenas onde realmente agrega valor: linguagem natural, ambiguidade, geração de resposta, análise semântica, classificação e apoio cognitivo.
Essa mudança também acompanhou outra evolução: a stack deixou de ser apenas TypeScript.
Com o avanço do projeto e com o uso de VibeCoding SotA-Driven Development, passei a usar várias linguagens de forma mais intencional, escolhendo cada uma pelo papel técnico que ela desempenha melhor dentro da arquitetura.
TypeScript continua sendo importante para frontend, SDKs, ferramentas, automação e integração. Mas ele não precisa carregar tudo sozinho.
A arquitetura passou a abrir espaço para linguagens com responsabilidades específicas: linguagens mais fortes para sistemas, segurança, concorrência, efeitos, validação formal, agentes, runtime, mensageria, gateway, criptografia e infraestrutura.
Essa mudança não aconteceu por estética tecnológica. Aconteceu porque a arquitetura cresceu.
Quando o sistema era simples, uma linguagem principal bastava.
Quando o sistema passou a envolver agents, segurança, workflows, mensageria, dados, provas, runtime, observabilidade e operação distribuída, ficou mais natural separar responsabilidades por camadas e por propriedades técnicas.
O VibeCoding SotA-Driven Development permitiu justamente isso: usar o estado da arte como direção prática de desenvolvimento, acelerando experimentação, comparação, prototipagem e implementação em múltiplas linguagens sem ficar preso a uma única stack.
Então, a evolução do FullAgenticStack pode ser resumida assim:
Primeira fase:
TypeScript-first
AI-first
Sistema mais simples
Agents como extensão da aplicação
Fase atual:
Multi-language architecture
Agentic-first
Núcleo operacional determinístico
IA como capability especializada
Agents como infraestrutura da stack
Essa evolução não nega o primeiro artigo.
Ela mostra o caminho natural do conceito.
O primeiro artigo registrou o nascimento da ideia: agents atravessando frontend, backend e dados.
A fase atual define melhor a arquitetura: agents em múltiplas camadas, com núcleo determinístico, segurança, auditoria, observabilidade, workflows e uso seletivo de IA.
FullAgenticStack nasceu quando percebi que estava usando agents nas camadas de uma aplicação Full Stack.
Mas ele amadureceu quando percebi que agents não precisam ser LLMs.
E que uma arquitetura agentic séria precisa separar o que deve ser inteligente, o que deve ser determinístico e o que deve ser formalmente controlado.
Top comments (0)