Elasticsearch tiene integraciones nativas con las herramientas y proveedores líderes en la industria de IA generativa. Echa un vistazo a nuestros webinars sobre cómo ir más allá de los conceptos básicos de RAG o crear apps listas para la producción con la base de datos vectorial de Elastic.
Para crear las mejores soluciones de búsqueda para tu caso de uso, inicia una prueba gratuita en el cloud o prueba Elastic en tu máquina local ahora mismo.
¿Tienes una idea para un agente de IA? Probablemente implica hacer algo con datos porque, si un agente va a iniciar una acción útil, necesita tomar una decisión y necesita los datos correctos para tomar la decisión correcta.
Elastic Agent Builder facilita la creación de agentes de IA conectados a datos. Te mostraremos cómo hacerlo en esta publicación de blog. Veamos todos los pasos necesarios para crear un agente con una herramienta MCP que acceda a los datos almacenados en Elastic. Luego usaremos el SDK de Strands Agents y sus capacidades Agent2Agent (A2A) para operar el agente. El SDK de Strands Agents es una plataforma de desarrollo de IA multiagente que puedes usar para crear apps de agentes con el código justo para asegurarte de obtener el resultado que quieres.
Construyamos un agente de IA que juegue el juego de RPS+, que es una versión del clásico juego de "Piedra, papel o tijeras" con un toque adicional; les da a los jugadores del juego un par de opciones adicionales.
Requisitos previos
Aquí está lo que se requiere para seguir los pasos en esta publicación de blog:
- Un editor de texto ejecutándose en tu computadora local
- Visual Studio Code es lo que usaremos para las instrucciones de ejemplo en esta publicación de blog
- Python 3.10 o superior funcionando en tu computadora local
Crea un proyecto Serverless
Lo primero que necesitamos es un proyecto Elasticsearch Serverless, que incluye Elastic Agent Builder.
Ve a cloud.elastic.co y crea un nuevo proyecto de Elasticsearch Serverless.

Crea un índice y agrega datos
A continuación, vamos a agregar algunos datos a nuestro proyecto de Elasticsearch. Abre Developer Tools, donde podemos ejecutar comandos para crear un nuevo índice e insertar algunos datos en él. Selecciona Herramientas para desarrolladores en el menú de navegación de nivel superior.

Copia y pega el siguiente comando PUT en el área de entrada de solicitud de la consola de Developer Tools. Esta declaración crea un índice de Elasticsearch llamado “game-docs”.
Haz clic en el botón Enviar solicitud que aparece en el lado derecho de la declaración en Herramientas para desarrolladores. Deberías ver una notificación que confirme que el índice game-docs se creó en el área de respuesta de Herramientas para desarrolladores.

Un índice llamado game-docs es el lugar ideal para almacenar los datos del juego que estamos creando. Pongamos un documento llamado rps+-md en este índice que contiene todos los datos que requiere nuestro juego. Copia y pega el siguiente comando PUT en la consola de Herramientas para desarrolladores.
Haz clic en el botón Enviar solicitud junto a la instrucción para ejecutarlo y agregar el documento rps+-md al índice de documentación del juego.

Ahora deberíamos tener algunos datos para consultar, y con Agent Builder, eso es más simple que nunca.
Selecciona Agentes en el menú de navegación superior.

Luego, todo lo que tienes que hacer es preguntarle al agente de Elastic AI predeterminado: "¿Qué datos tengo?".

El agente de Elastic AI evalúa los datos y devuelve una explicación concisa de los datos que tenemos.
Crear una herramienta
Listo, ahora tenemos algunos datos en Elastic; vamos a ponerlos en práctica. Agent Builder incluye soporte integrado para crear herramientas MCP que ayudan a los agentes a acceder a los datos que necesitan para tener el contexto adecuado para su tarea. Vamos a crear una herramienta sencilla que recupere los datos de nuestro juego.
Haz clic en el menú de acciones de Agent Builder.

Selecciona Ver todas las herramientas en las opciones del menú.

Haz clic en + Nueva herramienta.

En el formulario Crear herramienta, selecciona ES|QL como Tipo de herramienta e ingresa los siguientes valores.
Para el ID de la herramienta:
Para la Descripción:
Para la configuración, ingresa la siguiente consulta en el área de texto Consulta ES|QL :
Tu formulario completado de Crear herramienta debería verse así. Haz clic en Guardar para crear la herramienta.

Tenemos una nueva herramienta disponible en el estante de herramientas. Las herramientas no deberían estar colgadas perpetuamente en un estante; hay que darles un uso digno. Creemos un agente que pueda emplear nuestra nueva herramienta personalizada.
Crea un agente y asígnale una herramienta
Crear un agente es sorprendentemente sencillo con Agent Builder. Solo tienes que ingresar las instrucciones del agente con algunos detalles y eso es todo lo que necesitas. Vamos a crear un agente ahora.
Haz clic en Gestionar agentes.

Haz clic en + Nuevo agente.

Introduce la siguiente información en el formulario Nuevo agente.
Para ID de agente, ingresa el texto a continuación:
En el área de texto de Instrucciones personalizadas , ingresa las siguientes instrucciones:
Para el Nombre de visualización, ingresa el texto a continuación:
Para la Descripción de la pantalla, ingresa el texto a continuación:
Brinda al agente la herramienta personalizada que creamos previamente al hacer clic en la pestaña Herramientas.

Selecciona solo la herramienta example.get_game_docs que creamos anteriormente.

Haz clic en Guardar para crear el nuevo agente.

Probemos nuestro nuevo agente. Hay un enlace útil para iniciar un chat con cualquier agente de la lista de agentes.

Simplemente ingresa “iniciar juego” y el juego comenzará. ¡Funciona!

Puedes ver que el agente muestra su elección de objeto de juego en la parte superior de su respuesta. Esto es útil porque podemos ver la elección del agente y confirmar que el juego funciona como se espera. Sin embargo, conocer la elección de tu oponente antes de elegir no lo convierte en un juego muy divertido de "Piedra, papel o tijeras". Para pulir y perfeccionar el juego hasta su forma final, podemos usar una plataforma de orquestación de agentes que pueda controlar a los agentes con código.
El SDK de Strands Agents entra al chat.
SDK de agentes de Strands

Si tienes curiosidad por probar nuevos marcos de trabajo de desarrollo de agentes, entonces vale la pena probar el SDK de Strands Agents. El SDK de Strands Agents fue lanzado por AWS (mayo de 2025) como una implementación de open source Python, y ahora también hay una versión en Typescript.
Introducción al SDK de Strands Agents en Python
Enciende tus motores de programación, ahora vamos a pasar rápidamente por el proceso de clonación y ejecución de una app de ejemplo que usa Strands Agents para controlar el agente de RPS+ mediante el protocolo A2A. Vamos a crear una versión ajustada del juego RPS+ para que la elección del agente se revele después de que hagas tu elección, porque, después de todo, es la adivinación y el resultado sorpresa lo que hace que juegos como "Piedra, papel o tijeras" sean divertidos.
En tu computadora local, abre Visual Studio Code y abre una nueva terminal.

En la terminal recién abierta, ejecuta el siguiente comando para clonar el repositorio de Elasticsearch Labs:
Ejecuta el siguiente comando cd para cambiar el directorio al directorio elasticsearch-labs:
A continuación, ejecuta el siguiente comando para abrir el repositorio en Visual Studio Code:
En el Explorador de archivos de Visual Studio, expande las carpetas supporting-blog-content y agent-builder-a2a-strands-agents y luego abre el archivo elastic_agent_builder_a2a_rps+.py. Así es como se ve el archivo abierto en Visual Studio Code:

Aquí tienes el contenido de elastic_agent_builder_a2a_rps+.py que deberías ver en tu editor de texto:
Repasemos qué está pasando en este código. A partir del método main() , el código comienza accediendo a las variables de entorno para la URL del agente y la clave de API. Luego, usamos esos valores para crear un httpx client que podamos usar para obtener la tarjeta de agente para el agente. El cliente luego usa los detalles de la tarjeta del agente para enviar una solicitud de "iniciar juego" al agente. Un aspecto interesante a tener en cuenta aquí es que incluimos un valor random_game_object como parte de la solicitud "start game". Este valor es un número aleatorio generado con el módulo aleatorio de la biblioteca estándar de Python. La razón para hacerlo es que resulta que los poderosos LLM (que hacen posibles a los agentes de IA) no son muy buenos en la aleatoriedad. No hay problema, Python viene al rescate.
Continuando con la programación, una vez que el agente responde a la solicitud de "iniciar juego", el código elimina la selección del objeto de juego del agente y lo guarda en la variable agent_choice. El resto de la respuesta se muestra como texto para el usuario final. Luego, se le solicita al usuario su entrada de elección de objeto de juego, la cual se envía al agente. El código muestra la elección del objeto del juego del agente junto con la determinación final del agente sobre el resultado del juego.
Establecer la URL de tu agente y la clave de API como variables de entorno
Dado que la app de ejemplo se ejecutará en tu computadora local, para comunicarla con nuestro agente Agent Builder, debemos proporcionar al SDK de Strands Agents una URL A2A y una clave API para el agente. La app de ejemplo emplea un archivo llamado .env para almacenar estos valores.
Haz una copia del archivo env.example y nombra el nuevo archivo .env

Vuelve a Elastic Agent Builder, donde podrás obtener los dos valores que necesitas.
Selecciona Ver todas las herramientas en el menú de acciones de Agent Builder en la parte superior derecha de la página.

Haz clic en el menú desplegable servidor MCP en la parte superior de la página Herramientas y selecciona Copiar URL del servidor MCP.

Pega la URL del servidor MCP en el archivo .env como reemplazo para el valor de marcador de posición <YOUR-ELASTIC-AGENT-BUILDER-URL> . Ahora necesitamos hacer una actualización a la URL, es decir, reemplazar el texto final “mcp” con “a2a” porque el protocolo A2A es lo que usará el Agent Strands SDK para comunicarse con el agente que se ejecuta en Elastic Agent Builder.
La URL editada debería verse así:
El otro valor que necesitamos obtener mientras estamos aquí en Elastic Cloud es una clave API. Haz clic en Elasticsearch en el menú de navegación superior.

Haz clic en el botón Copiar clave API para copiar la clave API.

Ahora, de vuelta en Visual Studio Code, pega la clave API en el archivo .env para reemplazar el texto del marcador de posición <YOUR-ELASTIC-API-KEY> . Tu archivo .env debería verse algo así:

Ejecuta la app de ejemplo
Abre una nueva terminal en Visual Studio Code.

Empieza ejecutando el siguiente comando cd en la terminal:
Ejecuta el siguiente comando para crear un entorno virtual en Python.
Dependiendo del sistema operativo de tu computadora local, ejecuta el siguiente comando para activar el entorno virtual.
- MacOS/Linux
- Windows
La app de ejemplo utiliza Strands Agents SDK, y ahora nos encontramos en el punto de este tutorial en el que debes instalarlo. Ejecuta el siguiente comando para instalar el SDK de Strands Agents junto con todas tus dependencias requeridas de la biblioteca de Python.
Es hora de limpiar la plataforma de lanzamiento y comenzar la cuenta regresiva. Estamos listos para lanzar esta app. Retírate. Vamos a ejecutarla usando el siguiente comando:
Deberías desafiarte con un juego de RPS+. ¡Bien hecho y mucha suerte!

Crea tus apps de IA con contexto relevante
Crear un agente con IA es ahora una habilidad en tu caja de herramientas. Y has visto lo fácil que es usar agentes de Elastic Agent Builder a través de A2A en marcos de trabajo de agentes como Strands Agents SDK. Prueba Elastic para crear agentes de IA conectados al contexto relevante en tus datos personalizados.




