La mayoría de los agentes web actuales dirigen un navegador una acción a la vez. El modelo recibe el estado actual de la página (como una captura de pantalla o texto DOM) y predice el siguiente clic, pulsación de tecla o desplazamiento. Este diseño de acción a la vez tenía sentido cuando los modelos de lenguaje tenían una capacidad de razonamiento limitada. A medida que los modelos se han vuelto más capaces de escribir y depurar código, ese bucle rígido se ha convertido en una restricción en lugar de una estructura que ayude.
El laboratorio AI Frontiers de Microsoft Research desarrolló un enfoque diferente. Su nuevo marco de código abierto, Webwright, le brinda al agente una terminal en lugar de una sesión de navegador con estado. El agente escribe código Playwright para controlar los navegadores, ejecuta comandos bash, inspecciona registros y refina scripts de forma iterativa. Playwright es una biblioteca de automatización de navegadores de código abierto, también de Microsoft, que admite el control programático de los navegadores Chromium, Firefox y WebKit.
Lo que Webwright hace diferente
Webwright separa el agente del navegador y trata al navegador como algo que el agente puede iniciar, inspeccionar y descartar mientras desarrolla un programa. El artefacto persistente no es la sesión del navegador sino el código y los registros en el espacio de trabajo local.
Este es el mismo modelo que utiliza un desarrollador al escribir un script RPA (Robotic Process Automation). En lugar de hacer clic manualmente en un sitio cada vez, escriben un script una vez. Ese script se puede volver a ejecutar, adaptar y compartir. Webwright aplica esto a los agentes con tecnología LLM.
El sistema tiene tres componentes principales: un corredor, un punto final del modelo y un entorno de terminal. El corredor tiene aproximadamente 150 líneas de código, la interfaz del modelo aproximadamente 550 líneas y el entorno aproximadamente 300 líneas. No existe una orquestación de múltiples agentes ni una jerarquía de planificación compleja: solo un bucle de un único agente.
Todo el código intermedio, registros, capturas de pantalla y resultados se almacenan en el espacio de trabajo, lo que hace que cada ejecución sea fácil de inspeccionar.
El bucle del agente
El Runner envía el contexto actual al modelo. El modelo devuelve un bloque de pensamiento y un comando de shell. Ese comando se ejecuta en el entorno, que devuelve resultados de terminal, registros, capturas de pantalla o rastreos de errores. Estas observaciones vuelven a su contexto y el ciclo continúa.
En lugar de emitir una acción primitiva a la vez, un agente codificador puede expresar naturalmente interacciones de varios pasos, como seleccionar una fecha o completar un formulario completo, como un programa compacto. Los bucles, funciones y abstracciones permiten al agente generalizar tareas similares sin predecir repetidamente secuencias similares de pasos de bajo nivel.
Dos desafíos de ingeniería
El hecho prematuro y la explosión del contexto son las dos cuestiones centrales. Con acciones bash abiertas, el modelo debe autoinformar su finalización y, a menudo, afirma haber tenido éxito sin terminar realmente. Agregaron una puerta: el agente debe generar una configuración de autorreflexión, ejecutar un script final en una carpeta nueva con registros y capturas de pantalla, y emitir su propio juicio de autorreflexión que genera éxito o fracaso antes de emitir hecho: verdadero. De lo contrario, la bandera se elimina y se vuelve a intentar.
En cuanto a la longitud del contexto, las trayectorias de codificación largas exceden rápidamente los límites del contexto, por lo que compactan el historial cada 20 pasos en un único resumen.
Resultados de referencia
Webwright fue evaluado según dos puntos de referencia: Online-Mind2Web y Odysseys.
Online-Mind2Web contiene 300 tareas en 136 sitios ampliamente utilizados y utiliza un marco de evaluación automatizado LLM-as-a-Judge. GPT-5.4 logra una precisión general del 86,67 %, lo que representa la más alta entre todas las recetas de arnés de código abierto en la categoría AutoEval del punto de referencia Online-Mind2Web, con un presupuesto de 100 pasos. Claude Opus 4.7 alcanzó el 84,7 % en general, pero tuvo un mejor rendimiento en tareas difíciles en N=100 pasos: 80,5 % frente al 76,6 % de GPT-5.4.
También reprodujeron una línea de base GPT-5.4 en una configuración de agente convencional basada en capturas de pantalla, donde el modelo predice las coordenadas x,y para clics y acciones de escritura. Utilizando el mismo modelo subyacente, Webwright logra ganancias sustanciales en las tres categorías de dificultad, destacando el beneficio del enfoque basado en terminal basado en código sobre la predicción de coordenadas paso a paso.
Odysseys evalúa tareas de navegación a largo plazo que abarcan múltiples sitios web. Las tareas tienen un promedio de 272,3 palabras de instrucciones. En la clasificación de abril de 2026, el modelo con mejor rendimiento fue el Opus 4.6, con una puntuación máxima de 44,5. Webwright con tecnología GPT-5.4 alcanza el 60,1%, una mejora relativa del 35,1% con respecto al estado de la técnica anterior. En comparación con el rendimiento básico de GPT-5.4 del 33,5%, esto corresponde a una mejora relativa del 79,4%, o 26,6 puntos absolutos.
Análisis de costos
Claude Opus 4.7 es más eficiente en la cantidad de pasos para resolver cada tarea (media 21,9 pasos) en comparación con GPT-5.4 (media 26,3 pasos). Sin embargo, Claude Opus 4.7 tiene un precio significativamente más alto en comparación con GPT-5.4 ($5 frente a $2,50 por 1 millón de tokens de entrada, y $25 frente a $15,00 por 1 millón de tokens de salida, abril de 2026), lo que hace que el costo promedio por tarea sea más alto en comparación con GPT-5.4 ($2,37 frente a $6,09). Los primeros 50 pasos ofrecen una precisión del 82 % y los siguientes 50 pasos ofrecen entre 3 y 4 puntos adicionales.
Rendimiento del modelo pequeño
El equipo de investigación también probó Qwen3.5-9B en la división dura de Online-Mind2Web. Cuando las tareas se complementan con secuencias de comandos de herramientas reutilizables prediseñadas, Qwen3.5-9B logra un 66,2 % en sitios web Online-Mind2Web con más de cinco herramientas. Esto muestra que los modelos más pequeños y de menor costo pueden manejar tareas web complejas cuando se combinan con una biblioteca de herramientas prediseñadas.
Explicador visual de Marktechpost
Webwright
Guía de inicio rápido
¿Qué es Webwright?
Webwright es un marco de agente web nativo de terminal de código abierto de Microsoft Research. En lugar de predecir un clic en el navegador a la vez, el agente escribe código Playwright, ejecuta comandos bash y almacena scripts reutilizables en un espacio de trabajo local.
~1000 líneas de código de arnés en 3 módulos, sin orquestación oculta Bucle de agente único: corredor, punto final del modelo y terminal Entorno 86,7 % en Online-Mind2Web | 60,1% en Odysseys con backends GPT-5.4: OpenAI, Anthropic, OpenRouter Scripts reutilizables en Claude Code, Codex, OpenClaw
github.com/microsoft/Webwright
Lo que necesita antes de instalar
Confirme que lo siguiente esté listo antes de ejecutar cualquier comando de instalación.
Python 3.10+: tiempo de ejecución mínimo requerido Chromium: instalado a través de Playwright en el siguiente paso Clave API (OpenAI, Anthropic u OpenRouter Git) para clonar el repositorio
pitón –versión
# Debe devolver Python 3.10 o superior
Clonar e instalar Webwright
Clone el repositorio, instálelo en modo editable y luego instale Chromium para el control del navegador Playwright.
git clonar https://github.com/microsoft/Webwright
cd Webwright
# 2. Instale el paquete en modo editable
pepita instalar -e .
# 3. Instale Chromium para Dramaturgo
dramaturgo instalar cromo
El indicador -e significa que las ediciones del código fuente local se aplican inmediatamente sin necesidad de reinstalar.
Ejecute su primera tarea web
Exporte su clave API, luego pase una instrucción de tarea y la URL de inicio a la CLI.
exportar OPENAI_API_KEY=“sk-…”
exportar ANTROPIC_API_KEY=“sk-hormiga-…”
# Ejecutar una tarea
pitón -m webwright.run.cli \ -c base.yaml -c model_openai.yaml \ -t “Encuentre el vuelo económico SEA a JFK más barato el 15/05/2026” \ –start-url https://www.google.com/flights \ –task-id demo_openai \ -o salidas/default
FlagDescription -cArchivo de configuración de src/webwright/config/ — apilable -tInstrucción de tarea en inglés simple –start-urlURL inicial para la sesión del navegador –task-idNombre de la subcarpeta de salida -oDirectorio de salida raíz para registros y scripts
Utilice Webwright como habilidad de Claude Code
Webwright incluye una habilidad Claude Code incorporada. No se necesita ninguna clave API de LLM aparte de su suscripción a Claude Code. Claude Code lee capturas de pantalla PNG de forma nativa.
mkdir -p .claude/habilidades .claude/comandos
en -s “$PWD/skills/webwright” .claude/skills/webwright
en -s “$PWD/skills/webwright/commands” .claude/commands/webwright
# Alcance del usuario (todos los proyectos)
mkdir -p ~/.claude/skills ~/.claude/commands
en -s “$PWD/skills/webwright” ~/.claude/skills/webwright
en -s “$PWD/skills/webwright/commands” ~/.claude/commands/webwright
Reinicie Claude Code después de la instalación, luego use los comandos de barra diagonal:
/webwright:ejecutar búsqueda en Google Vuelos SEA a JFK 2026-05-15
# Herramienta CLI parametrizada reutilizable
/webwright:craft busca un boleto de LAX a SFO que sale el 7 de junio
Fuente: github.com/microsoft/Webwright
Conclusiones clave
Webwright utiliza un bucle de terminal donde el agente escribe y ejecuta código Playwright en lugar de predecir una acción del navegador a la vez. GPT-5.4 alcanzó el 86,7 % en Online-Mind2Web (presupuesto de 100 pasos) y el 60,1 % en Odysseys, 26,6 puntos por encima de la puntuación base de GPT-5.4 del 33,5 %. El arnés tiene aproximadamente 1000 líneas en tres módulos sin orquestación de múltiples agentes. Qwen3.5-9B alcanzó el 66,2 % en la división completa de Online-Mind2Web cuando se complementó con secuencias de comandos de herramientas prediseñadas. Los scripts de tareas están empaquetados como CLI reutilizables, que se pueden compartir entre Claude Code, Codex y OpenClaw.