2

Estrutura

Semana 2 D3 Claude Code D4 Prompt Engineering

O CLAUDE.md e o arquivo de configuracao central do Claude Code. Ele define regras, convencoes e contexto que o modelo segue durante toda a sessao.

A hierarquia de configuracao segue tres niveis:

  • User-level~/.claude/CLAUDE.md — Preferencias pessoais que se aplicam a todos os projetos
  • Projeto.claude/CLAUDE.md ou raiz do projeto — Convencoes compartilhadas com o time
  • Diretorio — CLAUDE.md em subdiretorios — Regras especificas por contexto

Modularizacao

Use @import para referenciar outros arquivos de configuracao. Para regras por topico, use .claude/rules/ com arquivos separados. O comando /memory adiciona notas persistentes.

Regras path-specific usam frontmatter YAML com campo paths em arquivos dentro de .claude/rules/. Isso permite carregar convencoes condicionalmente — por exemplo, regras de Terraform so quando editando arquivos terraform/**/*.

Commands sao slash commands personalizados que automatizam tarefas repetitivas:

  • Projeto.claude/commands/ — Versionados no repositorio, compartilhados com o time
  • Pessoal~/.claude/commands/ — Atalhos individuais, nao versionados

Skills sao uma evolucao dos commands, definidos em .claude/skills/ com um arquivo SKILL.md. O frontmatter suporta configuracoes avancadas:

  • context: fork — Executa a skill em um fork isolado da sessao, sem poluir o contexto principal
  • allowed-tools — Restringe quais ferramentas a skill pode usar
  • argument-hint — Texto que aparece como dica para o usuario sobre qual parametro fornecer

Para o Exame

Questoes sobre commands compartilhados: .claude/commands/ (versionado). Questoes sobre isolamento: context: fork.

Few-shot prompting e a tecnica mais eficaz quando instrucoes detalhadas falham em produzir consistencia. A regra de ouro: exemplos superam instrucoes.

  • Use 2-4 exemplos direcionados que cobrem casos ambiguos
  • Inclua o raciocinio por tras de cada exemplo, nao apenas input/output
  • Exemplos demonstram julgamento que instrucoes nao conseguem capturar
  • Reduzem alucinacao em tarefas de extracao

Para saida estruturada, tool_use com JSON schemas e o metodo mais confiavel:

  • tool_choice: "auto" — Modelo pode retornar texto ou chamar tool
  • tool_choice: "any" — Modelo deve chamar alguma tool (garante estrutura)
  • tool_choice: forced — Modelo deve chamar uma tool especifica
Atencao: JSON schemas eliminam erros de sintaxe, mas NAO erros semanticos. O modelo pode gerar JSON valido com dados incorretos. Validacao semantica ainda e necessaria.

Evolua o chatbot da Camada 1 para um extrator de dados que converte documentos nao estruturados em JSON.

  • Configure CLAUDE.md com regras de extracao e convencoes do projeto
  • Defina JSON schemas para os dados extraidos usando tool_use
  • Adicione 2-4 exemplos few-shot para casos ambiguos
  • Use tool_choice: "any" para garantir saida estruturada
  • Trate campos opcionais/nullable para dados ausentes

Evolucao do Projeto

O chatbot da Camada 1 agora tem estrutura: configuracao via CLAUDE.md, saida previsivel via schemas, e consistencia via few-shot. Na Camada 3, voce adicionara validacao e confiabilidade.

Proxima camada

Camada 3 — Confiabilidade: Hooks deterministicos, validacao com retry, erros estruturados e gerenciamento de contexto.

Camada 3