MÓDULO 1.2

🔥 Grilling: alinhamento com o agente

Pare de adivinhar o que você quer. Deixe o agente perguntar antes de codar — e ganhe horas de retrabalho.

8
Tópicos
35
Minutos
Básico
Nível
Prática
Tipo
1

🔍 O que é grilling

Grilling é uma sessão onde o agente pergunta detalhes antes de codificar. Não é você listando requisitos. É o agente, posicionado como entrevistador adversarial, te puxando para zonas que você ainda não pensou: edge cases, decisões que você está adiando, premissas que você nem sabia que estava fazendo.

A maioria das pessoas usa LLM como autocomplete glorificado: dão um prompt vago e aceitam o primeiro código. Resultado: 3 rodadas de retrabalho. Grilling inverte isso. O agente vira o chato que pergunta "e se o usuário não tiver conexão?", "como você quer tratar duplicatas?", "isso é por tenant ou global?" — antes de uma única linha sair.

🎯 O princípio central

Código ruim não vem de modelo fraco. Vem de brief fraco. Grilling força o brief a virar bom antes de gastar tokens em implementação.

  • O agente não assume — ele pergunta.
  • Você não escreve spec — você responde.
  • O alinhamento sai escrito, não na sua cabeça.

💡 Por que a inversão muda tudo

Quando você escreve a spec, você só lista o que já pensou. Quando o agente pergunta, ele explora o espaço de decisões que você ainda não viu. O agente leu mil sistemas parecidos — ele sabe onde mora o bug.

A pergunta do agente é o mapa do que você ainda não sabia que precisava decidir.

Conceitos-chave

Inversão
Agente pergunta, você responde.
Antes do código
Zero linha implementada na sessão de grill.
Adversarial
Postura de devil's advocate, não de assistente.
Materializado
Output vira documento, não memória volátil.
2

⚖️ /grill-me vs /grill-with-docs

Existem dois sabores. Escolher errado não quebra nada — só desperdiça contexto. O /grill-me é leve, conversacional, ótimo para decisões não-código. O /grill-with-docs é pesado, lê seu CONTEXT.md e ADRs, e atualiza-os ao final.

✓ /grill-me

  • Decisões de produto sem código pesado
  • Brainstorming de feature antes de PRD
  • Não-engenharia: copy, posicionamento, fluxo
  • Output: bullets de decisão na conversa
  • Não toca arquivos do projeto

✓ /grill-with-docs

  • Engenharia: feature, refactor, decisão técnica
  • Lê CONTEXT.md, ADRs e domain model
  • Atualiza CONTEXT.md e cria ADR ao final
  • Output: documentos persistentes
  • Usa terminologia do projeto, não genérica

Comparação direta

Aspecto /grill-me /grill-with-docs
Input Ideia solta Ideia + projeto indexado
Lê arquivos? Não Sim — CONTEXT.md, ADRs, código
Escreve arquivos? Não Sim — atualiza CONTEXT.md, cria ADR
Duração típica 5–10 min 15–40 min
Próximo passo Documentar manualmente /to-prd direto

📊 Regra prática

Se a decisão vai virar código — /grill-with-docs. Se a decisão fica só na sua cabeça — /grill-me. Quando em dúvida, escolha /grill-with-docs: o custo de gerar um ADR a mais é zero, o custo de perder contexto é alto.

Conceitos-chave

Leve vs pesado
Conversa vs documento.
Persistência
Só /grill-with-docs grava.
ADR
Architecture Decision Record.
Domínio
Terminologia do projeto, não genérica.
3

🎯 Quando usar (e quando NÃO usar)

Grilling não é grátis — custa 10 a 40 minutos. Para mudanças triviais, esse custo é maior que o retrabalho que evita. Para decisões arquiteturais, é o investimento mais barato que existe.

✓ USAR grilling

  • Feature nova — primeiro contato com o problema
  • Decisão arquitetural — escolha de banco, fila, padrão
  • Bug confuso — você não sabe nem como reproduzir
  • Refactor — antes de tocar 20 arquivos
  • Integração — terceiro, webhook, contratos
  • Migração — schema, framework, versão

✗ PULAR grilling

  • Typo / fix trivial — uma linha, escopo claro
  • Mudança de copy — texto já aprovado
  • Bump de versão — sem breaking changes
  • Padrão já documentado — segue o ADR existente
  • Bug com causa óbvia — stack trace claro
  • Sessão de pair programming — alinhamento humano já feito

⚠️ Cuidado com "parece trivial"

"Só adicionar um campo no formulário" virou refactor de validação, migration de banco e mudança de API em três projetos diferentes. Quando ouvir "é só uma coisinha" e a coisa toca persistência ou contrato — gaste 10 min de grill. Vai descobrir que não é tão "só" assim.

Conceitos-chave

Custo-benefício
10 min de grill < 3h de retrabalho.
Limiar
Toca persistência ou contrato? Grill.
Escala oculta
"Pequeno" que vira grande precisa de grill.
Já documentado
ADR existe? Segue o ADR.
4

💬 Exemplo de sessão completa

Diálogo realista de /grill-with-docs sobre uma feature comum: "quero adicionar autenticação". Observe como cada pergunta do agente fecha uma decisão que viraria bug se ficasse implícita.

Sessão de grilling — autenticação
▸ VOCÊ
Quero adicionar autenticação ao app.
▸ AGENTE (P1)
Antes de codar: é app B2B (uma empresa = vários usuários) ou B2C (cada login é uma pessoa autônoma)? A resposta muda toda a modelagem de tenancy.
▸ VOCÊ
B2B. Cada empresa tem usuários internos.
▸ AGENTE (P2)
Beleza. Os dados são isolados por empresa (multi-tenant single DB) ou cada empresa tem schema/DB separado? E o admin da empresa convida ou self-signup?
▸ VOCÊ
Single DB com tenant_id em toda tabela. Admin convida por email.
▸ AGENTE (P3)
Quais provedores de auth? Email+senha próprio, SSO (Google/Microsoft), magic link, ou combinação? E o que acontece quando um usuário pertence a duas empresas?
▸ VOCÊ
Magic link primeiro, SSO depois. Um email só pode estar em uma empresa por enquanto.
▸ AGENTE (P4)
Roles dentro da empresa? (owner/admin/member) E o que um admin pode fazer que um member não pode — listar usuários, faturamento, deletar dados?
▸ VOCÊ
Owner, admin, member. Só owner mexe em faturamento. Admin gerencia usuários.
▸ AGENTE (P5)
Sessão: JWT stateless, sessão server-side, ou híbrido? Tempo de expiração? Refresh token? E logout em todos os devices é requisito?
▸ VOCÊ
Server-side com cookie httpOnly. 7 dias de duração. Logout em todos os devices — sim, é requisito.
▸ AGENTE (P6)
Última: o que acontece quando o último owner sai? Bloqueia? Promove o admin mais antigo? E exclusão de conta — soft delete ou hard delete com GDPR?
▸ VOCÊ
Bloqueia saída do último owner. Soft delete primeiro, hard delete só por suporte.
▸ AGENTE — SÍNTESE
Vou registrar como ADR-0007 e atualizar CONTEXT.md:
• Modelo: B2B multi-tenant, single DB com tenant_id
• Onboarding: Admin convida por email, sem self-signup
• Auth: Magic link (fase 1), SSO (fase 2). Email único por tenant
• Roles: owner > admin > member; owner exclusivo p/ billing
• Sessão: cookie httpOnly server-side, 7d, revogação global suportada
• Lifecycle: último owner não pode sair; soft delete default
Pronto para /to-prd?

💡 Observação importante

Note como NENHUMA dessas 6 perguntas estava no prompt original "quero adicionar autenticação". Cada resposta fechou uma decisão que viraria reunião de 2h ou bug em produção. Esse é o ROI do grilling.

Conceitos-chave

Uma pergunta de cada vez
Não atropela com 10 questões juntas.
Justifica o porquê
"A resposta muda X" — não pergunta solta.
Síntese ao fim
Recapitula decisões antes de gravar.
Próximo passo
Aponta para /to-prd, não para código.
5

🚫 Anti-padrões de grilling

Grilling é simples mas tem armadilhas. O sintoma comum: você terminou o grill, mas continua sentindo que vai ter retrabalho. Quase sempre é um dos três anti-padrões abaixo.

✓ Postura saudável

  • Refuta o primeiro draft do agente se sentir vago
  • Pede para reformular perguntas genéricas
  • Trata mudança "pequena" que escala como feature
  • Para o grill quando perceber que o problema mudou
  • Responde "não sei" quando for verdade — e pesquisa antes de fechar

✗ Anti-padrões

  • Aceitar primeiro draft sem grilling — "tá bom assim"
  • Engolir perguntas vagas tipo "como você quer fazer isso?"
  • Pular grill em mudança "trivial" que toca contrato
  • Responder com "depende" para fugir da decisão
  • Não revisar o ADR final — assina sem ler

🚨 Pergunta vaga é red flag

Se o agente perguntar "como você quer estruturar isso?" — pare. Essa não é uma pergunta de grill, é o agente jogando a decisão de volta pra você. Força especificidade:

Resposta correta: "Me dá 3 opções com tradeoffs e me pergunte o critério que importa pra eu escolher."

Conceitos-chave

Refutar vago
Pergunta sem direção volta para refinar.
Trivial que escala
Toca contrato? Não é trivial.
Sem "depende"
Fecha decisão ou marca como aberta.
Lê o ADR
Síntese do agente pode ter desvios.
6

🔗 Integração com PRDs

Grilling não é um evento isolado — é a primeira etapa de um pipeline. As decisões viram contexto, o contexto vira PRD, o PRD vira issues, as issues viram código. Tudo encadeado.

1

/grill-with-docs

Entrada: ideia solta. Saída: decisões fechadas.

O agente lê CONTEXT.md, faz 5–10 perguntas dirigidas, sintetiza as respostas em decisões nomeadas.

2

CONTEXT.md atualizado

Decisões viram texto permanente.

As respostas do grill são gravadas em CONTEXT.md (e quando arquiteturais, num ADR numerado em docs/adr/).

3

/to-prd usa o contexto

PRD nasce alinhado, não da imaginação do LLM.

O comando /to-prd lê CONTEXT.md + ADRs frescos e gera um PRD que cita as decisões. Sem grill, o PRD vira ficção.

4

/to-issues fatia em vertical slices

PRD vira tarefas executáveis ponta a ponta.

Cada issue é um vertical slice: UI + API + persistência + teste. Não horizontal por camada. Issues herdam terminologia do CONTEXT.md.

5

Implementação

Código sai com brief forte.

Quando o agente vai codar a issue, ele tem ADR + PRD + issue. O retrabalho cai em 60–80% comparado a partir de prompt vago.

📊 O encadeamento é o produto

Grilling sozinho gera um documento. O pipeline grill → ADR → PRD → issues gera previsibilidade. É a diferença entre "uso IA" e "tenho processo com IA".

Conceitos-chave

Pipeline
Grill é etapa 1, não evento isolado.
Persistência
CONTEXT.md guarda a memória.
Vertical slice
Issue ponta-a-ponta, não por camada.
Encadeamento
Cada comando consome o anterior.
7

🛠️ Exercício prático

Pegue uma feature que você quer construir hoje — não daqui a duas semanas. Rode /grill-with-docs e responda com honestidade. Não trapaceie acelerando o grill.

Prompt sugerido
/grill-with-docs

Quero adicionar [sua feature em uma frase] ao projeto.

Faça grilling antes de eu escrever PRD. Quero perguntas específicas, justificando por que cada uma muda a implementação. Uma pergunta de cada vez. Se eu der resposta vaga, refute e refaça. Ao final, sintetize as decisões e proponha o ADR.

📝 Anote durante o exercício

  • Quantas perguntas o agente fez antes da síntese?
  • Quais 2 perguntas você não tinha pensado e te surpreenderam?
  • Qual decisão mudou de rumo durante o grill? (sinal de grill valioso)
  • Tempo total do grill — compare com a sua estimativa inicial.
  • O ADR final tem alguma decisão que você não lembra de ter tomado? Marque pra revisar.

🎯 Critério de sucesso

O exercício deu certo se ao final você consegue responder, sem olhar:

  • • Quais 3 decisões irreversíveis foram tomadas;
  • • Quais 2 decisões ficaram explicitamente adiadas;
  • • Qual seria o próximo passo (rodar /to-prd? buscar dado externo?).

Conceitos-chave

Feature real
Use algo do roadmap, não exemplo fake.
Sem trapaça
Responda honesto, inclusive "não sei".
Surpresas
Perguntas que te pegam medem ROI do grill.
Revisa o ADR
Nada vira documento sem você ler.

Resumo do módulo

Grilling inverte o jogo — o agente pergunta antes de codar. O brief sai forte sem você precisar ser arquiteto.
Dois sabores — /grill-me para decisões leves; /grill-with-docs para qualquer coisa que vire código.
Use em features novas, decisões arquiteturais, bugs confusos e refactors — pule em typos e fixes triviais.
Anti-padrões matam o grill — aceitar perguntas vagas, pular em mudança "pequena", não revisar o ADR final.
Grill é a etapa 1 do pipeline — alimenta CONTEXT.md → /to-prd → /to-issues → implementação.
Exercício é obrigatório — só vira hábito depois que você rodar pelo menos um grill em feature real.

Próximo módulo:

1.3 — Do PRD às issues: fatiando em vertical slices

← Módulo 1.1 Índice da Trilha Módulo 1.3 →