Patrón de agente de ADK con memoria y MCP

1. Qué aprenderás

Te damos la bienvenida a la clase magistral del ADK: Tu recorrido por los sistemas multiagente

Estás a punto de ingresar al emocionante mundo de los agentes de IA. Olvídate de los chatbots simples que solo responden preguntas. Nos enfocamos en la Agent Development Kit (ADK) para crear sistemas autónomos sofisticados que puedan razonar, planificar y usar herramientas para completar tareas complejas.

versión de canción

Al final de este instructivo, podrás hacer lo siguiente:

  • Crea tu primer agente de IA: Pasa de cero a un agente completamente funcional que pueda comprender las necesidades de un usuario, usar herramientas como la Búsqueda de Google y generar respuestas detalladas y útiles.
  • Construye sistemas multiagente: Aprende el patrón "Agente como herramienta", un concepto revolucionario en el que los agentes delegan tareas a otros agentes especializados, lo que crea un equipo de expertos en IA que trabajan en conjunto.
  • Orquesta flujos de trabajo complejos: Ve más allá de la delegación simple y domina patrones avanzados como Routers, Sequential Chains, Loops y Parallel Execution para crear aplicaciones sólidas, eficientes e inteligentes que puedan controlar casi cualquier solicitud.
  • Cómo darles memoria a tus agentes: Comprende el papel fundamental de la memoria conversacional, que permite que tus agentes manejen preguntas de seguimiento, aprendan de los comentarios y administren tareas de varios pasos sin problemas.
  • Connect with MCP: Conéctate con la caja de herramientas de MCP.

Comencemos. 🚀

2. Configura la clave de API de GCP y Gemini

Cómo configurar tu proyecto de GCP y la clave de API de Gemini

Para potenciar nuestros agentes de IA, necesitamos dos cosas: un proyecto de Google Cloud que proporcione la base y una clave de API de Gemini para acceder a los potentes modelos de Google.

Paso 1: Habilita la cuenta de facturación

  • Reclama tu cuenta de facturación con un crédito de USD 5, ya que lo necesitarás para la implementación. Asegúrate de que sea tu cuenta de Gmail.

Paso 2: Crea un proyecto de GCP nuevo

  • Ve a la consola de Google Cloud y crea un proyecto nuevo.

crear una nueva cuenta de GCP

  • Ve a la consola de Google Cloud y crea un proyecto nuevo.
  • Abre el panel izquierdo, haz clic en Billing y verifica si la cuenta de facturación está vinculada a esta cuenta de GCP.

Vincula la cuenta de facturación a la cuenta de GCP

Si ves esta página, marca la casilla de verificación manage billing account, elige la prueba de Google Cloud One y vincúlala.

Paso 3: Busca el ID de tu proyecto de Google Cloud

👉 Haz clic en Activar Cloud Shell en la parte superior de la consola de Google Cloud (es el ícono con forma de terminal en la parte superior del panel de Cloud Shell). cloud-shell.png

👉 Haz clic en el botón "Abrir editor" (tiene forma de carpeta abierta con un lápiz). Se abrirá el editor de código de Cloud Shell en la ventana. Verás un explorador de archivos en el lado izquierdo. open-editor.png

👉 Busca tu ID del proyecto de Google Cloud:

  • Abre la consola de Google Cloud: vínculo
  • Selecciona el proyecto que deseas usar para este taller en el menú desplegable de la parte superior de la página.
  • Tu ID del proyecto se muestra en la tarjeta de información del proyecto en el panel.

03-04-project-id.png

👉💻 En la terminal, verifica que ya te autenticaste y que el proyecto esté configurado con tu ID del proyecto usando el siguiente comando:

gcloud auth list

👉💻 Clona el proyecto de arranque desde GitHub:

git clone https://github.com/cuppibla/adk_tutorial.git

👉💻 Ejecuta la secuencia de comandos de inicialización. Esta secuencia te pedirá que ingreses tu ID del proyecto de Google Cloud. Ingresa el ID del proyecto de Google Cloud que encontraste en el último paso cuando el script setup_venv.sh te lo solicite.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. Sesión 1: Tu primer agente en ADK Web

Ejecuta Open ADK Web de la siguiente manera:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

Después de ejecutar los comandos, deberías ver un resultado en tu terminal que indique que se inició el servidor web del ADK, similar a este:

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 A continuación, para acceder a la IU de desarrollo del ADK desde tu navegador, haz lo siguiente:

En el ícono de Vista previa en la Web (a menudo, parece un ojo o un cuadrado con una flecha) en la barra de herramientas de Cloud Shell (por lo general, en la parte superior derecha), selecciona Cambiar puerto. En la ventana emergente, establece el puerto en 8000 y haz clic en "Cambiar y obtener vista previa". Luego, Cloud Shell abrirá una nueva pestaña o ventana del navegador en la que se mostrará la IU de desarrollo del ADK.

webpreview

👉 Se completó el ritual de invocación y el agente ahora se está ejecutando. La IU para desarrolladores del ADK en tu navegador es tu conexión directa con Familiar.

Elige el agente de flujo de trabajo paralelo En el menú desplegable de la parte superior de la IU, elige el parallel_agent.

Puedes seleccionar el single_agent aquí: Imagen de seguimiento de agentes individuales

Puedes ver el registro aquí: Imagen de rastreo de un solo agente

👉 Instrucción de prueba:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. Sesión 2: Agente de flujo de trabajo: Agente secuencial, agente paralelo y agente de bucle

Agente paralelo

Elige el agente de flujo de trabajo paralelo En el menú desplegable de la parte superior de la IU, elige el parallel_agent.

👉 Instrucción de prueba:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

Puedes seleccionar el parallel_agent aquí: Imagen de seguimiento de agentes paralelos

Puedes ver el registro aquí: Imagen de seguimiento de agentes paralelos

Agente secuencial

Elige el agente de flujo de trabajo secuencial En el menú desplegable de la parte superior de la IU, elige sequential_agent.

👉 Instrucción de prueba:

Find a good sushi near Standford and tell me how to get there.

Puedes seleccionar el sequential_agent aquí: Imagen de seguimiento de agentes secuenciales

Puedes ver el registro aquí: Imagen de seguimiento de sequential_agent

Agente de Loop

Elige el agente de flujo de trabajo de bucle En el menú desplegable de la parte superior de la IU, elige loop_agent.

👉 Instrucción de prueba:

Plan a trip from Sunnyvale to San Francisco today.

Puedes seleccionar el loop_agent aquí: Imagen de seguimiento de los agentes de bucle

Puedes ver el registro aquí: Imagen de seguimiento de los agentes de bucle

5. Sesión 3: Agente personalizado

Una vez que se abra la IU web del ADK, puedes seleccionar el agente Custom_Agent.

👉 Instrucción de prueba:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

Puedes seleccionar el Custom_Agent aquí: Imagen de seguimiento de Custom_Agent

Puedes ver el registro aquí: Imagen de seguimiento de Custom_Agent

6. Sesión 4: Patrón de orquestador: agente de enrutamiento

Una vez que se abra la IU web del ADK, puedes seleccionar routing_agent.

👉 Instrucción de prueba:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Puedes seleccionar el routing_agent aquí: Imagen de seguimiento de los agentes de enrutamiento

Puedes ver el registro aquí: Imagen de seguimiento de los agentes de enrutamiento

7. Sesión 5: El agente como herramienta

Una vez que se abra la IU web del ADK, puedes seleccionar el agente Agent_as_tool.

👉 Instrucción de prueba:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Puedes seleccionar el agent_as_tool aquí: Imagen de rastreo del agente como herramienta

Puedes ver el registro aquí: Imagen de seguimiento de los agentes de enrutamiento

8. Sesión 6: Agente con memoria a largo plazo

👉💻 Pon a prueba tu memoria a largo plazo. Para ello, ve a la carpeta y usa el ejecutor para potenciar el agente:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Instrucción de prueba:

I like Art and Italian food.

Luego, presiona "Ctrl + C" para finalizar la sesión. Reinicia la sesión:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Instrucción de prueba:

Plan a trip to San Francisco based on my preference.

9. Sesión 7: Potencia tu agente con MCP

Paso 1: Prepara la base de datos local

👉💻 Ejecuta el siguiente comando en tu terminal

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

Paso 2: Instala y ejecuta el servidor de MCP Toolbox

👉💻 Ejecuta el siguiente comando en tu terminal

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

una vez que finalice la descarga y, luego, ejecuta

chmod +x toolbox

Paso 3

En una terminal, ejecuta el siguiente comando:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

En otra terminal, ejecuta el siguiente comando:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py