Install ADK and set up your environment

Revisar mi progreso

/ 25

Explore the ADK agent

Revisar mi progreso

/ 25

Deploy the Agent as an A2A Server

Revisar mi progreso

/ 25

Enable another ADK agent to call the agent remotely

Revisar mi progreso

/ 25

Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Nota: Para garantizar una experiencia uniforme y de alto rendimiento, este lab puede proporcionar respuestas almacenadas en caché para algunas solicitudes de modelos.

GENAI120

Logotipo de los labs de autoaprendizaje de Google Cloud

Descripción general

El protocolo Agent2Agent (A2A) aborda un desafío importante en el panorama de la IA: permitir que los agentes de IA generativa, creados en diversos frameworks por diferentes empresas que se ejecutan en servidores separados, se comuniquen y colaboren de manera eficaz como agentes, no solo como herramientas. El objetivo de A2A es proporcionar un lenguaje común para los agentes, lo que fomenta un ecosistema de IA más interconectado, innovador y potente.

A2A se basa en algunos conceptos fundamentales que lo hacen potente y flexible:

  • Comunicación estandarizada: Utiliza JSON-RPC 2.0 a través de HTTP(S).
  • Descubrimiento de agentes: En las tarjetas de agentes, se detallan las capacidades y la información de conexión de los agentes, de manera que puedan descubrirse entre sí y conocer las capacidades de los demás.
  • Intercambio de datos enriquecidos: Controla texto, archivos y datos JSON estructurados.
  • Interacción flexible: Admite solicitudes y respuestas síncronas, transmisión (SSE) y notificaciones push asíncronas.
  • Preparado para empresas: Se diseñó teniendo en cuenta la seguridad, la autenticación y la observabilidad.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Configurar tu entorno y, luego, instalar el Kit de desarrollo de agentes (ADK)
  • Implementar un agente de ADK como servidor A2A
  • Preparar una tarjeta de agente en formato JSON para describir las capacidades de un agente A2A
  • Habilitar otro agente del ADK para que lea la tarjeta de agente de tu agente A2A implementado y lo use como agente secundario

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.

Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.

Para completar este lab, necesitarás lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.

Cómo iniciar tu lab y acceder a la consola de Google Cloud

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:

    • El botón para abrir la consola de Google Cloud
    • El tiempo restante
    • Las credenciales temporales que debes usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).

    El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
  3. De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.

    {{{user_0.username | "Username"}}}

    También puedes encontrar el nombre de usuario en el panel Detalles del lab.

  4. Haz clic en Siguiente.

  5. Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.

    {{{user_0.password | "Password"}}}

    También puedes encontrar la contraseña en el panel Detalles del lab.

  6. Haz clic en Siguiente.

    Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud. Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
  7. Haz clic para avanzar por las páginas siguientes:

    • Acepta los Términos y Condiciones.
    • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No te registres para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar. Ícono del menú de navegación y campo de búsqueda

Tarea 1: Instala el ADK y configura el entorno

En este entorno de lab, se habilitaron para ti la API de Vertex AI y la API de Cloud Run. Si siguieras estos pasos en tu proyecto, podrías habilitar las APIs navegando a Vertex AI y siguiendo la instrucción para hacerlo.

Prepara una pestaña del Editor de Cloud Shell

  1. Con la ventana de la consola de Google Cloud seleccionada, presiona G y S para abrir Cloud Shell. También puedes hacer clic en el botón Activar Cloud Shell (Activar Cloud Shell) en la parte superior derecha de la consola de Cloud.
  2. Haz clic en Continuar.
  3. Cuando se te solicite que autorices Cloud Shell, haz clic en Autorizar.
  4. En la esquina superior derecha del panel de la terminal de Cloud Shell, haz clic en el botón Abrir en una ventana nueva (Botón Abrir en una ventana nueva).
  5. Haz clic en el ícono de lápiz de Abrir editor (Ícono de lápiz del editor) en la parte superior del panel para ver los archivos.
  6. En la parte superior del menú de navegación de la izquierda, haz clic en el ícono del Explorador (Ícono del Explorador) para abrir el explorador de archivos.
  7. Haz clic en el botón Open folder.
  8. En el diálogo Open Folder que se abre, haz clic en OK para seleccionar la carpeta principal de tu cuenta de estudiante de Qwiklabs.
  9. Cierra cualquier instructivo adicional o panel de Gemini que aparezca en el lado derecho de la pantalla para que el editor de código tenga más espacio en la ventana.
  10. Durante el resto del lab, puedes trabajar en esta ventana como tu IDE con la terminal y el Editor de Cloud Shell.

Descarga e instala el ADK y las muestras de código para este lab

  • Descarga el código para este lab y, luego, instala el Kit de desarrollo de agentes (ADK) y otros requisitos ejecutando el siguiente código en la terminal de Cloud Shell:

    gcloud storage cp -r gs://{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}-bucket/* . export PATH=$PATH:"/home/${USER}/.local/bin" python3 -m pip install --upgrade google-adk[a2a]==1.31.0 google-genai

    Haz clic en Revisar mi progreso para verificar el objetivo. Instalar el ADK y configurar el entorno

Tarea 2: Explora el agente del ADK que quieres poner a disposición de forma remota

Para este lab, supongamos que trabajas en una empresa de mantenimiento de estadios llamada Cymbal Stadiums. Como parte de un proyecto reciente, desarrollaste un agente de generación de imágenes que puede crear ilustraciones según los lineamientos de la marca. Ahora diferentes equipos de tu organización también quieren usarlo.

Si copiaras el código para que muchos agentes lo usaran como agente secundario, sería muy difícil mantener y mejorar todas esas copias.

En cambio, puedes implementar el agente una vez como un agente unido a un servidor A2A, y los agentes de los otros equipos pueden incorporarlo consultándolo de forma remota.

  1. En el panel del explorador de archivos del Editor de Cloud Shell, navega al directorio adk_and_a2a/illustration_agent. Este contiene el agente de ADK que planeas poner a disposición de forma remota. Haz clic en el directorio para abrirlo.

  2. Abre el archivo agent.py en este directorio y desplázate hasta la sección etiquetada como # Tools.

  3. Observa la función generate_image(), que el agente usa como herramienta. Recibe una instrucción y realiza un proceso de dos pasos. Primero, usa el SDK de IA generativa de Google para llamar a generate_content(), que devuelve los datos de imagen sin procesar directamente en la respuesta. En segundo lugar, la función usa la biblioteca de Cloud Storage para subir estos bytes de imagen a un bucket de Google Cloud Storage. Por último, la herramienta devuelve una URL para el archivo de imagen recién creado.

  4. Ten en cuenta que la instruction proporcionada al root_agent brinda instrucciones específicas al agente para que use instrucciones de generación de imágenes que respeten los lineamientos de la marca de la empresa. Por ejemplo, especifica lo siguiente:

    • un estilo de ilustración específico (Corporate Memphis)
    • una paleta de colores (púrpuras y verdes en degradados de atardecer)
    • ejemplos de imágenes de estadios, deportes y mantenimiento (ya que es una empresa de mantenimiento de estadios)
  5. Para verlo en acción, primero deberás escribir un archivo .env para establecer las variables de entorno que necesitan los agentes del ADK. Ejecuta lo siguiente en la terminal de Cloud Shell para escribir este archivo en este directorio.

    cd ~/adk_and_a2a cat << EOF > illustration_agent/.env GOOGLE_GENAI_USE_VERTEXAI=TRUE GOOGLE_CLOUD_PROJECT={{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} GOOGLE_CLOUD_LOCATION=global MODEL={{{project_0.startup_script.gemini_flash_model_id | gemini_flash_model_id}}} IMAGE_MODEL={{{project_0.startup_script.gemini_flash_image_model_id | gemini_flash_image_model_id}}} EOF
  6. Ejecuta el siguiente comando para copiar el archivo .env en otro directorio de agente que usarás en este lab:

    cp illustration_agent/.env slide_content_agent/.env
  7. Para permitir que el agente cree una URL firmada para sus imágenes, debes usar la identidad de una cuenta de servicio dedicada. Ejecuta el siguiente comando para configurar las credenciales predeterminadas de la aplicación con otra identidad:

    gcloud auth application-default login \ --impersonate-service-account=illustration-agent-sa@{{{project_0.project_id|YOUR_GCP_PROJECT_ID}}}.iam.gserviceaccount.com
  8. En la terminal de Cloud Shell, se te pedirá que confirmes que deseas autenticarte con una cuenta personal. Escribe Y (para indicar "Sí") y presiona Intro.

  9. Haz clic en el vínculo proporcionado y selecciona tu cuenta de estudiante de Qwiklabs para autenticarte.

  10. Una vez que te autentiques, se te mostrará un código de autorización. Usa el botón Copiar para copiar ese código y volver a la terminal de Cloud Shell.

  11. Pega el código copiado en la terminal de Cloud Shell y presiona Intro.

  12. Ahora, desde la terminal de Cloud Shell, inicia la IU de desarrollo del Kit de desarrollo de agentes con el siguiente comando:

    adk web --allow_origins "regex:https://.*\.cloudshell\.dev"

    Resultado

    INFO: Started server process [2434] INFO: Waiting for application startup. +-------------------------------------------------------+ | ADK Web Server started | | | | For local testing, access at http://localhost:8000. | +-------------------------------------------------------+ INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
  13. Para ver la interfaz web en una pestaña nueva, haz clic en el vínculo http://127.0.0.1:8000, que se encuentra en la parte inferior del resultado de la terminal.

  14. Se abrirá una nueva pestaña del navegador con la IU de desarrollo del ADK.

  15. En la pestaña de la IU de desarrollo del ADK, en el menú desplegable Seleccionar una app de la izquierda, elige illustration_agent.

  16. Hazle una pregunta al agente con un texto que se podría usar en una presentación de diapositivas de reclutamiento:

    ¡La unión hace la fuerza!
  17. Después de un minuto o dos, el agente responde con la instrucción que generó y una vista previa de la imagen.

    Resultado de ejemplo

    Imagen generada y respuesta.

  18. Ten en cuenta que la instrucción que le proporcionaste al agente no mencionó deportes, estadios ni trabajos de mantenimiento, pero el agente tomó tu texto y los lineamientos de la marca, y los combinó en una sola instrucción para el modelo de generación de imágenes.

    Cuando termines de explorar el agente base, cierra la pestaña del navegador.

  19. Vuelve a la terminal de Cloud Shell y presiona Ctrl + C para detener el servidor.

    Haz clic en Revisar mi progreso para verificar el objetivo. Explorar el agente del ADK

Tarea 3: Implementa el agente como un servidor A2A

En esta tarea, seguirás los pasos para implementar este agente como un agente A2A remoto. Un agente A2A se identifica a sí mismo y a sus capacidades publicando una tarjeta de agente.

  1. Ejecuta el siguiente comando para crear un archivo agent.json.

    cat << EOF > illustration_agent/agent.json { "name": "illustration_agent", "description": "Un agente diseñado para generar ilustraciones de marca para Cymbal Stadiums.", "defaultInputModes": ["text/plain"], "defaultOutputModes": ["application/json"], "skills": [ { "id": "illustrate_text", "name": "Illustrate Text", "description": "Genera una ilustración para explicar el significado del texto proporcionado.", "tags": ["illustration", "image generation"] } ], "url": "https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app/a2a/illustration_agent", "capabilities": {}, "version": "1.0.0" } EOF
  2. Revisa el código JSON del archivo agent.json. Observa que le da al agente un name y una description, y que identifica algunas skills. También indica una url en la que se puede llamar al agente.

    La url del agente se construye para que sea la URL del servicio de Cloud Run una vez que lo implementes siguiendo las instrucciones de este lab.

    Si bien el nombre es similar al de skills, el parámetro capabilities aquí se reserva para indicar habilidades como la transmisión.

  3. Ejecuta el siguiente comando para crear un archivo requirements.txt en el directorio illustration_agent:

    cat << EOF > illustration_agent/requirements.txt google-adk[a2a]==1.31.0 EOF
  4. En el siguiente comando, usarás adk deploy cloud_run con la marca --a2a para implementar tu agente en Cloud Run como un servidor A2A:

    adk deploy cloud_run \ --project {{{project_0.project_id| YOUR_GCP_PROJECT_ID}}} \ --region {{{project_0.default_region| GCP_LOCATION}}} \ --service_name illustration-agent \ --a2a \ illustration_agent \ -- \ --service-account=illustration-agent-sa@{{{project_0.project_id| YOUR_GCP_PROJECT_ID}}}.iam.gserviceaccount.com \ --set-env-vars="GOOGLE_CLOUD_LOCATION=global"
  5. Cuando se te solicite permitir respuestas sin autenticar, escribe Y y, luego, presiona INTRO.

    Mientras se implementa el agente, revisa los siguientes argumentos que se pasaron al comando:

    • --project y --region definen el proyecto y la región en los que se implementará tu servicio de Cloud Run.
    • --service_name define el nombre del servicio de Cloud Run.
    • La marca --a2a indica que se debe alojar como un agente A2A. Esto significa que tu agente se unirá con una clase que vincula los agentes del ADK y A2A, A2aAgentExecutor. Esta clase traduce el lenguaje de tareas y mensajes del protocolo A2A a un Runner del ADK en su lenguaje de eventos.
    • El separador -- se usa para pasar marcas directamente al comando subyacente gcloud run deploy. La herramienta del ADK ignora cualquier marca que se incluya después de --, y Google Cloud CLI las controla directamente. Aquí se usa para asignar la cuenta de servicio dedicada y establecer la variable de entorno GOOGLE_CLOUD_LOCATION en la implementación inicial.
    Nota: La implementación debería tardar entre 5 y 10 minutos. Si encuentras un error de PERMISSION_DENIED, intenta ejecutar el comando anterior de nuevo.

    Resultado esperado:

    Deberías ver los pasos relacionados con la creación de un Dockerfile y la implementación del contenedor; luego, la implementación del servicio y, por último, lo siguiente:

    Service [illustration-agent] revision [illustration-agent-00001-xpp] has been deployed and is serving 100 percent of traffic. Service URL: https://illustration-agent-{{{project_0.startup_script.project_number|Project Number}}}.{{{project_0.default_region| GCP_LOCATION}}}.run.app

    Haz clic en Revisar mi progreso para verificar el objetivo. Implementar el agente como un servidor A2A

Tarea 4: Habilita otro agente del ADK para que llame a este agente de forma remota

En esta tarea, le proporcionarás a un segundo agente del ADK la capacidad de identificar las capacidades de tu agente de ilustración y llamarlo de forma remota. Este segundo agente tiene la tarea de crear contenido para las diapositivas. Debe escribir un título y un par de oraciones para el texto del cuerpo y, luego, transferirse al agente de ilustración para generar una imagen que ilustre ese texto.

  1. En la terminal de Cloud Shell, ejecuta el siguiente comando para copiar el archivo JSON de la tarjeta de agente en tu directorio adk_and_a2a y cambiar su nombre para indicar que representa el illustration_agent.

    cp illustration_agent/agent.json illustration-agent-card.json
  2. En el panel del explorador de archivos del Editor de Cloud Shell, navega al directorio adk_and_a2a/slide_content_agent y abre el archivo agent.py.

    Revisa la instruction de este agente para ver que tome la sugerencia de un usuario para una diapositiva, la use para escribir un título y un texto del cuerpo y, luego, solicite que tu agente A2A proporcione una ilustración para la diapositiva.

  3. Pega el siguiente código debajo del encabezado # Agents (alrededor de la línea #16) para agregar el agente remoto con la clase RemoteA2aAgent del ADK:

    illustration_agent = RemoteA2aAgent( name="illustration_agent", description="Agente que genera ilustraciones.", agent_card=( "illustration-agent-card.json" ), )
  4. Agrega illustration_agent como un agente secundario de root_agent ingresando el siguiente parámetro en # Add the sub_agents parameter below en el mismo archivo:

    sub_agents=[illustration_agent]
  5. Guarda el archivo.

  6. Inicia la IU desde la terminal de Cloud Shell con el siguiente comando:

    cd ~/adk_and_a2a adk web --allow_origins "regex:https://.*\.cloudshell\.dev"
  7. Una vez más, haz clic en el vínculo http://127.0.0.1:8000 en el resultado de la terminal para iniciar la IU de desarrollo del ADK.

  8. En la pestaña del navegador de la IU de desarrollo del ADK, en el menú desplegable Seleccionar una app de la izquierda, elige slide_content_agent.

  9. Dale una instrucción al agente con una idea para una diapositiva de la siguiente manera:

    Crea contenido para una diapositiva sobre nuestra excelente capacitación en el trabajo.

    Deberías ver el siguiente resultado:

    • Un título y un texto del cuerpo escritos por el propio slide_content_agent
    • Una llamada a transfer_to_agent, que indica una transferencia al illustration_agent
    • La respuesta de illustration_agent con la imagen nueva.

    Resultado esperado:

    El agente genera texto y, luego, se transfiere a illustration_agent para generar una imagen.

    Haz clic en Revisar mi progreso para verificar el objetivo. Habilitar otro agente del ADK para que llame al agente de forma remota

¡Felicitaciones!

En este lab, demostraste el potencial de la colaboración entre agentes con el protocolo A2A. Implementaste un agente del ADK local en Cloud Run como un microservicio discreto y detallaste sus capacidades a través de una tarjeta de agente estandarizada. Luego, transferiste de forma segura las tareas desde un agente independiente secundario. Con estas habilidades básicas, podrás comenzar a crear ecosistemas multiagente escalables en equipos distribuidos.

Capacitación y certificación de Google Cloud

Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.

Última actualización del manual: 20 de abril de 2026

Prueba más reciente del lab: 20 de abril de 2026

Copyright 2026 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usar una ventana de incógnito o de navegación privada es la mejor forma de ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.

Completa este sencillo paso para comenzar tu lab.