AI para Devs: Como Arquitetar Soluções na Era da Inteligência Artificial
“Teaching is one of the best ways to learn.”
Participei de um intensivo de três dias sobre AI for Developers e saí de lá com uma enxurrada de conceitos, frameworks e exemplos práticos. Para consolidar esse aprendizado, decidi transformar minhas anotações em um artigo — não só para mim, mas para qualquer dev que queira entender como arquitetura de software está mudando com IA no centro.
Do hype do Vibe Coding à Arquitetura
Nos últimos anos, já vimos revoluções: cloud, microserviços, DevOps, CI/CD. Agora, o que está acontecendo vai além da forma de escrever código: está mudando a forma de arquitetar sistemas.
O fenômeno do Vibe Coding — deixar a IA escrever código a partir de descrições — é divertido, mas raso. O ponto real é que cada vez mais o valor não está em “digitar linhas”, mas em orquestrar sistemas inteligentes, conectando modelos, infraestrutura e humanos.
As Três Camadas da Arquitetura de IA
No workshop, aprendi a dividir esse universo em três camadas:
-
Application Development → onde a maioria de nós atua: Criamos apps que usam IA, projetamos prompts, preparamos contexto e avaliamos resultados.
💡 Exemplo: um campo de busca inteligente que traduz consultas e retorna resultados estruturados
-
Model Development → território de ML engineers e pesquisadores. Eles melhoram os modelos: otimizam inferência, fazem fine-tuning para domínios específicos, e até criam novas arquiteturas.
💡 Exemplo: adaptar um LLM para responder perguntas médicas.
-
Infrastructure → a base invisível que mantém tudo funcionando. É aqui que garantimos escala, segurança e monitoramento.
💡 Exemplo: manter um chatbot atendendo milhares de usuários sem vazar dados.
Essas camadas não são isoladas — a IA atravessa todas elas e muitas vezes serve como o tradutor entre produto, devs e segurança.
Meu Projeto Demo: API de Autenticação Assistida por IA
Para não ficar só na teoria, montei um projeto demo. A ideia era simples: uma API de signup/login com JWT, usando Node.js, TypeScript e Express. Mas o desafio não era o código em si — era ver como a IA poderia ajudar no processo.
- Stack: Node.js + TS + Express, JWT (15 min), Zod, bcryptjs, DB in-memory.
- Estrutura:
ai/context
,ai/plans
,ai/prompts
→ diretórios que organizam como eu conversava com a IA. - Estado atual: endpoints stubados (501), testes ainda vazios, mas com documentos de contexto, checklists e prompts estruturados.
Um dos testes mais interessantes foi gerar um PRP (Product Requirement Prompt) para a feature de login. A IA me devolveu um documento com critérios de aceitação, casos de erro e até checklist de segurança. Não implementei tudo, mas o simples fato de ter um “contrato” antes do código já mudou meu olhar.
Agentes de IA: muito além do chatbot
No workshop, ficou claro: agente ≠ chatbot. O chatbot é a interface. O agente é o componente capaz de raciocinar, agir e interagir — até com outros agentes. Esse movimento, chamado de Agentic AI, só faz sentido se houver protocolos e padrões claros.
Design Patterns que Todo Dev Precisa Conhecer
Assim como usamos Factory ou Adapter, agora surgem padrões próprios de IA. Para entender, aqui vai um resumo de como eles funcionam na prática:
- RAG (Retrieval-Augmented Generation) → imagine que você está construindo um FAQ inteligente. Só o LLM não basta, ele inventaria respostas. Com RAG, a IA primeiro busca nos documentos corretos (ex.: base de conhecimento) e só depois gera a resposta. Isso reduz alucinações.
- ReAct (Reason + Act) → aqui o modelo não apenas “responde”, mas alterna entre raciocinar e agir. Um exemplo: a IA recebe a pergunta “qual a previsão do tempo amanhã em Lisboa?”. Ela raciocina sobre o que precisa e chama a API de clima antes de responder.
- Planner/Executor → útil em tarefas complexas, como pipeline de dados. Um agente cria o plano (steps), outro executa passo a passo. Isso separa responsabilidades e facilita debug.
- Critic/Reviewer → um agente escreve o código, outro revisa com critérios definidos (lint, segurança, performance). Usei esse padrão num prompt de revisão do meu demo: a IA não só apontou erros, mas sugeriu melhorias na estrutura do Express.
Esses padrões dão uma linguagem comum para estruturar soluções que escalam.
12-Factor Agents e Disciplina de Engenharia
Inspirado no clássico 12-Factor App, surge o 12-Factor Agents, que traduz essa mentalidade para agentes. Alguns pontos que mais me marcaram:
- Natural Language to Tool Calls → transformar NL em ações. Exemplo: input “criar usuário” → chamada estruturada ao endpoint /auth/signup.
- Own Your Prompts → controlar construção de prompts e contexto. Se o prompt fica gigante, o modelo perde qualidade.
- Small, Focused Agents → cada agente deve ter uma tarefa clara. No meu demo, fazia sentido ter um “agent auth” em vez de pedir que o mesmo prompt cuidasse de signup, login e segurança ao mesmo tempo.
- Human Integration → saber quando escalar para humanos. Ex.: se a IA não consegue decidir uma política de senha, ela sugere opções e pede intervenção.
Em vez de um script gigante, passamos a pensar em pipelines observáveis.
Segurança e Guardrails
Outro tópico quente: riscos. Jailbreaks, prompt injection, vazamento de dados. A resposta? Guardrails + avaliação contínua.
Exemplo prático: no meu demo, a IA sugeriu logar payloads de login para debug. Ótimo em dev, mas risco enorme em produção. Guardrail simples: nunca logar senha em claro. Esse tipo de checagem precisa estar embutido no fluxo.
Além disso, não basta testar no início; é preciso medir qualidade, latência e custo constantemente.
Reasoning Techniques
Aqui aprendi três técnicas que mudam o jogo:
- Chain of Thought (CoT) → a IA escreve passo a passo antes da resposta. No demo, pedi para explicar “como validar input com Zod” e ela primeiro listou as etapas antes de gerar o código.
- Tree of Thought (ToT) → explorar caminhos diferentes e escolher. Útil em design: pedir múltiplas abordagens de auth e deixar a IA pesar prós e contras.
- Skeleton of Thought (SoT) → template lógico pré-definido. Usei SoT num prompt de revisão de código: a IA seguiu o esqueleto “Segurança / Performance / Legibilidade” e organizou feedback de forma clara.
Action Plans e PRPs
Esse foi talvez o maior aprendizado. Action Plans funcionam como um mapa: você define até onde vai o trabalho humano e onde começa a autonomia da IA. Imagine duas estratégias:
- Global Plan: você descreve o sistema inteiro e deixa a IA tentar quebrar em etapas.
- Stage Plan: você define só a etapa atual (ex.: autenticação) e a IA gera o plano local.
No meu projeto demo, testei os dois jeitos. O Global Plan saiu muito genérico; já o Stage Plan gerou passos mais práticos, tipo “criar schema de signup”, “implementar rota POST /auth/signup”, “validar com Zod”.
Já os PRPs (Product Requirement Prompts) são diferentes: eles viram quase um ticket de Jira em formato de prompt. Por exemplo, para a feature de login escrevi:
Contexto: Sistema de autenticação básico para API Express.
Tarefa: Implementar POST /auth/login que recebe email/senha.
Requisitos: Validar com Zod, retornar JWT de 15 min.
Critérios de aceitação:
- Retorna 401 se credenciais inválidas
- Retorna {token} se sucesso
- Token deve expirar após 15 min
A IA então usou esse PRP para sugerir código inicial + checklist de segurança (ex.: evitar armazenar senha em claro). Confesso que não segui 100% (o checklist era mais teórico), mas só de ter esse contrato antes do código já mudou meu fluxo.
O Futuro é Arquitetar com IA
O hype do vibe coding é só a superfície. O que realmente importa é aprender a arquitetar com IA no núcleo: das três camadas ao Agentic AI, dos padrões de design aos 12-Factor Agents, passando por segurança, reasoning e PRPs.
Escrever código segue relevante. Mas o diferencial estará em quem souber estruturar sistemas inteligentes.
👉 E você, como tem integrado IA na arquitetura das suas soluções?