En los últimos meses, varios proyectos de código abierto han demostrado que los AI agents pueden interactuar directamente con sitios web, transformando el developer workflow. Esta capacidad combina web scraping avanzado con la integración de modelos de lenguaje grande (LLM integration) para generar código, documentación y pruebas de forma automática.

Anuncio

Cómo los LLMs pueden Navegar y Procesar Sitios Web: Make AI Agents See Your Website: Cómo los LLMs pueden Navegar y Proc - imagen ilustrativa
Foto por Markus Spiske en Unsplash

Recientemente, LangChain lanzó una extensión que permite a los agentes basados en LLM consumir el DOM de una página obtenida con Playwright. La iniciativa incluye ejemplos de integración con CrewAI y AutoGPT, ofreciendo un punto de partida listo para producción.

Novedades

Novedades Make Agents See - imagen ilustrativa
Foto por Tim Mossholder en Unsplash

Los componentes clave son tres:

  • Captura sin cabeza: Playwright o Puppeteer renderizan la página como lo haría un navegador real, garantizando que el JavaScript se ejecute y los recursos dinámicos estén disponibles.
  • Extracción y estructuración: El HTML bruto se transforma en texto limpio, árboles DOM y metadatos que el LLM puede consumir de manera eficiente.
  • Integración con agentes: Frameworks como LangChain habilitan prompts que convierten la información extraída en respuestas accionables, generación de código o incluso control de la UI.

Impacto y Polémica

Impacto y Polémica Make Agents See - imagen ilustrativa
Foto por wilson montoya en Unsplash

Esta capacidad promete acelerar tareas como la generación de documentación actualizada, depuración asistida y pruebas automatizadas de UI. Sin embargo, plantea retos de seguridad: los agentes deben operar en entornos aislados (sandboxing) y limitar el acceso a recursos sensibles. Además, la latencia introducida por la renderización del navegador puede afectar la usabilidad en flujos críticos.

Ejemplo de uso

El siguiente fragmento muestra cómo capturar una página con Playwright, extraer su contenido y enviarlo a un LLM mediante LangChain.

import asyncio
from playwright.async_api import async_playwright
from langchain.llms import OpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

async def get_page_html(url: str) -> str:
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto(url)
        # Esperar a que el DOM esté estable
        await page.wait_for_load_state('networkidle')
        html = await page.content()
        await browser.close()
        return html

# Prompt que pide al LLM una explicación breve del contenido
prompt = PromptTemplate(
    input_variables=['html'],
    template='Analiza el siguiente HTML y genera una descripción breve en español: {html}'
)

llm = OpenAI(temperature=0)
chain = LLMChain(llm=llm, prompt=prompt)

async def main():
    url = 'https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API'
    html = await get_page_html(url)
    result = await chain.arun(html=html)
    print(result)

asyncio.run(main())

Este script permite que un agente IA “vea” la página, la convierta a texto y genere una respuesta útil para el desarrollador.

Perspectiva futura

Se espera que la combinación de captura de navegador y LLMs evolucione hacia agentes más autónomos, capaces de completar formularios, realizar transacciones y generar pruebas end‑to‑end sin intervención humana. La clave será equilibrar la potencia de los modelos de IA con controles de seguridad robustos y optimizaciones de rendimiento.

Referencias

  1. Playwright – documentación oficial
  2. LangChain – repositorio en GitHub
  3. AutoGPT – proyecto de IA autónoma
  4. CrewAI – framework para agentes colaborativos
  5. MDN Web Docs – API Fetch