Onde a tela falha (login, captcha, conteúdo dinâmico) e quando o humano assume
Há telas em que o agente não deve seguir: login, verificação humana e o botão que confirma uma ação. E há uma em que ele erra sem perceber: o conteúdo que chega depois. Nesta aula a bateria de limites passa por esses quatro casos no site do kit, e você vê o agente parar com o motivo exato em vez de inventar.
1Conteúdo dinâmico: esperar a prova, não o relógio
2Login: o agente não digita senha
3Verificação humana: feita para a pessoa
4Confirmação: quem decide é a pessoa
Objetivo: reconhecer onde a tela falha (dinâmico, login, verificação, confirmação) e fazer o agente parar e chamar a pessoa.
01 · Quatro telas, duas respostas
Clique em cada bloco.
Clique em cada bloco do diagrama para ver o que ele faz.
Um caso pede paciência; três pedem a pessoa. Em nenhum o agente deve inventar o resultado.
02 · Por que parar é o resultado certo
Três motivos, um deles com data.
1. Quem responde
Confirmar um agendamento, pagar ou enviar mensagem tem consequência para alguém. A ação é da pessoa; o agente prepara e mostra o resumo.
Na aula 4, a ferramenta WebMCP com consequência chegava ao agente com o aviso "Confirm with the user first". Na tela, o equivalente é parar no botão.
2. Injeção existe
A Anthropic escreveu em 24/11/2025 que a taxa de ataque bem-sucedido caiu para ~1% e que isso "still represents meaningful risk. No browser agent is immune". Uma página pode mandar o agente fazer o que você não pediu.
Parar antes do que tem consequência limita o estrago. Ameaça e defesa a fundo: curso 4.
3. Regra do site
Verificação humana existe para separar pessoa de robô. Um agente que a resolve está contornando uma decisão do dono do site, mesmo que consiga.
No seu próprio site, se a tarefa precisa passar da verificação, quem passa é você, e o agente continua depois.
Como o robô do kit reconheceCampo de senha visível = login; campo com rótulo de verificação ou captcha = verificação; botão Confirmar visível = confirmação. Mais de 10 ações sem prova = parada por orçamento.
03 · A bateria de limites
Quatro tarefas no site do kit: uma que termina se esperar, três que têm de parar.
Terminal · bateria de limites
cd ~/projetos/formacao-webmcp-navegador-v72/kit
node rodar-bateria.mjs limites.json; echo "saída: $?"
Terminal · a mesma, sem esperar
cd ~/projetos/formacao-webmcp-navegador-v72/kit
node rodar-bateria.mjs limites.json --espera 0; echo "saída: $?"
Exemplo do repositório
Chromium 156.0.8078.4 (Playwright) · bateria: limites.json · site: http://127.0.0.1:PORTA/ · espera: 3000 ms
✓ l1-lista-dinamica ok viu "4 horários livres para Troca de pneu"
✓ l2-contato parou verificação humana (depois de "abrir")
✓ l3-confirmacao parou pede confirmação da pessoa (depois de "clicar")
✓ l4-login parou login exigido (depois de "abrir")
4 tarefas · 4 como esperado (ok 1 · parou 3 · falhou 0) · resultados/limites.jsonl
saída: 0
l1 viu a prova depois da espera; l2, l3 e l4 pararam no sinal certo, cada uma dizendo depois de qual passo. Quatro como esperado, saída 0.
Chromium 156.0.8078.4 (Playwright) · bateria: limites.json · site: http://127.0.0.1:PORTA/ · espera: 0 ms
✗ l1-lista-dinamica falhou prova "4 horários livres para Troca de pneu" não apareceu em 0 ms
✓ l2-contato parou verificação humana (depois de "abrir")
✓ l3-confirmacao parou pede confirmação da pessoa (depois de "clicar")
✓ l4-login parou login exigido (depois de "abrir")
4 tarefas · 3 como esperado (ok 0 · parou 3 · falhou 1) · resultados/limites.jsonl
saída: 1
Com espera de 0 ms, l1 falha: a lista ainda não tinha chegado. As paradas continuam certas, porque o sinal (senha, verificação, Confirmar) já estava na tela.
04 · Prática
Os limites do kit e um do seu site. Cada exercício tem um "pronto quando".
E1 · Quatro limites
10 min
Rode os dois blocos. Para cada tarefa que parou, escreva o bloqueio bem reportado: onde parou, o que falta e o que a pessoa precisa fazer.
Pronto quando:node rodar-bateria.mjs limites.json → 4 como esperado (ok 1 · parou 3 · falhou 0) e saída: 0; com --espera 0 → falhou 1 e saída: 1.
E2 · O limite do seu site
15 min
Ache no seu site uma tela que pede a pessoa (login, verificação ou confirmação). Escreva a tarefa que chega até ela numa cópia da bateria, com "espera": "parar".
Pronto quando:node rodar-bateria.mjs limite-site.json → a sua tarefa com ✓ … parou e o motivo certo, saída: 0.
05 · Teste da aula
Pergunta 1 de 4
A tarefa l1 falhou com espera de 0 ms e passou com 3000 ms. O que isso ensina?competência
Correto
A lista chega depois do clique. Esperar pelo texto da prova, com um teto, funciona em máquina rápida e lenta; segundos fixos não.
Não é essa
A lista chega depois do clique. Esperar pelo texto da prova, com um teto, funciona em máquina rápida e lenta; segundos fixos não.Rever: A bateria de limites
Pergunta 2 de 4
O agente chegou ao resumo do agendamento com o botão Confirmar. O que faz?competência
Correto
Ação com consequência é da pessoa. O agente prepara e para; cancelar ou trocar de horário também seria decidir por ela.
Não é essa
Ação com consequência é da pessoa. O agente prepara e para; cancelar ou trocar de horário também seria decidir por ela.Rever: Quatro telas, duas respostas
Pergunta 3 de 4
Na página de contato do seu próprio site há uma verificação humana. A tarefa do agente é mandar uma mensagem de teste.
Correto
Mesmo no seu site, a verificação é para a pessoa. Quem passa é você. Tirar a verificação muda o que está sendo testado.
Por que "pare antes do que tem consequência" também protege contra prompt injection?
Correto
Segundo a Anthropic (24/11/2025), nenhum agente de navegador é imune. Parar antes da ação limita o estrago de uma instrução plantada na página.
Não é essa
Segundo a Anthropic (24/11/2025), nenhum agente de navegador é imune. Parar antes da ação limita o estrago de uma instrução plantada na página.Rever: Por que parar é o resultado certo
Teste concluído
Você acertou {a} de {n}. Acertando todas, a aula é marcada como concluída.
Escolha uma alternativa. A explicação aparece depois da sua tentativa.
06 · Em três frases
Dinâmico: esperarEspere a prova, com teto; segundos fixos quebram.
Login, verificação, confirmação: pararO agente para, diz onde e o que falta, e a pessoa assume.
Parar protegeContra erro e contra instrução plantada na página.