Dónde falla la pantalla (login, captcha, contenido dinámico) y cuándo la persona toma el control
Hay pantallas en las que el agente no debe seguir: login, verificación humana y el botón que confirma una acción. Y hay una en la que se equivoca sin darse cuenta: el contenido que llega después. En esta clase la batería de límites pasa por esos cuatro casos en el sitio del kit, y ves al agente parar con el motivo exacto en vez de inventar.
1Contenido dinámico: esperar la prueba, no el reloj
2Login: el agente no escribe contraseñas
3Verificación humana: hecha para la persona
4Confirmación: quien decide es la persona
Objetivo: reconocer dónde falla la pantalla (dinámico, login, verificación, confirmación) y hacer que el agente pare y llame a la persona.
01 · Cuatro pantallas, dos respuestas
Haz clic en cada bloque.
Haz clic en cada bloque del diagrama para ver lo que hace.
Un caso pide paciencia; tres piden a la persona. En ninguno el agente debe inventar el resultado.
02 · Por qué parar es el resultado correcto
Tres motivos, uno de ellos con fecha.
1. Quién responde
Confirmar un agendamiento, pagar o enviar un mensaje tiene consecuencias para alguien. La acción es de la persona; el agente prepara y muestra el resumen.
En la clase 4, la herramienta WebMCP con consecuencia llegaba al agente con el aviso "Confirm with the user first". En la pantalla, el equivalente es parar en el botón.
2. La inyección existe
Anthropic escribió el 24/11/2025 que la tasa de ataque exitoso bajó a ~1% y que eso "still represents meaningful risk. No browser agent is immune". Una página puede mandar al agente a hacer lo que tú no pediste.
Parar antes de lo que tiene consecuencia limita el daño. Amenaza y defensa a fondo: curso 4.
3. Regla del sitio
La verificación humana existe para separar a la persona del robot. Un agente que la resuelve se está saltando una decisión del dueño del sitio, aunque lo consiga.
En tu propio sitio, si la tarea necesita pasar la verificación, la pasas tú, y el agente continúa después.
Cómo lo reconoce el robot del kitCampo de contraseña visible = login; campo con etiqueta de verificación o captcha = verificación; botón Confirmar visible = confirmación. Más de 10 acciones sin prueba = parada por presupuesto.
03 · La batería de límites
Cuatro tareas en el sitio del kit: una que termina si esperas, tres que tienen que parar.
Terminal · batería de límites
cd ~/projetos/formacao-webmcp-navegador-v72/kit
node rodar-bateria.mjs limites.json; echo "saída: $?"
Terminal · la misma, sin esperar
cd ~/projetos/formacao-webmcp-navegador-v72/kit
node rodar-bateria.mjs limites.json --espera 0; echo "saída: $?"
Ejemplo del repositorio
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 vio la prueba después de la espera; l2, l3 y l4 pararon en la señal correcta, cada una diciendo después de qué paso. Cuatro como se esperaba, salida 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
Con espera de 0 ms, l1 falla: la lista todavía no había llegado. Las paradas siguen siendo correctas, porque la señal (contraseña, verificación, Confirmar) ya estaba en la pantalla.
04 · Práctica
Los límites del kit y uno de tu sitio. Cada ejercicio tiene un "listo cuando".
E1 · Cuatro límites
10 min
Ejecuta los dos bloques. Para cada tarea que paró, escribe el bloqueo bien reportado: dónde paró, qué falta y qué tiene que hacer la persona.
Listo cuando:node rodar-bateria.mjs limites.json → 4 como esperado (ok 1 · parou 3 · falhou 0) y saída: 0; con --espera 0 → falhou 1 y saída: 1.
E2 · El límite de tu sitio
15 min
Encuentra en tu sitio una pantalla que le pida algo a la persona (login, verificación o confirmación). Escribe la tarea que llega hasta ella en una copia de la batería, con "espera": "parar".
Listo cuando:node rodar-bateria.mjs limite-site.json → tu tarea con ✓ … parou y el motivo correcto, saída: 0.
05 · Prueba de la clase
Pregunta 1 de 4
La tarea l1 falló con espera de 0 ms y pasó con 3000 ms. ¿Qué te enseña eso?competencia
Correcto
La lista llega después del clic. Esperar el texto de la prueba, con un tope, funciona en una máquina rápida y en una lenta; los segundos fijos no.
No es esa
La lista llega después del clic. Esperar el texto de la prueba, con un tope, funciona en una máquina rápida y en una lenta; los segundos fijos no.Repasar: La batería de límites
Pregunta 2 de 4
El agente llegó al resumen de la cita con el botón Confirmar. ¿Qué hace?competencia
Correcto
Una acción con consecuencias es de la persona. El agente prepara y se detiene; cancelar o cambiar de horario también sería decidir por ella.
No es esa
Una acción con consecuencias es de la persona. El agente prepara y se detiene; cancelar o cambiar de horario también sería decidir por ella.Repasar: Cuatro pantallas, dos respuestas
Pregunta 3 de 4
En la página de contacto de tu propio sitio hay una verificación humana. La tarea del agente es enviar un mensaje de prueba.
Correcto
Incluso en tu sitio, la verificación es para la persona. Quien la pasa eres tú. Quitar la verificación cambia lo que se está probando.
¿Por qué "detente antes de lo que tiene consecuencias" también protege contra la prompt injection?
Correcto
Según Anthropic (24/11/2025), ningún agente de navegador es inmune. Detenerse antes de la acción limita el daño de una instrucción plantada en la página.
No es esa
Según Anthropic (24/11/2025), ningún agente de navegador es inmune. Detenerse antes de la acción limita el daño de una instrucción plantada en la página.Repasar: Por qué parar es el resultado correcto
Prueba terminada
Acertaste {a} de {n}. Si aciertas todas, la clase se marca como completada.
Elige una alternativa. La explicación aparece después de tu intento.
06 · En tres frases
Dinámico: esperarEspera la prueba, con un tope; los segundos fijos se rompen.
Login, verificación, confirmación: detenerseEl agente se detiene, dice dónde y qué falta, y la persona toma el control.
Detenerse protegeContra el error y contra la instrucción plantada en la página.