Acerte 100% do quiz para continuar
Básico da engenharia de IA
Entenda LLMs, tools, prompts, skills, agentes, modos de agente, janelas de contexto, consumo de tokens e alucinações.
Antes de deixarmos a IA escrever uma única linha de código Cypress, precisamos entender os fundamentos de como essas ferramentas funcionam. Conhecer o básico da engenharia de IA é o que separa resultados frustrantes e imprevisíveis de resultados rápidos e de alta qualidade.
Esta aula é gratuita - ela é a base sobre a qual todo o resto do curso se apoia.
O que é um LLM?
Um LLM (Large Language Model, ou Grande Modelo de Linguagem) é um modelo de IA treinado em enormes quantidades de texto (e código) que prevê a continuação mais provável da entrada que recebe. Ferramentas como o Claude, usado pelo Claude Code, são movidas por LLMs.
👨🏫 Um LLM não "conhece" o seu projeto. Ele só conhece o que você coloca diante dele - o seu prompt, os seus arquivos e a conversa que você tem com ele.
Prompts
Um prompt é a instrução que você dá ao modelo. Quanto mais claro e específico for o seu prompt, melhor será o resultado.
Um bom prompt para testes normalmente inclui:
- Contexto - qual aplicação, qual comportamento, qual arquivo.
- Objetivo - o que você quer (por exemplo, "escreva um teste E2E para o fluxo de login").
- Restrições - estratégia de seletores, estilo, versão do framework.
👨🏫 Compare "escreva um teste" com "escreva um teste E2E de Cypress que visita a aplicação de exemplo, preenche o formulário, o envia e faz asserção da mensagem de sucesso - use seletores data-testid." O segundo prompt produz resultados muito melhores do que o primeiro.Ferramentas (tools)
Assistentes de IA modernos podem usar tools (ferramentas) - ações que o modelo pode executar além de gerar texto, como ler arquivos, executar comandos ou pesquisar na web. É isso que transforma um chatbot em um agente de código.
Agentes e modos de agente
Um agente é um assistente de IA capaz de planejar e executar múltiplos passos - lendo arquivos, editando código, rodando testes - para realizar uma tarefa de forma autônoma.
A maioria das ferramentas de código com IA expõe diferentes modos de agente que restringem como o assistente se comporta:
- Ask - o assistente responde perguntas e explica, sem editar arquivos.
- Plan - o assistente pesquisa e propõe um plano passo a passo para a sua aprovação antes de fazer mudanças.
- Edit - o assistente faz mudanças no código diretamente (muitas vezes com a sua aprovação por mudança).
👨🏫 Use o modo plan para trabalhos não triviais, para que você possa revisar a abordagem antes de qualquer código ser escrito, e o modo ask quando você quiser apenas uma explicação. Reserve o modo edit para quando você estiver confiante sobre a mudança.
Skills
Uma skill é um conjunto reutilizável e empacotado de instruções e conhecimento que especializa o assistente para uma tarefa. As skills oficiais do Cypress (cypress-author, cypress-explain, cypress-docs) são exatamente isso - elas tornam o assistente muito melhor no trabalho com Cypress. Você vai instalá-las e usá-las nas próximas aulas.
👨🏫 Skills também são eficientes em tokens. O assistente carrega apenas um pequeno trecho de metadados (um nome e uma descrição) para cada skill instalada de antemão, e lê o arquivo completo da skill sob demanda - apenas quando a tarefa realmente exige. Dessa forma, muitas skills podem estar disponíveis sem lotar a janela de contexto.
Alucinações
LLMs podem gerar saídas que soam confiantes e plausíveis, mas que estão factualmente erradas. Isso é chamado de alucinação - o modelo inventa seletores que não existem, referencia métodos de API que não são reais ou descreve comportamentos que a aplicação não tem.
👨🏫 Isso não é um bug que você conserta reformulando o prompt. É uma propriedade fundamental de como os LLMs funcionam. A única salvaguarda confiável é sempre executar o código gerado e revisá-lo criticamente antes de fazer commit.
No contexto da automação de testes, um teste alucinado é aquele que passa pela razão errada ou falha porque mira em elementos que não existem. Skills como o cypress-author reduzem as alucinações ao embasar o assistente em conhecimento específico do Cypress, mas não as eliminam por completo - a sua revisão é sempre a última linha de defesa.
Alucinações também se tornam mais prováveis quando a janela de contexto (abordada logo abaixo) se enche. À medida que uma conversa fica longa e informações antigas são resumidas ou descartadas, o modelo perde o controle dos detalhes e começa a preencher as lacunas com invenções que soam plausíveis. Manter as conversas focadas e começar do zero para tarefas não relacionadas ajuda a reduzir esse risco.
Janela de contexto (context window)
A janela de contexto é a quantidade máxima de informação - medida em tokens - que o modelo consegue considerar de uma só vez. Ela inclui o seu prompt, os arquivos que você compartilha e o histórico da conversa.
👨🏫 Quando a janela de contexto se enche, informações antigas podem ser resumidas ou descartadas. Mantenha as conversas focadas e comece do zero para tarefas não relacionadas.
Consumo de tokens
Tokens são os pedaços de texto que o modelo lê e gera (aproximadamente fragmentos de palavras). Tanto a sua entrada quanto a saída do modelo consomem tokens, o que determina o custo e conta contra a janela de contexto.
👨🏫 Compartilhar um repositório inteiro quando você só precisa de um arquivo desperdiça tokens e dilui o foco do modelo. Seja deliberado sobre o que você inclui.
É também por isso que as skills são projetadas para serem eficientes em tokens. Em vez de carregar as instruções completas de cada skill no contexto, o assistente mantém em contexto apenas um pequeno trecho de metadados - o nome e a descrição da skill - para cada skill instalada. Ele lê o arquivo completo da skill somente sob demanda, quando a tarefa em questão realmente exige. Isso mantém a janela de contexto livre para o trabalho que importa, mesmo quando muitas skills estão instaladas.
Conteúdo sugerido 📚 e links da documentação 🔗
- Introducing Claude Code
- Prompt engineering overview - Anthropic docs
- Cypress AI toolkit
- 75% Less Cypress Bloat in Your Agent's Context Window
Exercício 🎯
Escolha qualquer ferramenta de código com IA à qual você tenha acesso (Claude Code, Cursor ou GitHub Copilot) e pratique a diferença que um bom prompt faz.
- Peça a ela um prompt vago: "escreva um teste Cypress".
- Depois peça um específico: "escreva um teste E2E de Cypress que visita
https://tat-csc.s3.sa-east-1.amazonaws.com/index.htmle faz asserção de que a página carregou com sucesso - use seletores resilientes e o padrão AAA". - Compare as duas saídas e observe a diferença.
👨🏫 Experimente também alternar entre os modos ask, plan e edit para a mesma solicitação e observe como o comportamento do assistente muda.
O prompt específico deve produzir um teste executável com uma estruturadescribe/itclara e uma asserção significativa, enquanto o vago provavelmente vai chutar como a aplicação funciona.
Mostre ao mundo o que você aprendeu 🌎
Para mostrar à sua rede profissional o que você aprendeu nesta aula, publique o seguinte no LinkedIn.
Comecei o curso "Testes com Cypress na Era da IA" com @Walmyr Lima e Silva Filho na @Talking About Testing School, onde aprendi o básico da engenharia de IA para automação de testes - LLMs, prompts, tools, agentes, modos de agente, skills, janelas de contexto, consumo de tokens e alucinações. #TalkingAboutTesting #TATSchool #CypressTestingInTheAIEra #Cypress #AI
👨🏫 Lembre-se de me marcar na sua publicação. Aqui está o meu perfil no LinkedIn.
Quiz
O que significa a sigla LLM?
Acerte 100% do quiz para continuar