Anthropic · Lançado em março 2026

Preparação CCA-F
pelo que você já constrói

Guia de estudo completo + simulado interativo. Cada conceito conectado a uma implementação real no Kit Sênior.

60
Questões de cenário
120
Minutos · ProctorFree
720
Nota de corte / 1000
$99
USD · grátis para parceiros
Sua cobertura estimada
846/1000
✓ Acima do corte estimado
Breakdown por domínio
D1 · Agentic Arch
85%
D2 · Tool Design & MCP
90%
D3 · Claude Code
95%
D4 · Prompt Engineering
70%
D5 · Context Management
80%
27%
D1 — Arquitetura e Orquestração de Agentes
O domínio mais pesado. Foco em loop agêntico, hub-and-spoke e subagentes.
Loop Agêntico
O modelo não apenas responde — ele executa ações em sequência até stop_reason == "end_turn". Anti-padrão: usar limite de iterações como condição primária de parada.
→ Kit Sênior: Process.sequential nos 5 crews
Hub-and-Spoke
Coordenador decompe a tarefa e delega para subagentes especializados. Subagentes têm contexto isolado — todo contexto deve ser passado explicitamente.
→ Kit Sênior: Architecture Review (4 agentes sequenciais)
Ferramenta Task
Subagentes são spawnados via a ferramenta Task. O coordenador pode chamar múltiplas Tasks numa resposta — rodam em paralelo.
→ Kit Sênior: Spec Analyzer → Architecture Review pipeline
AgentDefinition
allowed_tools define o princípio do menor privilégio — cada agente só acessa o que precisa. system_prompt define papel e restrições.
→ Kit Sênior: cada crew tem role + backstory + goal específicos
Regra crítica para o exame: o único sinal confiável de conclusão de um loop agêntico é stop_reason == "end_turn". Parsear texto do assistente ou usar limite de iterações são anti-padrões.
# ✓ Correto: parar apenas em end_turn while True: response = client.messages.create(...) if response.stop_reason == "end_turn": break elif response.stop_reason == "tool_use": result = execute_tool(response) messages.append(tool_result(result)) # ✗ Anti-padrão: limite arbitrário de iterações for i in range(5): # ERRADO response = client.messages.create(...)
18%
D2 — Design de Ferramentas e Integração MCP
Como o modelo escolhe ferramentas e como projetar descrições eficazes.
tool_choice
auto: modelo decide. any: deve chamar alguma ferramenta (garante saída estruturada). tool+name: força ferramenta específica (ordem de execução).
→ Kit Sênior: PatternLookupTool, SOLIDChecker, CAPAdvisor
Descrição de Ferramenta
A descrição é o principal mecanismo de seleção. Inclua: o que retorna, formatos de entrada, casos de borda, quando usar vs alternativas similares.
→ Kit Sênior: 7 tools MCP com descriptions explícitas
MCP Resources vs Tools
Tools executam ações. Resources fornecem dados de contexto (schemas, documentação, catálogos). Resources evitam chamadas exploratórias desnecessárias.
→ Kit Sênior: resource adr://store no server.py
isError no MCP
Erros MCP devem usar isError: true com errorCategory, isRetryable e mensagem descritiva. Erro genérico ("Operation failed") é anti-padrão.
→ Kit Sênior: .mcp.json + SSE transport + stdio
Anti-padrão: ferramentas com descrições idênticas ou sobrepostas fazem o modelo escolher aleatoriamente. Sempre diferencie o escopo de cada ferramenta na description.
✗ Anti-padrão
{ "name": "analyze_content", "description": "Analyzes content" } { "name": "analyze_document", "description": "Analyzes content" } // Modelo vai confundir as duas
✓ Correto
{ "name": "kit_solid_check", "description": "Analisa código Python via AST para violações SRP/OCP/ISP. Input: código fonte Python. Use para review de classes." }
20%
D3 — Configuração e Fluxos de Trabalho do Claude Code
Hierarquia CLAUDE.md, slash commands, skills e hooks.
Hierarquia CLAUDE.md
Nível usuário (~/.claude/CLAUDE.md): pessoal, não compartilhado. Nível projeto (.claude/CLAUDE.md): todos os devs. Nível diretório: convenções locais.
→ Kit Sênior: 5 CLAUDE.md hierárquicos implementados
Sintaxe @path
CLAUDE.md pode importar outros arquivos com @./path/to/file.md. Profundidade máxima: 5 níveis. Caminhos relativos ao arquivo que contém o import.
→ Kit Sênior: imports modulares entre CLAUDE.md
.claude/rules/ com paths
Regras com frontmatter paths: ["**/*.test.ts"] são carregadas apenas quando o arquivo editado casa com o padrão. Economiza contexto.
→ Kit Sênior: regras por tipo de arquivo nos serviços
Skills + context: fork
context: fork roda a skill em subagente isolado — saída verbosa não polui a sessão principal. allowed-tools restringe acesso por princípio do menor privilégio.
→ Kit Sênior: 9 slash commands /kit-* implementados
Erro comum no exame: novo membro do time não recebe instruções do projeto porque foram colocadas em ~/.claude/CLAUDE.md (pessoal) em vez de .claude/CLAUDE.md (projeto, gerenciado em VCS).
20%
D4 — Engenharia de Prompts e Saída Estruturada
JSON schemas, tool_use para saída estruturada, campos nuláveis e enums.
tool_use para Saída Estruturada
Usar tool_use + JSON schema é a forma mais confiável de obter JSON válido. Garante sintaxe correta — não garante correção semântica.
→ Kit Sênior: Pydantic schemas em todos os endpoints FastAPI
Campos Nuláveis
Use "type": ["string", "null"] para campos opcionais. Campos obrigatórios empurram o modelo a alucinar quando dados estão ausentes.
→ Kit Sênior: result e error nullable no modelo Job
Enum + "other"
Sempre adicione "other" + campo de detalhe em enums. Adicione "unclear" para quando o modelo não tem confiança suficiente para categorizar.
→ Kit Sênior: status enum no Job model (pending/running/completed/failed)
System Prompt
Passado separadamente do array messages. Tem prioridade sobre mensagens do usuário. Pode criar associações não intencionais com ferramentas se mal escrito.
→ Kit Sênior: role + backstory + goal por agente nos crews
// Schema com boas práticas D4 { "properties": { "category": { "type": "string", "enum": ["bug", "feature", "unclear", "other"] }, "category_detail": { "type": ["string", "null"], // nullable! "description": "Details if category = other/unclear" }, "confidence": { "type": "number", "minimum": 0, "maximum": 1 } }, "required": ["category"] // só campos sempre disponíveis }
15%
D5 — Gerenciamento de Contexto e Confiabilidade
Janela de contexto, hooks para regras críticas, tratamento de erros.
Lost-in-the-Middle
Modelos processam início e fim do contexto com mais fidelidade. Informação no meio pode ser perdida. Posicione dados críticos no início ou fim do prompt.
→ Kit Sênior: RAG Engineer crew audita HAL-004 (lost-in-middle)
Hooks vs Prompts
Hooks são determinísticos (100%). Instruções no prompt são probabilísticas (~90%). Para regras de negócio críticas (financeiro, compliance): sempre use hooks.
→ Kit Sênior: before_kickoff + after_kickoff hooks nos crews
Acúmulo de Contexto
Cada chamada de ferramenta acrescenta ao contexto. Filtre resultados volumosos antes de retornar ao modelo — só os campos relevantes.
→ Kit Sênior: RAG MMR λ=0.7 filtra resultados redundantes
isRetryable
Erros MCP devem indicar se são retriáveis. Erros transientes (timeout): retry. Erros de dados (cliente não existe): não retry — escalar para humano.
→ Kit Sênior: HallucinationAuditTool categoriza HAL-001..006
AtributoHooksInstruções no Prompt
GarantiaDeterminística 100%Probabilística ~90%
Quando usarRegras críticas, financeiro, compliancePreferências, recomendações, formatação
ExemploBloquear reembolso > R$500"Tente resolver antes de escalar"
Guia de referência completo em português: Material curado pela equipe Ravn com todos os cenários e conceitos do exame. Acessar guia Ravn →
0 / 20
Score: 0
🎓
Como acessar o exame CCA-F
O exame é exclusivo para funcionários de empresas parceiras da Anthropic. O Claude Partner Network é gratuito para entrar. Os primeiros 5.000 funcionários de empresas parceiras recebem o exame sem custo ($99 USD depois). Pré-requisito recomendado: 6 meses de experiência prática com a API do Claude e Claude Code.
Solicitar acesso ao exame → Claude Partner Network Guia de estudo (PT)
Como usar o Kit Sênior para preparar o exame
01
Rode análises reais
Cada crew que você executa é uma implementação dos conceitos do exame — agentes, tools, MCP, RAG. Use sistemas do seu dia a dia como input.
02
Estude o código fonte
Os 5 crews em services/api/app/crews/, o MCP server em services/mcp/server.py, os CLAUDE.md hierárquicos — cada arquivo é um conceito do exame implementado.
03
Faça o simulado acima
20 questões no estilo do exame real, cobrindo os 5 domínios com os pesos corretos. Estude as explicações de cada questão.
04
Estenda o MCP server
D2 (18%): adicione uma nova tool ao server.py, registre no .mcp.json, teste no Claude Code. Isso cobre tool boundaries, annotations e SSE transport.
05
Escreva seus CLAUDE.md
D3 (20%): o exame testa hierarquia de CLAUDE.md e slash commands. O Kit Sênior tem 5 CLAUDE.md e 9 slash commands como exemplo vivo.