Curso 3: Desenvolvimento Agêntico | Rodrigo Pinto
Engenharia de Contexto
A arte de alimentar o context window
Instrutor: Rodrigo Pinto
Recap Encontro 1
Claude Code
CLI, instalação, primeiros comandos
CLAUDE.md
Arquivo de contexto do projeto
Memory + Permissões
Persistência entre sessões
Hoje: maximizar o contexto que o agente recebe
Você já teve que repetir a mesma instrução 10 vezes?
O problema não é o modelo. É o CONTEXTO.
Agenda do Encontro 2
Ciclo 1 — Context Engineering: O Conceito
25 min — Definições, 6 componentes, evolução
Ciclo 2 — CLAUDE.md Hierárquico + Memory Files
30 min — Global, project, folder-level, exercício
Ciclo 3 — Skills Customizadas
30 min — Anatomia, instalação, criação, exercício
Intervalo de 20 min entre Ciclo 2 e Ciclo 3
O Conceito
Definição #1
"The delicate art and science of filling the context window with just the right information for the next step."
— Andrej Karpathy, 2025
Ex-diretor de IA da Tesla, co-fundador da OpenAI
Definição #2
"The art of providing all the context for the task to be plausibly solvable by the LLM."
— Tobi Lutke, 2025
CEO do Shopify
Notem: "plausibly solvable" — o contexto precisa tornar a tarefa plausivelmente resolvível
Evolução
Prompt Engineering
Curso 1 — O que vocês já sabem
Context Engineering
Curso 3 — O que vamos dominar
Sem contexto
"Faz ai o relatório"
Sem manual, sem exemplos, sem histórico
Resultado: lixo
Com contexto
"Aqui está o manual, os exemplos anteriores, as regras do setor, e o que espero"
Onboarding completo
Resultado: excelente
O agente é um funcionário brilhante mas com amnésia total a cada sessão.
Os Pilares
1
System Prompts
Instruções persistentes
2
Tools / MCP
Ferramentas disponíveis
3
RAG
Recuperação de informação
4
Memory
Memória entre sessões
5
State
Estado atual da tarefa
6
Structured Data
Dados estruturados
Mapeamento Prático
→ System Prompts + Structured Data
→ Memory + State
→ Tools + Structured Data
→ Tools + RAG
Cada ferramenta do Claude Code alimenta componentes específicos do context window
Visualizando
Capacidade: 200K tokens (Claude) — parece muito, mas...
Desafio: Não é só caber. E colocar a informação certa na ordem certa.
Erro comum: Jogar tudo la dentro → agente se perde
Solução: Curadoria — "just the right information" (Karpathy)
Context Engineering = curadoria inteligente do balde
1. Context Engineering ≠ Prompt Engineering
2. 6 componentes: system prompts, tools, RAG, memory, state, structured data
3. Claude Code implementa via CLAUDE.md, memory, skills, MCP
4. Curadoria > quantidade — "just the right information"
Agora vamos para a prática: como estruturar o contexto no repositório
+ Memory Files
Hierarquia
Global — ~/.claude/CLAUDE.md
Preferências pessoais: idioma, estilo de código, convenções que se aplicam a TODOS os projetos
Projeto — ./CLAUDE.md (raiz do repo)
Regras do projeto: stack, arquitetura, padrões, deploy, convenções do time
Pasta — ./subpasta/CLAUDE.md
Contexto específico: regras daquele módulo, API endpoints, formato de dados
# Quando você abre Claude Code em ./meu-projeto/api/ # O agente lê automaticamente: 1. ~/.claude/CLAUDE.md # Global (suas preferências) 2. ./CLAUDE.md # Projeto (regras do repo) 3. ./api/CLAUDE.md # Pasta (regras da API) # Resultado: contexto COMPLETO e RELEVANTE # Sem você precisar repetir nada!
O Claude combina automaticamente todos os níveis aplicáveis
Nível1
# ~/.claude/CLAUDE.md ## Preferências Gerais - Idioma: Português brasileiro - Sem acentos em nomes de arquivo - Comentários em português - Tom: direto, prático, sem enrolação ## Estilo de Codigo - TypeScript quando possível - Testes com Vitest - ESLint + Prettier - Commits em português, formato convencional
Isso se aplica a TODOS os seus projetos, automaticamente
Nível2
# ./CLAUDE.md (raiz do repositório) ## Visão Geral App de gestão de tarefas para servidores públicos. Stack: Next.js 14 + Supabase + Tailwind ## Arquitetura - /app — rotas e pages (App Router) - /lib — lógica de negócio - /components — componentes React reutilizáveis ## Regras Críticas - NUNCA expor chaves de API no client-side - Toda query ao Supabase usa RLS - Deploy via Vercel — branch main = produção
Nível3
# ./api/CLAUDE.md ## Contexto desta pasta API routes do Next.js. Cada arquivo = 1 endpoint. ## Padrões obrigatórios - Validar input com Zod - Retornar erros no formato { error: string, code: number } - Logar toda requisição com timestamp - Rate limiting: max 100 req/min por IP ## Endpoints existentes - GET /api/tasks — lista tarefas do usuário - POST /api/tasks — cria nova tarefa - PATCH /api/tasks/[id] — atualiza tarefa
Persistência
O que são?
~/.claude/Quando usar?
Memory = o "caderno de notas" do agente entre sessões
Comparação
| Aspecto | CLAUDE.md | Memory Files |
|---|---|---|
| Quem escreve? | Você (humano) | O agente (automático) |
| Quando muda? | Raramente (setup) | A cada sessão relevante |
| Conteúdo | Regras, padrões, estrutura | Decisões, progresso, aprendizados |
| Versionado (git)? | Sim | Não (local) |
| Compartilhado? | Com o time | Pessoal |
Usem ambos juntos — são complementares
1. Escolham um projeto real (ou criem um fictício)
2. Criem o CLAUDE.md da raiz com: visão geral, stack, estrutura de pastas, regras críticas
3. Criem pelo menos 1 CLAUDE.md de subpasta com regras específicas
4. Testem: abram Claude Code na subpasta e verifiquem se ele "sabe" as regras
20 minutos
Voltem prontos para criar skills customizadas
Ensine novas habilidades ao agente
Conceito
Definição
Skills sãoreceitas reutilizáveis que ensinam o Claude a executar tarefas específicas de forma consistente.
Cada skill é um arquivo SKILL.md com instruções detalhadas.
Analogia
Pensem em skills como manuais de procedimento:
Anatomia
# .claude/skills/criar-componente.md ## Description Cria um componente React seguindo os padrões do projeto. Use quando o usuário pedir para criar um novo componente. ## Instructions 1. Criar arquivo em /components/[NomeComponente]/ 2. Usar TypeScript com interface de Props 3. Estilizar com Tailwind (nunca CSS inline) 4. Criar arquivo de teste: [NomeComponente].test.tsx 5. Exportar no index.ts da pasta components/ ## Examples - "crie um componente de card de tarefa" - "novo componente: botão de ação"
Localização
Skills do Projeto
.claude/skills/*.md — versionadas no git, compartilhadas com o time
Skills Pessoais
~/.claude/skills/*.md — suas skills pessoais, todos os projetos
Skills da Comunidade
Repositórios open source, marketplaces — instalar e adaptar
Descoberta
Encontrar
/skills no Claude CodeInstalar
SKILL.md para .claude/skills//install-skill [url]Criação
Passo 1: Identifique uma tarefa que você repete com frequência
Passo 2: Escreva as instruções como se explicasse para alguém novo
Passo 3: Estruture em Description + Instructions + Examples
Passo 4: Salve em .claude/skills/nome-da-skill.md
Passo 5: Teste com /skill nome-da-skill ou linguagem natural
Passo 6: Itere — refine as instruções com base nos resultados
Dica: Peça ao próprio Claude para ajudar a escrever a skill!
Exemplo Completo
# .claude/skills/criar-apresentacao.md ## Description Cria apresentações HTML com slides interativos. Trigger: quando pedirem para criar apresentação, slides, ou deck. ## Instructions 1. Ler o template base em /apresentacoes/template.html 2. Criar ~30 slides seguindo a estrutura: título, abertura, 3 ciclos, recap, fechamento 3. Usar classes CSS do template: .glass, .grad-teal, .fragment, .anim 4. Incluir speaker notes em cada slide (div.notes) 5. Adicionar imagens Pexels como background em slides-chave 6. Atualizar contador total no JavaScript ## Examples - "crie apresentação sobre Context Engineering" - "novo deck para o Encontro 3"
1. Pensem em uma tarefa que fazem repetidamente no trabalho
2. Escrevam uma skill com Description, Instructions e Examples
3. Salvem em .claude/skills/
4. Testem: ativem a skill e vejam o resultado
Ideias: skill de relatório, skill de email padrão, skill de revisão de código, skill de deploy
1. Formem duplas
2. Mostrem ao colega o CLAUDE.md hierárquico que criaram
3. Compartilhem a skill que cada um criou
4. Discutam: que skill o colega criou que vocêtambém usaria?
1
Qual a diferença entre Prompt Engineering e Context Engineering?
2
Quando usar CLAUDE.md de pasta vs memory file?
3
Que tarefa repetitiva do seu trabalho viraria uma boa skill?
Fechamento
Context Engineering ≠ Prompt Engineering — é muito mais abrangente
6 componentes: system prompts, tools, RAG, memory, state, structured data
CLAUDE.md hierárquico = system prompt persistente do agente
Skills = habilidades reutilizáveis que escalam seu trabalho
Próximo Encontro
Se hoje aprenderam a alimentar UM agente, da próxima vez vão aprender a orquestrar MÚLTIPLOS agentes trabalhando juntos.
Tarefa: Refinem o CLAUDE.md e criem pelo menos 2 skills para o projeto de vocês.
Testem em sessões diferentes e observem: o agente manteve o contexto?
Curso 3: Desenvolvimento Agêntico
Rodrigo Pinto
Método Tempo para o que Importa