Contrato de tarea para agente de navegador (objetivo, límites, prueba, parada)
"Agéndame una revisión en el sitio" parece un pedido. Para un agente de navegador, falta todo: en qué página, qué puede tocar, cómo probar que terminó y cuándo parar. En esta clase escribes el contrato de una tarea en cuatro partes y compruebas con un script que el contrato está completo antes de entregárselo a cualquier agente.
Objetivo: escribir el contrato de una tarea de navegador con objetivo, límites, prueba y parada, y comprobar que está completo.
01 · Las cuatro partes
Haz clic en cada bloque. Léelos de abajo hacia arriba cuando revises.
Haz clic en cada bloque del diagrama para ver lo que hace.
Sin prueba, el resultado es una promesa. Sin límites, todo el sitio está en juego. Sin parada, el agente insiste hasta inventar.
02 · Cómo escribir cada parte
Lo que exige conferir-contrato.mjs y por qué.
1. Objetivo
20 letras o más y un lugar: dirección o nombre de la página. "En el sitio del taller" no sirve; "en la página agendar.html" sí sirve.
Una tarea, un resultado. Dos cosas se vuelven dos contratos.
2. Límites
El script exige al menos un "no": el agente necesita saber qué no hacer. En una prueba de sitio, casi siempre: no confirmar, no pagar, no salir de la dirección.
El límite de datos también cuenta: "no escribas contraseñas", "no uses datos de otra persona".
3. Prueba
Un texto literal, entre comillas, que puedas buscar en la página. Es el mismo texto que el robot de ensayo de la clase 6 va a esperar.
Pide también la evidencia copiada de la página: "devuelve los horarios copiados de la lista, no de memoria".
4. Parada
Las señales (login, verificación, confirmación) y un número: 10 acciones, 3 intentos. El script exige un número.
Pide el bloqueo bien reportado: dónde se detuvo, qué falta y la acción que la persona necesita.
Bloqueo bien reportado"Me detuve en la pantalla de login de conta.html: pide correo y contraseña. Falta: el login del dueño de la cuenta. No se envió nada." Mejor que "no pude".
03 · Un contrato completo y uno vago
El mismo script revisa los dos. Los títulos de las partes también valen en inglés y en español (Goal, Limits, Proof, Stop; Objetivo, Límites, Prueba, Parada).
Archivo · kit/contratos/exemplo.md
# Contrato: horários de troca de pneu
## Objetivo
Na página http://127.0.0.1:8433/agendar.html, descobrir os horários livres de "Troca de pneu" em 2026-11-03.
## Limites
Pode preencher o formulário e clicar em "Ver horários". Não clique em "Agendar às…" nem em "Confirmar". Não saia de http://127.0.0.1:8433/.
## Prova
A página mostra "4 horários livres para Troca de pneu em 2026-11-03." Devolva os horários copiados da lista, não de memória.
## Parada
Pare e descreva a tela se aparecer login, verificação humana ou pedido de confirmação. Pare depois de 10 ações sem chegar à prova.
Terminal · verificar el contrato completo
cd ~/projetos/formacao-webmcp-navegador-v72/kit
node conferir-contrato.mjs contratos/exemplo.md; echo "saída: $?"
Terminal · verificar el contrato vago
cd ~/projetos/formacao-webmcp-navegador-v72/kit
node conferir-contrato.mjs contratos/vago.md; echo "saída: $?"
Las cuatro partes están presentes, cada una con lo que el script exige.
contrato incompleto: 0/4 partes · contratos/vago.md
falta: objetivo sem o lugar (endereço ou página)
falta: limites (o que pode e o que não pode)
falta: prova (o que se vê na página quando acabou)
falta: parada (quando parar e chamar a pessoa)
saída: 1
"Agende uma revisão pra mim no site da oficina" no dice la página, no tiene límite, no tiene prueba y no tiene parada. Un agente con ese pedido puede hacer clic en Confirmar.
04 · Práctica
De lo vago a lo completo, y un contrato de tu sitio. Cada ejercicio tiene un "listo cuando".
E1 · Arreglar el contrato vago
10 min
Copia kit/contratos/vago.md a meu-contrato.md y reescríbelo hasta que el script lo acepte. Usa la página conta.html: la prueba es la lista de citas agendadas y la parada, la pantalla de login.
Listo cuando:node conferir-contrato.mjs meu-contrato.md → contrato ok: 4/4 partes y saída: 0.
E2 · Una tarea de tu sitio
15 min
Escribe el contrato de una tarea real de tu sitio (local o en homologación), solo de lectura. La prueba tiene que ser un texto que encuentres en la página ahora.
Listo cuando:node conferir-contrato.mjs contrato-site.md → contrato ok: 4/4 partes, y el texto de la prueba aparece con Ctrl+F en la página.
05 · Prueba de la clase
Pregunta 1 de 4
¿Cuál de estas frases sirve como prueba en un contrato de tarea?competencia
Correcto
La prueba es un texto que se verifica en la página. La frase del agente es una promesa; la captura sola no dice qué verificar; el tiempo no es un resultado.
No es esa
La prueba es un texto que se verifica en la página. La frase del agente es una promesa; la captura sola no dice qué verificar; el tiempo no es un resultado.Repasar: Las cuatro partes
Pregunta 2 de 4
El agente llegó a la pantalla de login a mitad de la tarea. ¿Qué manda el contrato?competencia
Correcto
El login es una señal de parada. El bloqueo bien reportado dice la pantalla, lo que falta y la acción de la persona. Crear una cuenta o probar una contraseña rompe los límites.
No es esa
El login es una señal de parada. El bloqueo bien reportado dice la pantalla, lo que falta y la acción de la persona. Crear una cuenta o probar una contraseña rompe los límites.Repasar: Cómo escribir cada parte
Pregunta 3 de 4
¿Por qué conferir-contrato.mjs exige un "no" en los límites?
Correcto
Los límites dicen lo que se puede y lo que no se puede. En una prueba de sitio, el "no" protege lo que tiene consecuencias: confirmar, pagar, salir del dominio.
No es esa
Los límites dicen lo que se puede y lo que no se puede. En una prueba de sitio, el "no" protege lo que tiene consecuencias: confirmar, pagar, salir del dominio.Repasar: Cómo escribir cada parte
Pregunta 4 de 4
La parada dice "para si se traba". ¿Qué falta?
Correcto
"Trabarse" lo decide el agente solo. Un presupuesto (10 acciones) y señales claras (login, verificación, confirmación) hacen que la parada sea verificable.
No es esa
"Trabarse" lo decide el agente solo. Un presupuesto (10 acciones) y señales claras (login, verificación, confirmación) hacen que la parada sea verificable.Repasar: Las cuatro partes
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
Cuatro partesObjetivo con lugar, límites con un "no", prueba entre comillas, parada con número.
La prueba no es una fraseEs un texto que buscas en la página y encuentras.
Parar es un resultadoParar con el motivo exacto vale más que insistir e inventar.