Comece do zero em IA: o que é um modelo, como ele aprende e como produz uma resposta. Depois, descubra como orientar um agente a trabalhar no seu projeto e conferir o resultado, com exemplos simples de cadastro de produtos.
Na sala, deixe assim e acompanhe a voz do professor. Animações, jogos e legendas continuam funcionando.
Pense num assistente que ajuda a escrever e revisar um cadastro de produtos. Ele recebe seu pedido, produz uma resposta e pode usar ferramentas para trabalhar nos arquivos. Vamos entender cada peça antes de pedir que ele faça algo sozinho.
Agente é o sistema que combina modelo, ferramentas e um ciclo de ações. Projeto é o conjunto de arquivos do programa; quando esses arquivos estão organizados com histórico de versões, você também ouvirá “repositório”.
Nos exemplos, o preço é um inteiro em centavos: 1000 significa R$ 10,00. Negativos serão recusados; zero será permitido. Teste é uma verificação: escolher uma entrada e comparar o resultado com o que esperamos.
O aplicativo é a interface onde você conversa; o modelo é o sistema que produz a resposta. Uma interface pode oferecer modelos diferentes. Antes de você fazer uma pergunta, existe uma fase de treinamento. O modelo pratica com exemplos e um algoritmo ajusta seus cálculos. Depois, durante o uso, ele recebe sua mensagem e produz uma resposta. Vamos separar as duas situações.
O caminhão representa uma família; os livros representam exemplos de treinamento. As dimensões não medem parâmetros, dados de treinamento, memória ou desempenho. Não representam “toda a internet”.
Aprender com exemplos: o algoritmo modifica parâmetros, números internos que influenciam o comportamento do modelo.
Produzir uma resposta com o modelo já treinado e com as informações disponíveis naquela interação.
Buscar um arquivo ou uma página por uma ferramenta. Ter essa informação no contexto não é a mesma coisa que treinar novamente o modelo.
A Anthropic descreve pré-treinamento com dados diversos e ajustes posteriores para o comportamento de assistente. A mistura de dados e os métodos dependem da versão. Isso não significa acesso a toda informação existente. Relatórios de treinamento ↗
Famílias consultadas: Haiku, Sonnet, Opus e Fable. Os rótulos resumem propostas de uso; não garantem acerto nem uma ordem universal de capacidade.
Não. Treinar ajusta o modelo. Responder usa o modelo com o contexto atual. Um documento recém-lido pode ajudar na resposta sem se tornar uma nova lembrança permanente nos parâmetros.
O cadastro ganhou mensagens de atendimento: “quero saber o preço” e “não consigo salvar”. Você quer classificá-las como DÚVIDA ou PROBLEMA. Primeiro pode tentar instruções claras e alguns exemplos no pedido. Se isso não atender ao objetivo, uma opção a avaliar é o fine-tuning, ou ajuste fino.
Fine-tuning é treinamento adicional de um modelo já treinado, com exemplos selecionados. Ele ajusta parâmetros do modelo ou parâmetros adicionais, conforme a técnica. Não é simplesmente anexar um documento a uma conversa.
Comparação ilustrativa. Nenhum modelo é treinado aqui; resultados não são medições de um provedor.
Treinar exige exemplos de qualidade e avaliação em dados separados. Não presuma que melhora qualquer tarefa. Informação que muda diariamente, como preço ou estoque, pede uma fonte atualizada; a consulta pode ser usada com um modelo ajustado também. Referência sobre ajuste de modelos ↗
ChatGPT, Claude, Gemini: por trás de todos há um LLM (Large Language Model, ou grande modelo de linguagem) fazendo uma geração de texto passo a passo: dado o contexto (as informações disponíveis nesta interação) e o que já foi escrito, o modelo calcula possibilidades para o próximo token. Um token é um pedaço de texto: pode ser uma palavra, parte dela, um espaço ou sinal de pontuação. O sistema escolhe um, acrescenta à resposta e repete o processo.
Pense num recurso de completar texto automaticamente, o autocomplete que considera a conversa inteira disponível. Na animação, acompanhe a pergunta de Lia, o balão de Beto e a bancada da LLM. Depois mude o contexto e veja por que uma continuação plausível não é garantia de verdade.
Lia pergunta. Beto responde. Abra os bastidores do autocomplete.
Teatro didático: Beto representa a resposta do modelo. Os percentuais e as divisões em pedaços são ilustrativos, não uma medição real. Tokens podem ser palavras, partes de palavras, espaços ou pontuação. A escolha pode usar amostragem: nem sempre vence o mais provável.
Para o nosso uso, a pergunta certa é outra: ele produz texto plausível. Prever muito bem exige capturar padrões de linguagem e código (gramática, lógica, estilo e formas comuns de programar), então o resultado muitas vezes funciona como raciocínio. O que importa nesta aula é conseguir verificar os passos e o resultado, em vez de aceitar a aparência de uma explicação. Uma resposta plausível pode estar correta ou não; a aparência do texto, sozinha, não distingue os dois casos.
Consequência prática para quem revisa: o código do agente vem com a cara de quem sabe o que está fazendo, mesmo quando não sabe. Você não pode usar a confiança do texto como sinal de qualidade. Só o critério (a spec, o teste, o padrão do projeto) serve de sinal.
Vocês assumem o controle da geração: leiam o contexto, apliquem a regra da rodada e confirmem uma escolha. Só depois o mecanismo é revelado.
10 pontos por decisão correta, sem bônus de velocidade. Distribuições, bilhetes e divisões em pedaços são didáticos, não medições de uma LLM real. Cada dupla joga neste navegador. O placar é local à partida, sem sincronização entre dispositivos; ao recarregar, começa de novo.
Você combinou que o cadastro recusaria preços negativos. O agente seguiu a regra, ajudou em outras tarefas e, muito depois, entregou uma versão que aceita um produto com preço de -500 centavos. Sua primeira reação é: “ele esqueceu”. Antes de repetir a instrução em letras maiúsculas, investigue: a regra ainda estava disponível? Havia outra instrução contradizendo? Ou ela estava presente e mesmo assim foi descumprida?
Agora imagine outro erro: ele sugere um método que não existe na classe do projeto. O contexto pode estar curto, organizado e completo — e a sugestão ainda assim ser inventada. Os dois problemas se parecem na tela, mas pedem diagnósticos diferentes. Vamos abrir os bastidores.
Uma regra perdida, um resgate e um método suspeito.
Diff significa a comparação do código antes e depois da alteração. Encenação: a mesa representa o contexto disponível nesta etapa. As oito unidades do medidor são ilustrativas, não tokens reais. O resumo que perde uma regra é um cenário possível, não o comportamento obrigatório de todo agente. As falas também estão escritas nos balões.
O modelo traz padrões aprendidos no treinamento. Para responder agora, ele também usa o conteúdo fornecido na interação. No agente, essa entrada pode incluir instruções, mensagens e resultados de ferramentas. Ter um arquivo no projeto não significa que seu conteúdo já esteja no contexto. Ler o arquivo é uma ação; o resultado da leitura pode então alimentar a próxima resposta.
Conhecimento incorporado ao modelo durante treinamento. Não é uma consulta automática à versão atual do seu projeto.
Informação disponibilizada para esta geração: pedido, instruções, trechos da conversa, arquivos lidos e saídas de ferramentas.
Arquivos, specs e registros que continuam no disco. Podem ser consultados novamente; precisam ser encontrados e carregados.
A janela tem um limite, que varia por modelo e configuração. Não existe uma quantidade universal de mensagens ou de arquivos que “cabe”. Um log enorme pode custar mais contexto que muitas mensagens curtas. Caber também não garante que a informação seja bem utilizada.
A regra estava num arquivo que não foi lido. Peça a leitura do arquivo relevante e confira qual restrição foi identificada.
Uma sessão longa pode ser resumida ou ter partes removidas, conforme a ferramenta. Confira se o resumo reteve as decisões e os limites da tarefa.
Instruções ambíguas, conflitantes ou pouco destacadas podem atrapalhar. O modelo também pode errar mesmo com a regra clara. Revise e teste.
Compactar é trocar um histórico detalhado por uma representação menor. Pode ajudar a continuar o trabalho, mas o resumo é uma seleção. “Implementamos Produtos” não preserva “não aceitar preço negativo”. Por isso, decisões importantes merecem registro verificável fora da conversa.
Um arquivo .md guarda texto em Markdown, com marcações simples como # para títulos. A pasta .specs/ reúne as especificações das tarefas neste curso. Mais adiante, você vai criar essa pasta na IDE simulada.
Um arquivo de instruções guarda orientações gerais do projeto. No Claude Code, CLAUDE.md fornece instruções persistentes e entra no contexto.
Ele consome tokens e orienta o modelo; não é uma garantia de cumprimento.
Confirme o carregamento e mantenha as regras específicas, curtas e coerentes.
Como o Claude Code carrega instruções ↗
No nosso fluxo, convenções recorrentes ficam no arquivo de instruções usado pelo agente; o objetivo e os critérios de aceite (condições para aceitar o resultado) de uma tarefa ficam na spec. Ao retomar um trabalho, peça para ler as fontes relevantes e explicar as restrições antes de propor mudanças.
# Fontes e escopo Leia o arquivo de instruções do projeto, .specs/cadastrar-produto.md e ProdutoService.java. # Antes de alterar Liste as regras que se aplicam ao cadastro. Se houver conflito ou informação faltando, aponte. Proponha uma mudança limitada a esta tarefa. # Evidência de pronto Mostre o diff e os resultados das verificações. Explique como conferiu que um preço negativo é recusado.
Nos exemplos deste capítulo, o preço é um número inteiro em centavos: 1000 significa R$ 10,00. A regra é recusar negativos; zero é permitido. Confira três entradas: -500, 0 e 1000. Um teste com preço positivo não prova que negativos serão recusados.
Chamamos de alucinação, aqui, uma resposta que apresenta conteúdo inventado ou sem sustentação como se fosse correto. O modelo pode combinar nomes e padrões conhecidos e produzir um método, uma opção ou uma explicação convincente. Ele também pode reconhecer a incerteza: inventar não é inevitável, mas é um risco a verificar.
Imagine que a classe ProdutoService tenha apenas os métodos cadastrar e listar. O agente sugere salvarComDescontoAutomatico(). O nome soa útil, mas esse método não existe nessa classe do exemplo. Abrir o arquivo e compilar permite conferir. Se for necessário criar descontos, primeiro precisamos definir a regra.
Para ler os exemplos: método é uma operação do código; biblioteca/dependência é código pronto usado pelo projeto; compilar verifica e traduz o código Java, mas não testa todos os comportamentos. Diff é a comparação entre o código anterior e o alterado.
| O que veio errado? | Como conferir? | O que não basta? |
|---|---|---|
| Dependência ou método inventado | Documentação da versão e resolução/compilação. | O nome parecer familiar. |
| Configuração não suportada | Documentação, inicialização e comportamento observado. | A compilação passar. |
| Regra de negócio incorreta | Spec e testes com casos válidos e inválidos. | Só o caminho feliz funcionar. |
| Alteração fora do pedido | Comparar os arquivos alterados com o escopo da tarefa. | A aplicação subir. |
Consultar fontes e fornecer contexto pertinente ajuda. Ainda assim, verifique se a fonte sustenta a afirmação e se os testes medem a regra certa. Um teste gerado a partir da mesma suposição errada pode apenas repetir o erro.
O agente aceitou preço negativo. A especificação proíbe esse cadastro, mas o único teste usa preço positivo e passou. Qual é a próxima ação mais útil?
Escolha um erro do seu projeto. Registre: a tarefa, a regra que não pode ser violada, os arquivos ou trechos necessários e a evidência que confirmará a correção.
“CadastrarProduto aceita preço negativo”. Levar: spec da operação, método que cadastra o produto, teste atual e mensagem do erro. Evitar: logs de outros serviços. Verificar: teste para preço negativo, outro para zero e outro para preço positivo e diff limitado à operação. Se o agente afirmar algo sobre uma biblioteca, consultar a documentação da versão usada.
Uma entrega suspeita, cinco fontes e apenas três consultas. Montem o dossiê, escolham o diagnóstico e proponham a próxima ação.
O limite de três fontes simula tempo de revisão; não é uma janela real de tokens. Confirmou? A escolha fica fechada até terminar a partida. Cada dupla joga neste navegador. O placar é local à partida, sem sincronização entre dispositivos; ao recarregar, começa de novo.
O modelo não tem como adivinhar uma regra que só existe nos documentos da empresa. RAG significa Retrieval-Augmented Generation, ou geração aumentada por recuperação: buscar trechos relevantes, colocá-los no contexto e gerar a resposta com esse apoio.
Pense em responder uma prova consultando o material permitido. É preciso encontrar a página certa e interpretar o que ela diz. Um documento antigo pode estar bem escrito e ainda assim levar ao resultado errado.
Busca e resposta são simuladas. A dupla faz a seleção para observar o mecanismo; sistemas reais podem selecionar trechos automaticamente, com diferentes técnicas.
A busca pode falhar, recuperar material desatualizado ou não encontrar a resposta. Confira relevância, vigência e se a conclusão é sustentada pelo trecho. RAG não altera os parâmetros a cada consulta e não elimina alucinações. Referência sobre recuperação de contexto ↗
Uma resposta em texto pode sugerir um if, mas alguém ainda precisa abrir o arquivo, aplicar a mudança e testá-la. Quando a IA tem ferramentas para realizar essas ações, ela pode participar de um ciclo: agir, observar o resultado e decidir o próximo passo.
A diferença não é a aparência da tela. Uma interface de chat também pode oferecer ferramentas. O que importa aqui é o acesso disponível: apenas responder, ou também ler arquivos, editar e executar verificações.
O cadastro parece pronto. Mas o que foi realmente testado?
Encenação local: as ferramentas e saídas são ilustrativas. Nenhum Java é executado aqui. Os controles permitem pausar, repetir e avançar sem áudio. O aluno revisa o plano como combinado pedagógico da aula; permissões reais dependem da configuração do agente.
Ferramenta é um recurso que realiza uma ação e devolve o resultado. Um comando, como ./mvnw test, é uma instrução para o computador executar os testes do projeto Java com Maven. Veremos o comando no setup; aqui basta entender o que ele verifica.
Traz o conteúdo de um arquivo para a investigação. Permite conferir como o cadastro funciona hoje.
Altera o código. A alteração ainda é uma proposta que precisa de verificação.
Roda um comando e devolve uma saída: sucesso, falha, mensagem e resultados dos testes.
O agente não precisa seguir sempre a mesma sequência. Se um arquivo não existe, deve localizar o correto. Se a regra não diz se zero é permitido, precisa esclarecer. Se o teste falha, o resultado orienta a investigação.
Aqui, if significa “se”: o bloco é executado quando a condição é verdadeira. O preço usa centavos inteiros. -500 é negativo, 0 é permitido e 1000 representa R$ 10,00. Neste trecho de método Java, a verificação vem antes de salvar:
if (precoEmCentavos < 0) { return "Preço inválido"; } // Só chegamos aqui quando o preço não é negativo. produtos.add(produto); return "Produto cadastrado";
return encerra este método. produtos.add(produto) adiciona o produto à lista do exemplo. Se a condição fosse <= 0, bloquearia zero também. É por isso que testar o limite importa.
Plano: quais alterações fazer e como conferir. Permissão: quais ações a ferramenta pode executar. Revisão: se a entrega cumpre o pedido.
No exercício da aula, você revisa o plano antes da execução. Isso é um combinado do curso. Na ferramenta real, pedidos de confirmação variam conforme o modo e as permissões configuradas; não aparecem obrigatoriamente antes de toda edição.
Documentação de permissões do Claude Code ↗
“Terminei” é um relato. Para aceitar, confira qual teste rodou, o resultado e o diff — a comparação entre o código anterior e o novo. Se faltou acesso a uma ferramenta, a entrega precisa explicitar essa limitação.
Escolha o próximo passo diante de um arquivo não lido, um teste verde incompleto e uma falha. Antes de confirmar, diga à sua dupla o que espera descobrir.
Simulação local, sem executar comandos. 10 pontos por decisão. Cada dupla joga no próprio navegador; recarregar zera a partida.
Quando o modelo solicita “ler ProdutoService.java”, ele produz uma chamada de ferramenta. Outro programa precisa receber essa chamada, conferir os controles aplicáveis, encaminhar a execução e devolver o resultado para o modelo.
Esse programa ao redor do modelo é chamado de harness. Ele organiza o ciclo de execução e pode cuidar de contexto, registro de ações, limites e tratamento de falhas. É parte do sistema do agente; não é outro nome para o modelo.
Simulação: a caixa agrupa a coordenação do ciclo; não significa que o modelo é implementado dentro do mesmo processo. Nenhum arquivo é lido de verdade.
O nome pode abranger componentes diferentes em cada sistema. A ideia central aqui é separar quem produz a solicitação de quem coordena e executa a ação. Mesmo com bons controles, o conteúdo devolvido e a resposta precisam de revisão. Um exemplo de organização de harness e ferramentas ↗
Não basta uma caixa de texto. O agente precisa de informações sobre a tarefa, ferramentas para agir e critérios para conferir o resultado. Comece pelas quatro peças abaixo; abra as demais quando a situação pedir.
Convenções que se repetem: onde testar, como representar preços e como limitar alterações. São texto que orienta o trabalho; não substituem controles de acesso.
Um pequeno documento sobre esta mudança: recusar preço negativo, aceitar zero, preservar a listagem e verificar três casos. A pasta .specs/ é a convenção deste curso, não uma exigência de toda ferramenta.
Ler ProdutoService.java, editar a condição e executar os testes. Cada ação deve produzir algo observável para decidir o próximo passo.
Você examina a proposta, depois compara o resultado com a regra. Uma lista de testes sem execução ainda é um plano de verificação.
Reúna um procedimento reutilizável. Exemplo: revisar um cadastro, verificando campos obrigatórios, preço e listagem. A skill orienta; não prova que os passos foram executados.
Um teste pode verificar preços negativos. Um hook pode disparar um comando em um evento suportado pela ferramenta. Primeiro escreva uma verificação útil; depois decida onde acioná-la.
Uma ferramenta externa pode trazer dados ou documentação. MCP é um padrão de comunicação usado para integrar ferramentas. A integração precisa estar disponível e autorizada; o nome sozinho não concede acesso.
Uma parte do trabalho pode ser delegada com objetivo e contexto próprios. Sua conclusão também precisa de evidência; delegar não garante uma revisão melhor.
Selecione fontes relevantes e confira o que foi preservado. Ler um arquivo também ocupa contexto; passar o caminho ajuda a selecionar, mas não torna seu conteúdo gratuito.
“Toda vez precisamos explicar como testar”: instrução ou skill, conforme seja uma regra curta ou um procedimento. “Só este cadastro aceita zero”: spec da tarefa. “Acesso ao banco foi negado”: permissões e conexão, não uma frase mais insistente no prompt. Justifique a escolha.
MCP significa Model Context Protocol. É um padrão de comunicação entre uma aplicação de IA e servidores que disponibilizam ferramentas, informações e outros recursos. Um servidor é um programa que atende solicitações; pode estar na mesma máquina ou em outro lugar.
No nosso exemplo, a aplicação possui um cliente MCP, que se comunica com o servidor do catálogo. O servidor oferece uma ferramenta para consultar produtos. Conectar não concede automaticamente acesso a qualquer operação: permissões e configuração continuam valendo.
Conexão ilustrativa e dados fixos. Nenhum servidor MCP real ou banco de dados é acessado nesta página.
Uma ferramenta pode existir sem MCP. Uma aplicação pode usar uma ferramenta MCP para buscar documentos num fluxo de RAG, mas RAG também funciona sem MCP. O protocolo padroniza a conversa; não garante que o dado seja correto. Arquitetura oficial do MCP ↗
No nosso cadastro, o preço usa centavos, os testes têm um comando e mudanças precisam respeitar o pedido. Essas orientações podem ficar em um arquivo do projeto. A regra de uma alteração específica fica na spec dessa tarefa.
O arquivo usado depende do agente. Neste material, mantemos CLAUDE.md e AGENTS.md como pontos de entrada para as instruções. Ao usar uma ferramenta, confira quais arquivos ela carregou e qual escopo se aplica. Não suponha que qualquer arquivo do repositório foi lido.
# Cadastro de Produtos
- Use Java e Spring conforme as versões do projeto.
- Preços são inteiros em centavos: 1000 = R$ 10,00.
- Leia a spec da tarefa antes de propor mudanças.
- Use ./mvnw test para executar os testes.
- Preserve alterações existentes que não pertencem à tarefa.
- Ao concluir, mostre os arquivos alterados e as verificações.Stack é o conjunto de tecnologias do projeto, como Java e Spring. Convenção é um acordo que a equipe quer manter. Não há um número mágico de linhas. Prefira instruções relevantes, específicas e sem repetição. “Código bonito” não diz o que conferir; “não alterar a listagem nesta tarefa” é um limite observável.
Se uma instrução não foi seguida, investigue carregamento, escopo, conflitos e a implementação. Reescrever a frase pode ajudar, mas o erro não prova que ela estava mal escrita.
Como o Claude Code carrega instruções ↗
Escolha o destino de cada cartão. Instruções gerais, spec desta tarefa, documentação de referência ou configuração segura de credenciais?
Uma API permite que programas se comuniquem. Uma chave de API é uma credencial de acesso; seu valor não deve entrar nas instruções do projeto.
Você pode encontrar agentes no terminal, no editor ou em uma interface de conversa. Para acompanhar o curso, procure um fluxo que permita ler o projeto, propor mudanças, executar verificações e revisar o diff.
Consegue trabalhar no projeto usado pela turma e mostrar os arquivos alterados?
Você entende quais ações estão permitidas e como interromper ou limitar uma tarefa?
É possível distinguir o que foi proposto do que foi executado e verificar os resultados?
Em aula, compare ferramentas com a mesma tarefa curta: recusar um preço negativo sem mudar a listagem. Observe leitura do contexto, clareza do plano, tamanho do diff e testes executados. Não conclua que uma ferramenta é sempre melhor a partir de uma única tentativa.
Uma especificação descreve o resultado esperado e como verificar. Spec é a abreviação em inglês. Pode começar com poucas linhas: objetivo, regras e exemplos que mostrem quando deu certo.
SDD significa Spec-Driven Development: desenvolvimento orientado por especificações. Neste curso, escrevemos e revisamos o combinado antes da implementação, e depois usamos o documento para conferir o resultado.
.specs/ é a pasta escolhida para organizar esses textos. A barra final indica pasta; o ponto faz parte do nome. Não é um comando, não instala uma biblioteca e não faz o agente ler automaticamente. cadastrar-produto.md será um arquivo dentro dela. Markdown é texto simples com marcações: # indica um título.
Você dirige os próximos passos. A IDE e o chat abaixo são simulados, sem conexão com uma IA e sem acesso aos arquivos do seu computador. Escolhas incorretas explicam o problema e permitem tentar de novo.
Você pode reformular o pedido. Este exercício sempre usa o cadastro de produtos: negativo é recusado e zero é permitido.
Na árvore, src/ representa a pasta do código; pom.xml é o arquivo de configuração do projeto Maven. O botão de voz lê a explicação deste passo. O avanço acontece pelas suas decisões no mini chat. Recomeçar limpa somente esta simulação.
Beto quer aceitar mais produtos. Lia quer impedir preços inválidos. Sem esclarecer, a mesma frase pode levar a mudanças opostas. A spec registra o combinado e torna a revisão possível.
SDD, neste curso, é trabalhar a partir de uma especificação: descrever o comportamento esperado, propor um plano, executar e revisar o resultado. O documento ajuda a orientar; não garante que a implementação esteja correta.
Zero é permitido? Sim. Negativo? Não. Listagem muda? Não.
Ler o cadastro; adicionar a verificação antes de salvar; testar três valores.
Comparar a condição, os casos executados e os arquivos alterados com a spec.
# Contexto Existe um cadastro e uma lista de produtos. O preço é um número inteiro em centavos. # Tarefa Recusar preço negativo antes de salvar o produto. # Regras e limites Zero é permitido. Preço positivo também. Não alterar a listagem nem adicionar bibliotecas. # Evidência de pronto Testar -500, 0 e 1000 centavos. Conferir que o produto recusado não entrou na lista. Mostrar o diff e o resultado dos testes.
1. Ler o método de cadastro e os testes existentes. 2. Adicionar a condição antes de salvar. 3. Testar os três valores e observar a lista após a recusa. 4. Executar os testes existentes e revisar o diff. Se a implementação real exigir outro arquivo, explicar por quê antes de ampliar o escopo.
A spec acima vale para esta entrega. Clique nos trechos que violam o combinado. Os trechos representam alterações em métodos existentes; não são um programa Java completo.
Em cada incidente, discuta: qual é o problema, qual evidência sustenta o diagnóstico e qual é a menor correção útil?
A resposta usa salvarComDescontoAutomatico(), mas esse método não existe no arquivo consultado.
Confira a classe e a mensagem do compilador. Use o método existente adequado ou esclareça a nova regra antes de criar outro.
Você pediu recusar preço negativo; a entrega também reescreveu a listagem e mudou o visual.
Compare o diff com o escopo. Remova apenas as mudanças indevidas desta tarefa, preservando o trabalho anterior. Evite mandar “desfazer tudo” sem identificar o que será perdido.
O teste com 1000 passou. Ninguém tentou -500 ou zero.
Adicione os casos que faltam e observe se o produto recusado fica fora da lista. O sucesso só sustenta o que foi verificado.
O cadastro funciona, mas você não sabe explicar por que existe um return antes de salvar.
Percorra o método com três entradas. O return encerra o método; no caso negativo, a linha que salva não deve ser executada.
A regra de preço estava combinada, mas a entrega aceita negativos.
Não conclua automaticamente que “a mesa encheu”. Confira se a regra foi carregada, preservada e seguida. Corrija com base na evidência.
Ao longo do curso você desenha o que está construindo, antes e depois de pedir ao agente. Use o cadastro de produto como história: desenhe o
agente no centro, as ferramentas que ele usa no seu projeto (ler, editar, rodar) e o que alimenta a mesa dele
(CLAUDE.md, a spec, a conversa). Use a paleta SDD; ligue puxando o ● de um nó até o outro; dê
rótulo às setas com duplo clique. Fica salvo neste navegador e aparece na Prancheta do curso.
| Peça | O que faz? | No nosso exemplo |
|---|---|---|
| Harness | Coordena o ciclo e as ferramentas. | Encaminha a leitura e devolve o arquivo ao modelo. |
| MCP | Padroniza uma conexão. | Aplicação consulta a ferramenta do catálogo. |
| RAG | Busca fontes para alimentar a resposta. | Preço e regulamento entram no contexto. |
| Fine-tuning | Ajusta o modelo por treinamento adicional. | Exemplos de classificação orientam um ajuste. |
Essas peças podem trabalhar juntas. Não são quatro nomes para a mesma coisa nem quatro alternativas que se excluem.