Blog / AI
AI

Integre Qwen-Agent con MCP para crear agentes con acceso a datos en tiempo real

Conecte Qwen-Agent con el servidor MCP de Bright Data para potenciar los agentes de IA con recuperación y automatización de datos web en tiempo real.
19 min de lectura
Qwen-Agent with Bright Data's MCP

En esta guía aprenderás:

  • Qué es la librería Qwen-Agent y cómo te ayuda a construir agentes de IA.
  • Por qué utilizar Qwen3 con el servidor MCP de Bright Data es ideal para crear agentes de IA de nueva generación.
  • Cómo integrar Qwen-Agent con MCP de Bright Data para construir un agente competente potenciado por Qwen3.

Sumerjámonos.

¿Qué es Qwen-Agent?

Qwen-Agent es un marco de código abierto desarrollado por Alibaba Cloud para crear aplicaciones avanzadas basadas en LLM. Aprovecha las capacidades de los modelos Qwen para crear agentes de IA compatibles con el seguimiento de instrucciones, el uso de herramientas, la planificación y la gestión de memoria.

Esta biblioteca sirve principalmente como backend para Qwen Chat. Ofrece componentes básicos para construir agentes de IA, con soporte nativo para llamadas a funciones y herramientas, incluso a través de MCP(Model Context Protocol).

Qwen-Agent permite el despliegue flexible de modelos, ya sea a través del servicio DashScope de Alibaba Cloud o de modelos Qwen autoalojados. También incluye una interfaz de usuario web basada en Gradio para desplegar y probar rápidamente sus agentes en el navegador.

Por qué combinar Qwen3 con un servidor MCP en Qwen-Agent

Qwen3 es el último modelo desarrollado por Alibaba Cloud. Ofrece un gran rendimiento y, al ser de código abierto, está disponible de forma gratuita a través de múltiples proveedores en línea (¡e incluso puedes alojarlo tú mismo!). Esto lo convierte en la opción ideal para crear agentes de IA rentables pero potentes.

Ahora, los agentes de IA impulsados por Qwen3 y construidos con Qwen-Agent ya son capaces. Aun así, heredan las limitaciones del LLM subyacente. Estas limitaciones -como la falta de acceso a información en tiempo real- pueden superarse proporcionando al agente datos precisos y permitiéndole realizar exploraciones web en directo.

Aquí es donde entra en juego el servidor MCP de Bright Data. Construido sobre Node.js, el servidor MCP se integra con el conjunto de herramientas de recuperación de datos de IA de Bright Data. A través de estas herramientas, su agente obtiene la capacidad de acceder a contenido web en tiempo real, consultar conjuntos de datos estructurados y realizar raspado web en directo.

A partir de ahora, las herramientas MCP compatibles son:

Herramienta Descripción
motor_de_busqueda Extrae resultados de búsqueda de Google, Bing o Yandex. Devuelve los resultados de las SERP en formato markdown (URL, título, descripción).
scrape_as_markdown Raspe una sola página web y devuelva el contenido extraído en formato Markdown. Funciona incluso en páginas protegidas por bots o CAPTCHA.
scrape_as_html Igual que el anterior, pero devuelve el contenido en HTML crudo.
estadísticas_de_sesión Proporciona un resumen del uso de la herramienta durante la sesión actual.
datos_web_producto_amazon Recupera datos estructurados de productos de Amazon utilizando una URL /dp/. Más fiable que el scraping gracias al almacenamiento en caché.
web_data_amazon_product_reviews Recupera datos estructurados de reseñas de Amazon utilizando una URL /dp/. En caché y fiable.
web_data_linkedin_perfil_persona Accede a datos estructurados del perfil de LinkedIn. Almacenados en caché para mayor coherencia y velocidad.
web_data_linkedin_perfil_empresa Accede a los datos estructurados de empresa de LinkedIn. La versión en caché mejora la fiabilidad.
datos_web_zoominfo_perfil_empresa Recuperar datos estructurados de empresa de ZoomInfo. Requiere una URL de ZoomInfo válida.
web_datos_instagram_perfiles Datos estructurados del perfil de Instagram. Requiere una URL de Instagram válida.
web_data_instagram_posts Recuperar datos estructurados de las publicaciones de Instagram.
web_data_instagram_reels Recuperar datos estructurados para los carretes de Instagram.
datos_web_instagram_comentarios Recupera los comentarios de Instagram como datos estructurados.
datos_web_posts_facebook Accede a los datos estructurados de las publicaciones de Facebook.
web_data_facebook_marketplace_listings Recupera anuncios estructurados de Facebook Marketplace.
web_data_facebook_company_reviews Recuperar reseñas de empresas en Facebook. Requiere la URL de la empresa y el número de opiniones.
datos_web_x_posts Recupera datos estructurados de las publicaciones de X (antes Twitter).
web_data_zillow_properties_listing Accede a los datos estructurados de los listados de Zillow.
datos_web_reserva_listados_hoteles Recuperar listados estructurados de hoteles de Booking.com.
web_data_youtube_videos Datos de vídeo estructurados de YouTube. Requiere una URL de vídeo válida.
scraping_browser_navigate Navegue con el navegador de raspado a una nueva URL.
scraping_browser_go_back Volver a la página anterior.
scraping_browser_go_forward Navegar hacia adelante en el historial del navegador.
scraping_browser_click Haga clic en un elemento específico de la página. Requiere selector de elementos.
scraping_browser_links Recupera todos los enlaces de la página actual junto con sus selectores y texto.
scraping_browser_type Simular la introducción de texto en un campo de entrada.
scraping_browser_wait_for Esperar a que un elemento específico se haga visible.
scraping_browser_screenshot Haga una captura de pantalla de la página actual.
scraping_browser_get_html Recupera el HTML completo de la página actual. Utilícelo con precaución si no necesita el contenido completo de la página.
scraping_browser_get_text Recupera el contenido de texto visible de la página actual.

Para explorar algunos ejemplos del mundo real, lea nuestra guía sobre scraping con el servidor MCP o vea cómo se integra con herramientas como el SDK de Google.

Nota: Bright Data amplía continuamente el conjunto de herramientas MCP, así que espere aún más capacidades con el tiempo.

Ahora, ¡echa un vistazo a cómo puedes usar estas herramientas MCP a través de Qwen3 con Qwen-Agent!

Cómo integrar Qwen-Agent con el servidor MCP de Bright en Python

En esta sección, aprenderá a utilizar Qwen-Agent para construir un potente agente Python de IA potenciado por Qwen3. El agente estará equipado con capacidades de raspado, recuperación y transformación de datos en vivo a través del servidor MCP de Bright Data.

A modo de ejemplo, mostraremos cómo el agente de IA puede recuperar datos de productos en tiempo real de Amazon,conocido por sus problemas de scraping. Tenga en cuenta que éste es sólo un caso de uso posible. El agente de IA puede aprovechar cualquiera de las más de 20 herramientas disponibles a través del servidor MCP para gestionar una amplia variedad de tareas.

Nota: Simplemente dándole al agente de IA diferentes indicaciones, puedes lograr cualquier otro escenario o caso de uso.

Siga los pasos que se indican a continuación para crear su agente de IA con tecnología MCP de Bright Data utilizando Qwen-Agent y Qwen 3.

Requisitos previos

Para seguir este tutorial, debe tener:

También necesitarás:

  • Una cuenta de Bright Data.
  • Una clave API de OpenRouter.

Los pasos siguientes le guiarán en la configuración de las credenciales de Bright Data y OpenRouter cuando sea necesario. Por lo tanto, no se preocupe por ellas en este momento.

Aunque no son necesarios, los siguientes conocimientos le ayudarán a sacar el máximo partido a este tutorial:

  • Comprensión general del funcionamiento de MCP.
  • Familiaridad básica con el funcionamiento del Agente Qwen.
  • Ciertos conocimientos sobre el servidor MCP de Bright Data y sus herramientas disponibles.
  • Alguna experiencia con programación asíncrona en Python.

Paso nº 1: Configuración del proyecto

Abra el terminal y cree una nueva carpeta para su agente de IA con tecnología MCP:

mkdir qwen-agent-mcp

La carpeta qwen-agent-mcp contendrá todo el código para tu agente Python de IA.

A continuación, navega hasta la carpeta del proyecto y crea un entorno virtual dentro de ella:

cd qwen-agent-mcp
python -m venv venv

Abra la carpeta del proyecto en su IDE de Python preferido. Recomendamos usar Visual Studio Code con la extensión Python o PyCharm Community Edition.

Crea un archivo llamado agent.py dentro de la carpeta del proyecto, que ahora debería tener este aspecto:

La estructura de archivos del proyecto de agente MCP Qwen-Agent

El archivo agent. py está actualmente vacío, pero pronto contendrá la lógica para integrar Qwen3 con el servidor MCP de Bright Data.

Active el entorno virtual utilizando el terminal de su IDE. En Linux o macOS, ejecute este comando:

source venv/bin/activate

De forma equivalente, en Windows, ejecute:

venv/Scripts/activate

¡Ya está todo listo! Ahora tiene un entorno Python para construir un agente de IA usando el Qwen-Agent y el servidor MCP de Bright Data.

Paso 2: Configurar las variables de entorno Lectura

Su proyecto interactuará con servicios de terceros como OpenRouter y Bright Data. Evite codificar las claves API en su código Python. En su lugar, cárguelas desde variables de entorno para mejorar la seguridad y la facilidad de mantenimiento.

Para simplificar este proceso, aprovecharemos la biblioteca python-dotenv. Con tu entorno virtual activado, instálala ejecutando:

pip install python-dotenv

A continuación, en su archivo agent.py, importe la biblioteca y cargue las variables de entorno con load_dotenv():

from dotenv import load_dotenv

load_dotenv()

Esto permite a tu script leer variables de entorno desde un archivo local .env. Así que adelante, crea un archivo . env dentro de la carpeta de tu proyecto:

El archivo .env en su carpeta de agentes anidados

Ahora puedes acceder a las variables de entorno en tu código de la siguiente manera:

env_value = os.getenv("<ENV_NAME>")

No olvides importar el módulo os de la biblioteca estándar de Python:

import os

Genial. Ahora estás preparado para cargar secretos de forma segura desde las variables de entorno.

Paso 3: Empezar con Google ADK

En su entorno virtual activado, instale la biblioteca Qwen-Agent ejecutando:

pip install "qwen-agent[gui,mcp]"

Ten en cuenta que qwen-agent admite algunos submódulos opcionales. Para este tutorial, estos dos son suficientes:

  • [gui] para una interfaz de usuario basada en Gradio.
  • [mcp ] para integrarse con cualquier servidor MCP.

A continuación, abra su archivo agent.py e incluya las siguientes importaciones:

from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

Estos se utilizarán en los siguientes pasos para conectar Qwen-Agent con el servidor MCP e implementar su agente AI.

Por defecto, Qwen-Agent espera una clave API DashScope en su entorno para acceder a los modelos Qwen. Sin embargo, en este tutorial, utilizaremos Qwen3 a través de la plataforma gratuita OpenRouter.

⚠️ Advertencia: Puede que te preguntes por qué no estamos utilizando DashScope de Alibaba Cloud para acceder directamente a Qwen3. La razón es que, en el momento de escribir este artículo, existen limitaciones para los usuarios internacionales (es decir, los usuarios de fuera de China). Estas restricciones actualmente conducen al siguiente mensaje de error (algo engañoso):

Error code: InvalidApiKey. Error message: Invalid API-key provided.

Para evitar este problema, puedes utilizar OpenRouter o cualquier otra plataforma que proporcione acceso a Qwen3 sin restricciones regionales.

Veamos ahora cómo configurar tu clave API de OpenRouter para la integración con Qwen3.

Paso 4: Recuperar la clave API de OpenRouter

Si aún no lo ha hecho, regístrese para obtener una cuenta OpenRouter. Si ya tiene una, simplemente inicie sesión.

A continuación, vaya a la página “Claves API” pasando el ratón por encima de su imagen de perfil en la esquina superior derecha y seleccionando la opción “Claves”:

La página "Claves API" en la plataforma OpenRouter

Haz clic en el botón “Crear clave API” y sigue las instrucciones para generar tu clave. A continuación, copia la clave y añádela a tu archivo .env de la siguiente forma:

OPEN_ROUTER_API_KEY="<YOUR_OPEN_ROUTER_API_KEY>"

Sustituya el por su clave de API de OpenRouter real.

A continuación, en su archivo agent.py, cargue la clave utilizando:

OPEN_ROUTER_API_KEY = os.getenv("OPEN_ROUTER_API_KEY")

¡Estupendo! Ya estás listo para usar Qwen3 con Qwen-Agent a través de OpenRouter.

Paso 5: Configurar el servidor MCP de Bright Data

Empiece por [crear una nueva cuenta de Bright Data]() o simplemente acceda a su cuenta existente.

A continuación, siga las instrucciones oficiales para:

  1. Recupere su token de API de Bright Data.
  2. Configurar Web Unlocker y Scraping Browser para la integración MCP.

Una vez hecho esto, deberías tener:

  • Un token de la API de Bright Data.
  • Una zona Web Unlocker (aquí, asumiremos que el nombre de la zona es el predeterminado “mcp_unlocker”).
  • Raspado de las credenciales del navegador en el formato <BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>.

Ahora, instale el servidor MCP de Bright Data globalmente en su entorno Node.js con:

npm install -g @brightdata/mcp

A continuación, asegúrese de especificar dos entornos en su terminal:

API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BROWSER_AUTH="<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>"

Siga el procedimiento correcto para la definición de variables de entorno en función del sistema operativo.

Ahora puede iniciar el servidor MCP a través del paquete @brightdata/mcp npm con:

npx -y @brightdata/mcp

Este comando lanza el servidor MCP localmente, leyendo las variables de entorno requeridas(API_TOKEN y BROWSER_AUTH). Si todo está configurado correctamente, debería ver una salida como esta:

Checking for required zones...
Required zone "mcp_unlocker" already exists
Starting server...

Buen trabajo. El servidor MCP de Bright Data funciona a las mil maravillas.

A continuación, añada esas dos variables de entorno a su archivo .env:

BRIGHT_DATA_API_TOKEN="<YOUR_BRIGHT_DATA_API_TOKEN>"
BRIGHT_DATA_BROWSER_AUTH="<BRIGHT_DATA_SB_USERNAME>:<BRIGHT_DATA_SB_PASSWORD>"

Sustituya los marcadores de posición por los valores reales.

En tu agent.py, carga estas variables con:

BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")

Perfecto. Ya tiene todo configurado para integrar el servidor MCP de Bright Data con Qwen-Agent.

Paso #6: Definir el Agente MCP de Qwen3

Crea una función para inicializar tu agente AI con soporte Qwen3 y MCP:

def initialize_mcp_agent():
    # To connect to Qwen3 via OpenRouter
    llm_cfg = {
        "model": "qwen/qwen3-32b:free",
        "model_server": "https://openrouter.ai/api/v1",
        "api_key": OPEN_ROUTER_API_KEY,
    }

    # To connect to the Bright Data MCP server
    tools = [{
        "mcpServers": {
            "brightdata": {
                "command": "npx",
                "args": ["-y", "@brightdata/mcp"],
                "env": {
                    "API_TOKEN": BRIGHT_DATA_API_TOKEN,
                    "BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
                }
            }
        }
    }]


    # Define the Qwen-Agent assistant with MCP integration
    agent = Assistant(
        llm=llm_cfg,
        function_list=tools,
        name="MCP-Powered Assistant with Access to Live Data",
        description="This agent can answer questions by retrieving up-to-date information from the Internet using configured MCP tools"
    )

    return agent

Como puedes ver, en el código anterior:

  • El diccionario llm_cfg configura el acceso a la versión gratuita de Qwen3 a través de la API OpenRouter.
  • La matriz de herramientas define cómo conectarse al servidor MCP de Bright Data, lo que permite al agente de IA llamar a herramientas externas de recuperación de datos.
  • Por último, la clase Assistant() proporcionada por Qwen-Agent se utiliza para definir el agente de IA con las integraciones LLM y de herramientas.

Ya está. Gracias a Qwen-Agent, la integración de MCP en su agente AI sólo requiere unas pocas líneas de código.

Paso #7: Inicie su Agente MCP Qwen3

Añade el siguiente código a agent.py para ejecutar el agente de IA definido en una interfaz de Gradio:

if __name__ == "__main__":
    # Initialize the MCP-powered agent
    mcp_agent = initialize_mcp_agent()

    # Launch the Gradio-based web UI to interact with the AI agent in the browser
    WebUI(mcp_agent).run()

Misión cumplida. Sólo queda probar el código y ver de qué es capaz el agente de la IA.

Paso 8: Póngalo todo junto

Este es el código final en agent.py:

from dotenv import load_dotenv
import os
from qwen_agent.agents import Assistant
from qwen_agent.gui import WebUI

# Load the environment variables from the .env file
load_dotenv()

# Read the API key from OpenRouter to use Qwen3
OPEN_ROUTER_API_KEY = os.getenv("OPEN_ROUTER_API_KEY")

# Read the envs for integration with the Bright Data MCP server
BRIGHT_DATA_API_TOKEN = os.getenv("BRIGHT_DATA_API_TOKEN")
BRIGHT_DATA_BROWSER_AUTH = os.getenv("BRIGHT_DATA_BROWSER_AUTH")

# Define the agent with Qwen 3 and MCP configuration
def initialize_mcp_agent():
    # To connect to Qwen3 via OpenRouter
    llm_cfg = {
        "model": "qwen/qwen3-32b:free",
        "model_server": "https://openrouter.ai/api/v1",
        "api_key": OPEN_ROUTER_API_KEY,
    }

    # To connect to the Bright Data MCP server
    tools = [{
        "mcpServers": {
            "brightdata": {
                "command": "npx",
                "args": ["-y", "@brightdata/mcp"],
                "env": {
                    "API_TOKEN": BRIGHT_DATA_API_TOKEN,
                    "BROWSER_AUTH": BRIGHT_DATA_BROWSER_AUTH,
                }
            }
        }
    }]


    # Define the Qwen-Agent assistant with MCP integration
    agent = Assistant(
        llm=llm_cfg,
        function_list=tools,
        name="MCP-Powered Assistant with Access to Live Data",
        description="This agent can answer questions by retrieving up-to-date information from the Internet using configured MCP tools"
    )

    return agent

if __name__ == "__main__":
    # Initialize the MCP-powered agent
    mcp_agent = initialize_mcp_agent()

    # Launch the Gradio-based web UI to interact with the AI agent in the browser
    WebUI(mcp_agent).run()

¡Wow! Con sólo unas 50 líneas de código, puede crear un potente agente de IA basado en MCP, gracias a Qwen-Agent y OpenRouter.

Ejecutar el agente AI con:

python agent.py

En el terminal, debería ver una salida como la siguiente:

2025-05-27 15:40:58,783 - mcp_manager.py - 122 - INFO - Initializing MCP tools from mcp servers: ['brightdata']
2025-05-27 15:40:58,800 - mcp_manager.py - 340 - INFO - Initializing a MCP stdio_client, if this takes forever, please check the config of this mcp server: brightdata
2025-05-27 15:41:01,098 - mcp_manager.py - 350 - INFO - No list resources: Method not found
* Running on local URL:  http://127.0.0.1:7860

Esto te indica que el servidor MCP está en funcionamiento y que tu agente de IA está conectado y accesible en http://127.0.0.1:7860. Visita esa URL en tu navegador para interactuar con el agente a través de la interfaz de usuario web de Gradio.

Por ejemplo, intente preguntarle algo como esto:

From the Amazon product page "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H/", extract the main info and return it in JSON format

Esta es una gran prueba para verificar si el agente de IA puede recuperar (y por lo tanto utilizar/aprender de) datos en tiempo real de la página de producto de Amazon PS5:

Página de Amazon PS5

Cuando ejecute esta solicitud en la interfaz de usuario, esto es lo que debería ocurrir:

Ejecución de la solicitud de extracción de datos de Amazon en Qwen-Agent

En primer lugar, observe que en el panel derecho hay una lista de todas las herramientas disponibles del servidor MCP de Bright Data. Además, vea cómo el agente Qwen utiliza la herramienta web_data_amazon_product del servidor MCP de Bright Data para completar la solicitud.

Puede comprobarlo consultando la lista de viñetas de la interfaz, que muestra el resultado de la ejecución de la herramienta:

Ver el resultado de la herramienta web_data_amazon_product

Al final, la salida JSON final debería tener este aspecto:

{
  "title": "PlayStation®5 console (slim)",
  "url": "https://www.amazon.com/PlayStation%C2%AE5-console-slim-PlayStation-5/dp/B0CL61F39H",
  "brand": "Sony",
  "model_number": "CFI-2015",
  "price": {
    "currency": "USD",
    "final_price": 499
  },
  "availability": "In Stock",
  "rating": 4.7,
  "reviews_count": 6824,
  "description": "The PS5 console unleashes new gaming possibilities that you never anticipated. Experience lightning fast loading with an ultra-high speed SSD, deeper immersion with support for haptic feedback, adaptive triggers, and 3D Audio*, and an all-new generation of incredible PlayStation games...",
  "key_features": [
    "Custom CPU, GPU, and SSD with Integrated I/O",
    "Support for haptic feedback, adaptive triggers, and 3D Audio",
    "Backward compatibility with PS4 games",
    "1TB SSD and 10.6 lb console weight",
    "Includes DualSense Wireless Controller"
  ],
  "delivery_info": "FREE delivery Sunday, June 1. Or Prime members get FREE Same-Day delivery Today 10 AM - 3 PM.",
  "images": [
    "https://m.media-amazon.com/images/I/41ECK5cY-2L.SL1000.jpg",
    "https://m.media-amazon.com/images/I/41srF-iY93L.SL1000.jpg"
    // more image URLs...
  ],
  "product_details": {
    "ASIN": "B0CL61F39H",
    "Release Date": "December 10, 2023",
    "Dimensions": "14 x 17 x 7 inches",
    "Weight": "10.6 pounds",
    "Best Seller Rank": "#18 in Video Games",
    "Manufacturer": "Sony"
  },
  // omitted for brevity...
}

Este sencillo ejemplo demuestra lo potente que es su agente de IA. Puede extraer datos estructurados en tiempo real de cualquier sitio sobre la marcha. Esto es perfecto para la búsqueda en directo, la RAG(Retrieval-Augmented Generation) y la toma de decisiones actualizada.

Aún mejor, el agente también puede utilizar Agent Browser (antes Scraping Browser) para interactuar directamente con las páginas web, lo que permite una automatización de alto nivel y flujos de trabajo complejos.

¡Et voilà! Ese es el poder de Qwen3 + integración MCP con Qwen-Agent para construir agentes de IA de nueva generación.

Conclusión

En esta entrada de blog, ha aprendido a crear un potente agente de IA en Python utilizando la biblioteca Qwen-Agent en combinación con Qwen3 y Bright Data MCP.

Como se muestra, la integración de un servidor MCP rico en funciones con Qwen-Agent permite a su agente de IA recuperar datos en tiempo real de la web y realizar tareas avanzadas de forma autónoma. Este es solo un ejemplo de cómo las herramientas de Bright Data pueden impulsar flujos de trabajo de IA inteligentes y automatizados.

Explore las soluciones de nuestra infraestructura de IA:

  • Agentes autónomos de IA: Busque, acceda e interactúe con cualquier sitio web en tiempo real mediante un potente conjunto de API.
  • Aplicaciones verticales de IA: cree canalizaciones de datos fiables y personalizadas para extraer datos web de fuentes específicas del sector.
  • Modelos básicos: Acceda a conjuntos de datos compatibles a escala web para potenciar el preentrenamiento, la evaluación y el ajuste.
  • IA multimodal: aproveche el mayor repositorio del mundo de imágenes, vídeos y audio optimizados para la IA.
  • Proveedores de datos: Conéctese con proveedores de confianza para obtener conjuntos de datos de alta calidad preparados para la IA a escala.
  • Paquetes de datos: Obtenga conjuntos de datos comisariados, listos para usar, estructurados, enriquecidos y anotados.

Para más información, explore nuestro centro de IA.

Cree una cuenta de Bright Data y pruebe todos nuestros productos y servicios para el desarrollo de agentes de IA.