Fundamentos
Claude e o modelo de linguagem da Anthropic. Para o exame CCA, o foco nao esta nas capacidades genericas do modelo, mas em como usa-lo como motor de um sistema agentico.
A interacao basica com a API segue um padrao simples: voce envia uma mensagem e recebe uma resposta. Mas o verdadeiro poder aparece quando o modelo pode usar ferramentas para interagir com o mundo externo.
Conceito Central
A API do Claude retorna um stop_reason que indica se o modelo terminou (end_turn) ou se quer usar uma ferramenta (tool_use). Esta e a base de todo sistema agentico.
O modelo foi projetado para tomar decisoes sobre quais ferramentas usar e quando. Isso e chamado de model-driven decision-making — o modelo escolhe as ferramentas, nao uma arvore de decisoes pre-configurada.
O loop agentico e o conceito mais fundamental para o exame. Ele funciona assim:
- Enviar request — Voce envia a mensagem do usuario (com historico e definicoes de tools) para a API
- Inspecionar stop_reason — Se
tool_use, o modelo quer executar uma ferramenta. Seend_turn, o modelo terminou. - Executar tools — Voce executa a ferramenta solicitada no seu ambiente
- Retornar resultados — Os resultados da ferramenta sao adicionados ao historico da conversa para o proximo passo de raciocinio
O loop continua ate o modelo retornar end_turn. O modelo decide autonomamente quantas iteracoes sao necessarias.
Para o Exame
Sempre que uma questao perguntar "como o agente sabe quando parar", a resposta correta envolve stop_reason, nunca parsing de texto ou limites arbitrarios.
As descricoes das ferramentas sao o mecanismo primario pelo qual o modelo seleciona qual ferramenta usar. Isso e crucial para o exame.
Uma boa descricao de ferramenta deve incluir:
- Formatos de input — Que tipo de dados a ferramenta aceita
- Exemplos de uso — Queries tipicas que a ferramenta responde
- Edge cases — Situacoes limites e como a ferramenta se comporta
- Limites e boundaries — O que a ferramenta NAO faz
Quando o numero de ferramentas aumenta (ex: 18 vs 4-5), a confiabilidade da selecao cai drasticamente. Prefira poucos tools bem definidos.
Neste projeto, voce constroi um chatbot que consulta uma API externa usando uma ferramenta. O objetivo e praticar todos os fundamentos:
- Definir uma ferramenta com descricao clara e parametros tipados
- Implementar o loop agentico completo (enviar, inspecionar, executar, retornar)
- Deixar o modelo decidir quando usar a ferramenta (model-driven)
- Manter o historico da conversa entre iteracoes
Criterio de Sucesso
O chatbot deve funcionar sem nenhuma logica condicional para decidir quando usar a ferramenta. O modelo faz essa decisao sozinho via stop_reason = tool_use.
Este chatbot sera a base para os projetos das proximas camadas. Na Camada 2, voce adicionara saida estruturada e configuracao com CLAUDE.md.