Aproveche el poder de los agentes web impulsados por IA: automatice tareas, extraiga datos y simplifique flujos de trabajo

Aproveche el poder de los agentes web impulsados por IA para automatizar tareas, extraer datos y agilizar los flujos de trabajo con facilidad. Descubra cómo construir agentes web universales que puedan interactuar con cualquier sitio web, independientemente de su estructura o complejidad.

24 de febrero de 2025

party-gif

Descubre el emocionante potencial de la nueva tecnología de agentes de OpenAI, que puede controlar directamente las computadoras personales para automatizar una amplia gama de tareas. Esta entrada de blog explora las capacidades e implicaciones de este avance revolucionario en IA, destacando los beneficios que podría aportar a tu vida diaria y tu trabajo.

Los desafíos de construir un agente web

La construcción de un agente web que pueda controlar directamente un dispositivo de computadora personal para automatizar tareas es significativamente más desafiante que la construcción de un agente de llamada de función tradicional. Aquí está la razón:

  • Complejidad de las tareas: Incluso una tarea simple como enviar un correo electrónico requiere múltiples pasos para un agente web: abrir el sitio web de Gmail, hacer clic en la barra de búsqueda, escribir el correo electrónico, hacer clic en el botón de respuesta y finalmente hacer clic en enviar. Cada uno de estos pasos tiene el potencial de errores, lo que requiere mayores habilidades de memoria y razonamiento del agente.

  • Comprensión de la interfaz: El agente necesita entender con precisión la interfaz de usuario, ya sea analizando la estructura HTML/XML o analizando capturas de pantalla utilizando técnicas de visión por computadora. Extraer la información relevante y decidir la siguiente acción a tomar es un desafío complejo.

  • Precisión de posicionamiento: Ubicar con precisión los elementos de la interfaz de usuario correctos con los que interactuar, como botones o campos de entrada, es crucial para el éxito del agente. Técnicas como el uso de OCR y la combinación de múltiples modelos han demostrado ser prometedoras, pero este sigue siendo un obstáculo significativo.

  • Velocidad y eficiencia: La naturaleza de este tipo de agente, que pasa por múltiples pasos incluso para tareas sencillas, lo hace inherentemente menos eficiente que los agentes tradicionales. Mejorar la velocidad y la tasa general de finalización de tareas es un objetivo importante.

  • Precisión y confiabilidad: Garantizar que el agente pueda realizar tareas con precisión sin quedarse atascado en bucles infinitos o cometer errores es fundamental para aplicaciones del mundo real. Abordar estos desafíos de precisión y confiabilidad es un área de enfoque clave.

A pesar de estos desafíos, los beneficios potenciales de un agente web que pueda manejar una amplia gama de tareas personales y relacionadas con el trabajo son significativos. La investigación y el desarrollo en curso en áreas como visión por computadora, modelos de lenguaje y planificación de tareas están ayudando a avanzar en el estado del arte en este campo.

Cómo los agentes web entienden la interfaz de usuario

Hay tres enfoques principales que los agentes web utilizan para entender e interactuar con las interfaces de usuario:

  1. Enfoque basado en HTML/XML:

    • El agente extrae la estructura HTML o XML del sitio web y usa esta información para entender el diseño y los elementos interactivos.
    • El agente puede entonces usar este conocimiento para ubicar e interactuar con elementos de la interfaz de usuario específicos, como campos de entrada, botones y enlaces.
    • Este enfoque es relativamente maduro, pero tiene limitaciones para manejar sitios web complejos o con una estructura deficiente.
  2. Enfoque basado en visión:

    • El agente utiliza modelos de visión por computadora para analizar capturas de pantalla o imágenes de la interfaz de usuario.
    • Esto permite que el agente identifique y ubique elementos de la interfaz de usuario, incluso en ausencia de datos HTML/XML limpios.
    • Se utilizan técnicas como Saliency Mapping y Reconocimiento Óptico de Caracteres (OCR) para señalar las coordenadas exactas de los elementos interactivos.
    • Combinar modelos de visión con modelos de lenguaje (por ejemplo, GPT-4) puede mejorar la precisión de este enfoque.
  3. Enfoque híbrido:

    • Este combina las fortalezas de los enfoques basados en HTML/XML y visión.
    • El agente utiliza tanto los datos estructurados del sitio web como la información visual de las capturas de pantalla para entender la interfaz.
    • Este enfoque puede manejar una gama más amplia de estructuras de sitios web y proporcionar una interacción más precisa con los elementos de la interfaz de usuario.

El poder de los enfoques multimodales

En primer lugar, una cosa que me di cuenta rápidamente es que este tipo de agente web, móvil o de escritorio que puede controlar directamente el dispositivo de computadora personal para automatizar tareas es múltiples órdenes de magnitud más difícil que los agentes de llamada de función normales que estamos construyendo. Digamos que estamos construyendo un agente simple de administración de bandeja de entrada que puede realizar acciones como enviar un correo electrónico. Con un agente de llamada de función normal, todo lo que necesitas hacer es llamar a una función predefinida llamada "enviar correo electrónico" y pasar el contenido del correo electrónico, y la tarea está hecha. No hay mucho margen de error.

Sin embargo, si intentamos hacer que un agente web complete la simple tarea de enviar un correo electrónico, tendrá que pasar por al menos cuatro pasos diferentes. Primero tendrá que abrir Gmail.com en el navegador web, hacer clic en la barra de búsqueda, buscar el correo electrónico específico al que responder, hacer clic en el correo electrónico correcto de los resultados de búsqueda, hacer clic en el botón de respuesta, escribir la respuesta y hacer clic en Enviar. Por lo tanto, se necesitan muchos más pasos para completar incluso una tarea básica. Hay mucho más margen de error en este proceso, ya que el agente puede equivocarse en cualquiera de esos pasos. El agente también necesita una memoria y capacidad de razonamiento más sólidas para recordar lo que ha hecho antes y evitar repetir los mismos errores.

Superando los problemas clave de los agentes web

Los tres principales desafíos con estos agentes web y de escritorio móvil son: velocidad, precisión y finalización de tareas. Sin embargo, a pesar de estas limitaciones, aún podemos construir herramientas útiles con este enfoque de agente web, particularmente en el área de raspado web, donde una API universal para acceder al contenido de cualquier sitio web puede ser extremadamente valiosa.

Uno de los proyectos que ha demostrado ser prometedor en esta área es WebQL, que está diseñado específicamente para resolver el problema de encontrar y ubicar elementos de la interfaz de usuario con los que los agentes puedan interactuar. Al usar WebQL, podemos crear un raspador de información de productos de comercio electrónico universal que pueda funcionar en diferentes sitios web, simplemente cambiando la URL y algunas variables.

Desbloquear el potencial del web scraping con agentes web

Uno de los desafíos clave en el raspado web ha sido la necesidad de mantener raspadores personalizados para cada sitio web, ya que su estructura y diseño a menudo cambian con el tiempo. Sin embargo, el surgimiento de agentes web que pueden controlar directamente la interfaz de usuario de un navegador web abre nuevas posibilidades para construir raspadores web más universales y robustos.

Estos agentes web aprovechan modelos de IA avanzados, como modelos de lenguaje a gran escala y técnicas de visión por computadora, para entender e interactuar con las interfaces web de una manera más similar a la humana. Al simular interacciones de usuario reales como hacer clic, desplazarse y escribir, estos agentes pueden navegar y extraer datos de una amplia gama de sitios web sin la necesidad de código personalizado.

Uno de esos proyectos de código abierto, llamado WebQL, proporciona una herramienta poderosa para construir estos agentes web. WebQL le permite definir consultas que especifican los elementos de la interfaz de usuario con los que desea interactuar, como campos de entrada, botones y listados de productos. La biblioteca luego usa visión por computadora y otras técnicas para ubicar e interactuar con estos elementos con precisión, incluso en sitios web complejos y dinámicos.

Implementar un raspador de comercio electrónico universal con WebQL

Para construir un raspador de comercio electrónico universal utilizando WebQL, seguiremos estos pasos:

  1. Instalar las bibliotecas requeridas:

    • pip install webql
    • pip install playwright
  2. Configurar la clave de la API de WebQL en un archivo .env.

  3. Crear un script de Python llamado ecommerce_scraper.py con el siguiente código:

# Código del script de raspado de comercio electrónico
  1. Ejecutar el script:
python ecommerce_scraper.py

Este script:

  1. Abrirá una sesión del navegador utilizando Playwright.
  2. Usará WebQL para ubicar el cuadro de búsqueda y el botón de búsqueda en la página de inicio, llenará "coffee machine" y hará clic en el botón de búsqueda.
  3. Usará WebQL para extraer la información del producto (nombre, número de reseñas, precio y calificación) de la página de resultados de búsqueda.
  4. Guardará los datos extraídos en un archivo CSV llamado ecommerce_products.csv.

Preguntas más frecuentes