4 puntos por GN⁺ 2024-10-25 | 1 comentarios | Compartir por WhatsApp
  • Skyvern automatiza flujos manuales basados en sitios web con LLM y visión por computadora, y ofrece tanto un SDK compatible con Playwright como un constructor de workflows sin código
  • A diferencia de la automatización de navegadores tradicional, que dependía del parsing del DOM y de XPath y era vulnerable a cambios de layout, Skyvern entiende los elementos en pantalla con un Vision LLM y planifica y ejecuta las acciones necesarias
  • Skyvern afirma que puede mapear elementos visuales a acciones incluso en sitios web que ve por primera vez, y aplicar el mismo workflow a múltiples sitios sin XPath ni selectores predefinidos
  • El SDK ofrece los comandos page.act, page.extract, page.validate, page.prompt y page.agent, y agrega búsqueda de elementos basada en prompts en lenguaje natural a las acciones existentes de Playwright
  • También se presentan ejecución local, Docker Compose, Skyvern Cloud, control de Chrome existente, tunneling de navegador, 64.4% de precisión en WebBench, licencia AGPL-3.0 y la excepción de funciones antibot del cloud administrado

El problema que Skyvern quiere resolver

  • Skyvern es un proyecto que automatiza workflows basados en navegador con LLM y visión por computadora
  • Ofrece un SDK compatible con Playwright que agrega capacidades de IA sobre Playwright
  • También ofrece un constructor de workflows sin código para que usuarios técnicos y no técnicos puedan automatizar workflows manuales en cualquier sitio web
  • La automatización de navegadores tradicional solía depender de scripts personalizados por sitio web, parsing del DOM e interacciones basadas en XPath, y podía romperse cuando cambiaba el layout del sitio
  • Skyvern no se limita a interacciones XPath definidas en código: aprende e interactúa con los sitios web usando un Vision LLM

Cómo funciona y su diseño

  • Skyvern se inspira en el diseño de agentes autónomos orientados a tareas popularizado por BabyAGI y AutoGPT
  • A esto le agrega la capacidad de interactuar con sitios web mediante bibliotecas de automatización de navegadores como Playwright
  • Usa un swarm de múltiples agentes para entender el sitio web, planificar acciones y ejecutarlas
  • Las ventajas de este enfoque se resumen en tres puntos
    • Puede funcionar en sitios web que ve por primera vez al mapear elementos visuales a las acciones necesarias sin código personalizado
    • Es más resistente a cambios en el layout del sitio web porque no busca XPath ni selectores predefinidos durante la navegación
    • Puede aplicar un mismo workflow a múltiples sitios web e inferir las interacciones necesarias en cada uno
  • El reporte técnico de Skyvern 2.0 está disponible en Skyvern 2.0: State-of-the-art web navigation with 85.8 on WebVoyager eval

Formas de ejecución

  • Skyvern Cloud es la versión de cloud administrado que permite ejecutar Skyvern sin gestionar infraestructura directamente
  • Skyvern Cloud puede ejecutar múltiples instancias de Skyvern en paralelo e incluye mecanismos contra detección antibot, una red de proxies y un CAPTCHA solver
  • La ejecución local puede iniciarse con skyvern quickstart después de pip install "skyvern[all]"
  • skyvern quickstart y skyvern run server usan por defecto una base de datos SQLite en ~/.skyvern/data.db
    • Para usar un contenedor local de Postgres, pasa --postgres
    • Para usar una base de datos existente, pasa --database-string
    • Docker Compose usa el servicio de Postgres incluido
  • La ejecución con Docker Compose containeriza Postgres, la API y la UI, y se inicia con docker compose up -d después de configurar las claves de API del LLM en .env
  • Por defecto, la UI se accede en http://localhost:8080

SDK y extensión de Playwright basada en IA

  • El SDK de Skyvern es una extensión que agrega automatización de navegador basada en IA a Playwright
  • La instalación se divide según el tipo de uso
    • Python SDK / cloud API: pip install skyvern
    • Servidor local y UI incluida: pip install "skyvern[all]" y luego skyvern quickstart
    • Servidor local y UI con Postgres: pip install "skyvern[all]" y luego skyvern quickstart --postgres
    • UI incluida conectada a una API existente: pip install "skyvern[ui]" y luego skyvern run ui --api-url <api-url> --api-key <api-key>
    • TypeScript: npm install @skyvern/client
  • Al objeto página se le agregan cuatro comandos de IA
    • page.act(prompt): realiza acciones con lenguaje natural, como “hacer clic en el botón de login”
    • page.extract(prompt, schema): extrae datos estructurados con un JSON schema opcional
    • page.validate(prompt): valida el estado de la página y devuelve bool
    • page.prompt(prompt, schema): envía un prompt arbitrario al LLM con un schema de respuesta opcional
  • page.agent ofrece comandos de workflow de más alto nivel
    • page.agent.run_task(prompt): ejecuta tareas complejas de varios pasos
    • page.agent.login(credential_type, credential_id): autentica con credenciales guardadas en Skyvern, Bitwarden o 1Password
    • page.agent.download_files(prompt): navega y luego descarga archivos
    • page.agent.run_workflow(workflow_id): ejecuta un workflow previamente creado
  • Las acciones existentes de Playwright admiten búsqueda de elementos basada en IA mediante un parámetro opcional prompt
    • En lugar de page.click("#btn"), page.click(prompt="Click login button")
    • En lugar de page.fill("#email", "a@b.com"), page.fill(prompt="Email field", value="a@b.com")
    • En lugar de page.select_option("#country", "US"), page.select_option(prompt="Country dropdown", value="US")
    • En lugar de page.upload_file("#file", "doc.pdf"), page.upload_file(prompt="Upload area", files="doc.pdf")
  • Hay tres modos de interacción
    • Playwright tradicional: usa selectores CSS/XPath
    • Basado en IA: usa lenguaje natural
    • AI fallback: intenta primero con selectores y, si falla, lo reemplaza por IA

Control avanzado del navegador

  • Skyvern puede controlar el navegador Chrome existente del usuario
  • Este método usa tal cual un navegador que ya tiene cookies, sesiones iniciadas y extensiones
  • La depuración remota de Chrome puede activarse en chrome://inspect/#remote-debugging
  • El comando skyvern init browser puede abrir la página de depuración remota, esperar hasta que el usuario la active y luego guardar la configuración
  • Skyvern Cloud también puede controlar un Chrome en ejecución en la máquina local
    • El comando skyvern browser serve --tunnel inicia Chrome y crea el túnel hacia Skyvern Cloud en una sola operación
    • Es útil para automatizar sitios donde ya iniciaste sesión o que están detrás de una VPN
  • Al exponer un navegador mediante túnel, siempre se debe usar --api-key

Rendimiento y evaluación

  • Skyvern afirma haber logrado rendimiento SOTA en el benchmark WebBench con 64.4% de precisión
  • El reporte técnico y la evaluación están disponibles en Web Bench: A new way to compare AI browser agents
  • También afirma ser el agente de mejor rendimiento en tareas WRITE
    • Ejemplos de tareas WRITE incluyen completar formularios, iniciar sesión y descargar archivos
    • Esta categoría se usa principalmente para tareas cercanas a RPA

Tasks y Workflows

  • Task es la unidad básica de composición dentro de Skyvern
  • Cada Task es una solicitud única para navegar un sitio web y lograr un objetivo específico
  • Una Task requiere url y prompt
  • Opcionalmente puede incluir data schema y error codes
    • data schema se usa cuando se quiere que la salida siga un schema específico
    • error codes se usa para detener la ejecución de Skyvern en situaciones específicas
  • Workflow es la forma de conectar varias Tasks para convertirlas en una sola unidad de trabajo
  • Ejemplos de workflows
    • Para descargar todas las facturas posteriores al 1 de enero, puede componerse como: ir a la página de facturas, filtrar por fecha, extraer la lista de facturas objetivo y descargar cada factura
    • La automatización de compras en e-commerce puede componerse como: navegar al producto, agregar al carrito, validar el estado del carrito y checkout
  • Las funciones de workflow compatibles incluyen Browser Task, Browser Action, Data Extraction, Validation, For Loops, File parsing, Sending emails, Text Prompts, HTTP Request Block, Custom Code Block y carga de archivos a block storage
  • Conditionals aparece marcado como “Coming soon”

Funciones principales

  • Livestreaming transmite en tiempo real el viewport del navegador a la máquina local para poder ver qué está haciendo Skyvern en la web
    • Es útil para depurar, entender interacciones e intervenir si hace falta
  • Form Filling puede completar inputs de formularios en sitios web de forma predeterminada
    • Si se entrega información mediante navigation_goal, Skyvern entiende el contenido y completa el formulario
  • Data Extraction extrae datos de sitios web
    • Si se especifica data_extraction_schema en formato jsonc dentro del prompt principal, la salida sigue la estructura de ese schema
  • File Downloading descarga archivos desde sitios web
    • Los archivos descargados se suben automáticamente si block storage está configurado, y se puede acceder a ellos desde la UI
  • Authentication admite varios métodos de autenticación para facilitar la automatización de tareas detrás de login
  • El soporte de 2FA se ofrece de varias maneras
    • 2FA basado en QR, por ejemplo Google Authenticator, Authy
    • 2FA basado en email
    • 2FA basado en SMS
    • La documentación relacionada está en 2FA support
  • Estado de integración con administradores de contraseñas
    • Compatible: Bitwarden
    • Compatible: Custom Credential Service, HTTP API
    • No compatible: 1Password
    • No compatible: LastPass

Integraciones y LLM compatibles

  • Skyvern admite Model Context Protocol (MCP), lo que permite usar LLM compatibles con MCP
  • La documentación de MCP está en MCP server documentation
  • Admite integraciones con Zapier, Make.com y N8N
  • Los proveedores de LLM compatibles son los siguientes
    • OpenAI: GPT-5.5, GPT-5.4, GPT-5, GPT-4.1, o3, o4-mini
    • Anthropic: Claude 4.7 Opus, Claude 4.6 Sonnet/Opus, Claude 4.5 Haiku/Sonnet/Opus
    • Azure OpenAI: todos los modelos GPT desplegados en una suscripción de Azure
    • AWS Bedrock: Claude 4.7, Claude 4.6 Sonnet/Opus, Claude 4.5 Sonnet/Opus
    • Gemini: Gemini 3.1 Pro, Gemini 3 Flash, Gemini 2.5 Pro/Flash
    • Ollama: modelos alojados localmente mediante Ollama
    • OpenRouter: acceso a modelos mediante OpenRouter
    • OpenAI-compatible: endpoints de API personalizados que siguen el formato de la API de OpenAI mediante liteLLM
  • La configuración detallada de LLM está en LLM Configuration docs

Ejemplos de uso real

  • Automatización de descarga de facturas en múltiples sitios web
  • Automatización de procesos de postulación laboral
  • Automatización de compras de materiales para empresas manufactureras
  • Registro de cuentas o completado de formularios en sitios web gubernamentales
  • Completado de formularios aleatorios de contact us
  • Búsqueda de cotizaciones de seguros en sitios web de aseguradoras en varios idiomas

Solución de problemas y comandos operativos

  • Un bug conocido de pip install skyvern==1.0.31 puede causar (sqlite3.OperationalError) table organizations already exists
    • Elimina el archivo SQLite restante ~/.skyvern/data.db, actualiza a 1.0.32 o superior con pip install --upgrade skyvern y luego ejecuta skyvern quickstart
    • Si necesitas mantener 1.0.31, puedes usar uv pip install skyvern
  • Si pip install skyvern falla con ResolutionImpossible, puede deberse a un conflicto de resolución de dependencias de litellm / fastmcp en 1.0.31
    • Actualiza a 1.0.32 o superior, o usa uv pip install skyvern
  • Comandos útiles para depuración
    • skyvern run server: ejecuta el servidor de Skyvern por separado
    • skyvern run ui: ejecuta la UI de Skyvern
    • skyvern status: verifica el estado de los servicios
    • skyvern stop all: detiene todos los servicios
    • skyvern stop ui: detiene la UI
    • skyvern stop server: detiene el servidor

Licencia y telemetría

  • Skyvern recopila estadísticas de uso por defecto para entender cómo se usa
  • Para desactivar la telemetría, configura la variable de entorno SKYVERN_TELEMETRY en false
  • El repositorio open source de Skyvern está respaldado por un cloud administrado
  • La lógica principal se ofrece en este repositorio open source bajo licencia AGPL-3.0
  • Las medidas antibot incluidas en la oferta de cloud administrado se indican como una excepción a la lógica principal del repositorio open source

1 comentarios

 
GN⁺ 2024-10-25
Opiniones de Hacker News
  • Me da curiosidad saber cómo ven la función computer use de Claude que Anthropic presentó recientemente.
    Ahora que el computer use de Claude es relativamente nuevo, quisiera saber cuál es el principal diferenciador de Skyvern.

    • Trabajo en este campo, y la capacidad de Claude de contar píxeles e interactuar con la pantalla usando coordenadas precisas parece una innovación bastante útil que puede mejorar los enfoques existentes.
      El enfoque tradicional suele consistir en dibujar cuadros delimitadores alrededor de los elementos con los que se puede interactuar, hacer que el LLM emita una llamada a una herramienta como click('A12') y luego mapear A12 a un elemento HTML real para ejecutar una acción de Selenium/JS. Dibujar esos cuadros delimitadores con heurísticas también es complicado, y si el manejador de clics está asociado a otro elemento del DOM, realizar la acción correcta puede volverse difícil.
      Es probable que, para casos de automatización, sea más eficaz ejecutar acciones de alto nivel como click(x, y) o type("foo") directamente en la pantalla, sin volver a mapear los elementos visuales a elementos HTML. Dicho eso, por ahora, cuando se le da HTML al LLM como contexto, el rendimiento tiende a ser mejor que usando solo razonamiento visual. Por eso soy más optimista respecto del enfoque de Claude, y en especial me parece muy prometedor si el razonamiento visual sigue mejorando.
    • El producto y el lanzamiento de Anthropic son realmente geniales, y es impresionante cuánto logra al interactuar con sitios web usando solo uso de herramientas + microagentes + capturas de pantalla + coordenadas.
      Sin embargo, me pregunto si los competidores se quedarán de brazos cruzados sin construir algo parecido. Los equipos de xAI, Gemini, OpenAI, Mistral y MetaAI no se limitarán a esperar, y como es muy probable que este campo sea un gran eje a futuro, no parece que una sola empresa vaya a quedarse con todo.
      También es importante de dónde proviene el valor real en sistemas como estos. Es muy probable que las demos y un producto vistoso y usable no sean suficientes; la mayoría en realidad quiere automatización de flujos de trabajo reales. Para uso personal quizá eso alcance, pero las empresas probablemente quieran algo más complejo.
      Por último, también es clave si esto quedará optimizado solo para Claude. Si alguien quiere ejecutarlo con su propio LLM open source, o ir cambiando continuamente al mejor modelo disponible en el mercado, puede ser difícil obtener esa flexibilidad en una solución ofrecida por un gran proveedor. Anthropic tiene incentivos para hacer que internamente se use Claude.
      Este último punto es alentador. Los usuarios open source de Skyvern pueden elegir el modelo que quieran y no quedan atados a Claude. También puede ejecutarse con Gemini, GPT-4O y modelos open source como Llama 3.2.
  • Probablemente no sea el primer wrapper de IA sobre Playwright que salió esta semana, ni creo que sea el primer caso de este mes.
    Su uso desde la perspectiva de la automatización de procesos de negocio parece más convincente que para automatización de pruebas. La automatización de pruebas valora mucho más la exactitud y la repetibilidad del proceso, mientras que en la automatización de negocio muchas veces no importa demasiado si se llega por un camino raro, siempre que el resultado sea correcto.
    Dicho eso, en el video de ejemplo tuvieron que escribir un prompt bastante grande para hacerlo funcionar, y también tuvieron que ingresar algunos KB de datos de payload en formato de texto plano, no CSV. Si la expectativa es que esto reemplace a personas para quienes usar directamente el generador de código de Playwright es demasiado técnico y difícil, no estoy seguro de que haya tanta gente que pueda hacer una cosa pero no la otra.
    Además, parece que el usuario tiene que entregar en texto plano las credenciales de inicio de sesión del sitio web e incluso la información de la tarjeta de crédito. Para evitar consecuencias graves si se compromete la cuenta de Skyvern del usuario, el manejo de datos sensibles tendría que ser muy sólido.
    También creo que quienes construyen wrappers de Playwright basados en LLM tienden a exagerar la frecuencia con la que los sitios web se rediseñan. Esto aplica especialmente cuando se apunta a sitios antiguos o gubernamentales. Por ejemplo, durante años operé un conjunto largo de automatizaciones de navegador con Playwright para interactuar con un sitio gubernamental, y solo tuve que hacer mantenimiento una vez, cuando cambió el procedimiento operativo de la institución. Incluso si hubiera usado Skyvern, como el procedimiento cambió, también habría tenido que modificar el prompt y el payload.
    La diferencia con la automatización de Playwright es que se puede validar con aserciones el éxito o fracaso de cada paso y la precisión del registro de datos, así que uno puede saber que hace falta actualizar el procedimiento. En Skyvern no veo esa opción, y me preocupa que se pase por alto un cambio de procedimiento y empiece a ingresar datos incorrectos o a saltarse pasos.

    • Es cierto que la estructura actual de prompt y payload es de las bastante complejas, pero pudimos usar un LLM para ayudar a generar ese payload para el usuario.
      Los usuarios técnicos quieren aprender más y crear el payload por su cuenta; los usuarios no técnicos empiezan pidiéndole al LLM que los ayude a generar el prompt final de Skyvern. Fue inesperado, pero resultó ser un flujo sorprendentemente natural.
      El paso 1 es construirlo de una forma compleja, es decir, Playwright; el paso 2 es la etapa actual, donde se construye algo equivalente a Playwright con prompts complejos; y el paso 3 es construir algo que genere ese equivalente a Playwright usando prompts más simples. Cada etapa reduce la barrera técnica necesaria para crear automatizaciones.
      Considero que la frecuencia de cambios en los sitios web es una propuesta de valor menor para la automatización basada en LLM. El mayor valor está en poder manejar situaciones muy dinámicas. Por ejemplo, al automatizar un sitio de e-commerce donde las ofertas emergentes cambian cada semana, a Skyvern casi no le afecta, mientras que un script de Playwright puede romperse.
      También me gusta el ejemplo de Geico porque muestra bien algo que antes era muy difícil de automatizar. El formulario cambia en cada ejecución, pero Skyvern lo atraviesa fácilmente.
      En cuanto a la precisión de los datos, estamos lanzando una función de flujos de trabajo que permite encadenar varias tareas. Lo interesante de esta función es que se puede agregar un paso en el que Skyvern valide por sí mismo el resultado antes de continuar. Por ejemplo, se pueden agregar n productos al carrito y luego ir al carrito para validar su estado.
      Como es de esperarse, esto sienta las bases para que otros agentes usen estas herramientas y construyan flujos de trabajo por sí mismos con prompts más simples. En resumen, es el primer paso de un largo camino para hacer que la automatización de procesos de negocio con LLM sea cada vez más fácil.
  • En este momento, construir una startup sobre un LLM de terceros parece requerir muchísimo coraje, o un modelo de negocio que apunte a ingresos de corto plazo.
    Si el horizonte temporal es de años y no de meses, el riesgo es grande. Anthropic entró ayer en este campo, y es muy probable que OpenAI y Google la sigan pronto.

    • Muchas empresas como Vercel y Supabase construyeron grandes negocios “envolviendo” a AWS.
      Literalmente compiten con AWS y, al mismo tiempo, usan AWS para ofrecer sus propios productos. Este mercado es grande y hay espacio para distintos enfoques.
      Está claro que OpenAI, Anthropic y Google construirán grandes negocios en este campo, pero no veo razón para descartar que alguien más tenga una buena idea y la haga realidad apoyándose en grandes proveedores de infraestructura.
    • No sé qué significa que “entró”. No estoy muy al tanto de qué pasó.
  • Es interesante que lo hayan abierto como open source bajo AGPL.
    Quizás la documentación ya tenga la respuesta, pero al buscar rápidamente en el código fuente parecía que no usan LangChain y que planean una integración para poder aportarla a esa comunidad más adelante. Me da curiosidad qué usaron en Skyvern para crear la lógica de cadena de pensamiento/acción, y si hoy empezaran desde cero considerarían ir por el lado de LangChain/Graph.

    • Al principio usamos el framework AutoGPT.
      Quedan muchos rastros de eso en cosas como tareas y pasos, pero al intentar escalarlo y hacer trabajos más complejos nos dimos cuenta de que el framework era muy limitante.
      Por ejemplo, hoy usamos una arquitectura multiagente donde se ejecutan microagentes que analizan SVG o completan autocompletados dinámicos, y una estructura así habría sido realmente difícil con los frameworks existentes.
      Frameworks como LangChain son buenos para prototipado inicial, pero cuando quieres empujar los límites, imponen demasiadas restricciones.
  • Si “automatización del navegador” te resulta confuso, es hacer que un programa manipule el sitio web objetivo, como con herramientas del estilo Selenium.
    Normalmente consiste en enviar eventos de escritura y movimientos/clics del mouse a un sitio web objetivo que pertenece a otra persona, para que ese sitio haga algo. Una vez que sabes eso, el resto de la explicación se entiende.

  • Cada vez que veo este tipo de herramientas de automatización de flujos de trabajo con LLM, me surgen algunas preguntas sobre cada caso de uso y sus resultados a largo plazo.
    Primero, me pregunto si esto es una forma de esquivar la fricción causada por la falta de interoperabilidad entre herramientas. Por ejemplo, ¿habría sido más eficiente si el dueño del sitio web ofreciera un servicio REST? Si existen herramientas como esta, ¿las empresas dejarán de ofrecer endpoints de servicio incluso cuando tendría sentido hacerlo?
    Segundo, si hay razones válidas para no tener endpoints de servicio, como motivos de seguridad, un flujo de automatización podría usarse para sortear esas medidas de seguridad. ¿Puede un actor malicioso usar la herramienta para deshabilitar servicios importantes? ¿Quien crea la herramienta podría convertirse en ese actor? ¿Puede un revendedor usarla para impedir que consumidores comunes compren productos de alta demanda?
    Tercero, si se usa para esquivar el mantenimiento postergado de herramientas y procesos internos, la existencia de estas herramientas puede dar a la gerencia una excusa para seguir posponiendo el mantenimiento. Al final, incluso podría convertirse en una dependencia crítica dentro del flujo de trabajo del personal de soporte.
    Cuarto, si se usa con buenas intenciones para esquivar antipatrones en el diseño de sitios web, ¿el dueño del sitio tendrá incentivos para romper ese flujo de trabajo? ¿Es, al final, solo una etapa más de una carrera armamentista?
    Pienso en estas cosas cada vez que veo que se pone software encima de procesos complejos y, en vez de simplificar el proceso de fondo, se tapa agregando otra capa de complejidad. No hay duda de que el proyecto será útil, pero me intriga su efecto a largo plazo.

    • Los sitios web sin API suelen no tenerla por una de dos razones. Una es que quieren proteger sus datos, como LinkedIn; la otra es que no tienen recursos o les da flojera crear una API, como sitios pequeños o portales gubernamentales.
      Skyvern resuelve este problema, pero si bajan los costos de los LLM, también podría hacer que esos sitios ya no necesiten crear APIs.
      No queremos que Skyvern se use en sitios web que prohíben este comportamiento. LinkedIn es el ejemplo típico. En particular, la razón por la que no abrimos como open source el código relacionado con antibots o CAPTCHA es que recibimos pedidos como “manipulación de recomendaciones en Reddit”. No queremos apoyar a actores maliciosos de ese tipo.
      En general, creo que la automatización de navegadores con IA tiene un efecto neto positivo. Si disminuye la necesidad de APIs, se reduce la necesidad de mantener tanto una API como una UI; la experiencia se vuelve más simple, hay menos código y el sistema se simplifica.
      No estoy 100% seguro de la última parte. Normalmente asumo que las empresas no crean APIs porque no tienen presupuesto. Es decir, no creo que sea por motivos maliciosos. Empresas como LinkedIn intentarán bloquear los intentos de automatización, pero no queremos participar en ese juego del gato y el ratón.
  • Me pregunto si Skyvern puede extraer datos de varios sitios web con estructuras distintas y combinar esos datos estructurados en un único archivo CSV o JSON.
    Por ejemplo, ¿puede extraer de varios sitios bancarios las tasas de cuentas de depósito, obtener el nombre del banco, el logo del banco, el nombre del producto y la tasa de cada cuenta, y ejecutar una consulta guardada en una programación diaria o semanal?

    • En teoría, sí. Habría que configurarlo usando la función de workflows y encadenar varias tareas para recopilar la información.
  • Me pregunto si tienen experiencia ejecutando Skyvern en sitios web de aerolíneas.
    Por ejemplo, para extraer la disponibilidad de asientos premio con millas desde el punto A hasta el punto B. Las aerolíneas parecen cambiar siempre las pantallas y tener medidas fuertes contra scraping.

    • Todavía no hemos ayudado con exactamente ese caso de uso, pero estamos integrándonos con una empresa para automatizar la compra de pasajes de Alaska y Southwest en nombre de personas reales.
      Será una forma de hacer beta testing de transacciones con tarjeta de crédito y validar la confiabilidad.
  • Estoy construyendo algo parecido a menor escala, y este campo parece bastante prometedor.
    Al limitar el alcance del problema a interacciones/scraping en una sola página, resultó muy estable y útil en la empresa. Dicho eso, la automatización de tipo agente también parece interesante.

    • Fue especialmente útil en situaciones muy dinámicas.
      Por ejemplo, llenar formularios de contacto en cientos de sitios web es algo cuya variedad es muy difícil de manejar con código normal, pero para un agente de IA no es un gran problema.
  • Me pregunto si tienen métricas de WebArena(https://webarena.dev) o VisualWebArena(https://jykoh.com/vwa).

    • Todavía no. Nuestro dataset interno está demasiado sesgado, así que no lo hemos compartido públicamente, pero debería salir en unas semanas.