Get started with Agent Development Kit (ADK)

Disclaimer: Este artículo está basado en el curso de https://www.cloudskillsboost.google/ llamado “Get started with Agent Development Kit (ADK)“. cloudskillsboost.google es un gran hub de formacion de tecn

Agent Development Kit (ADK) ofrece varias ventajas clave para los desarrolladores que crean aplicaciones basadas en agentes:

  • Sistemas Multi-Agente: Construye aplicaciones modulares y escalables componiendo múltiples agentes especializados en una jerarquía. Permite una coordinación y delegación complejas.

  • Ecosistema de Herramientas Rico: Equipa a los agentes con diversas capacidades: utiliza herramientas pre-construidas (Búsqueda, Ejecución de Código, etc.), crea funciones personalizadas, integra herramientas de frameworks de agentes de terceros (LangChain, CrewAI), o incluso utiliza otros agentes como herramientas.

  • Orquestación Flexible: Define flujos de trabajo utilizando agentes de flujo de trabajo (SequentialAgent, ParallelAgent y LoopAgent) para pipelines predecibles, o aprovecha el enrutamiento dinámico impulsado por LLM (transferencia LlmAgent) para un comportamiento adaptable.

  • Experiencia de Desarrollador Integrada: Desarrolla, prueba y depura localmente con una potente CLI y una interfaz de usuario de desarrollo interactiva. Inspecciona eventos, estado y la ejecución del agente paso a paso.

  • Evaluación Incorporada: Evalúa sistemáticamente el rendimiento del agente evaluando tanto la calidad de la respuesta final como la trayectoria de ejecución paso a paso frente a casos de prueba predefinidos.

  • Listo para el Despliegue: Contenedoriza y despliega tus agentes en cualquier lugar – ejecuta localmente, escala con Vertex AI Agent Engine, o intégralos en una infraestructura personalizada utilizando Cloud Run o Docker.

Mientras que otros SDKs de Gen AI o frameworks de agentes también te permiten consultar modelos e incluso potenciarlos con herramientas, la coordinación dinámica entre múltiples modelos requiere una cantidad significativa de trabajo por tu parte.

Agent Development Kit ofrece un framework de nivel superior que estas herramientas, permitiéndote conectar fácilmente múltiples agentes entre sí para flujos de trabajo complejos pero fáciles de mantener.

Además, te permite desplegar estos complejos sistemas de agentes a un endpoint totalmente gestionado en Agent Engine, para que puedas centrarte en la lógica de los agentes mientras la infraestructura se asigna y escala por ti.

Objetivos

En este lab, crearás un único agente que pueda utilizar una herramienta de búsqueda. Probarás los agentes en la interfaz de usuario del navegador de ADK, desde una interfaz de chat CLI y programáticamente desde dentro de un script.

Considerarás:

  • Las capacidades clave de Agent Development Kit.

  • Los conceptos centrales de ADK.

  • Cómo estructurar los directorios de proyectos para ADK.

  • Los parámetros más fundamentales de los agentes en ADK, incluyendo cómo especificar los nombres de los modelos y las herramientas.

  • Algunas características de la interfaz de usuario del navegador de ADK.

  • Cómo controlar el esquema de salida de un agente.

  • Cómo ejecutar agentes de tres maneras (a través de la interfaz de usuario del navegador, programáticamente y a través de la interfaz de chat CLI).

Configuración y Requisitos

Antes de hacer clic en el botón Start Lab

Lee estas instrucciones. Los labs son cronometrados y no puedes pausarlos. El temporizador, que comienza cuando haces clic en Start Lab, muestra cuánto tiempo estarán disponibles para ti los recursos de Google Cloud.

Este lab práctico de Qwiklabs te permite realizar las actividades del lab por ti mismo en un entorno de nube real, no en un entorno de simulación o demostración. Lo hace proporcionándote nuevas credenciales temporales que utilizas para iniciar sesión y acceder a Google Cloud durante la duración del lab.

Qué necesitas

Para completar este lab, necesitas:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome).

  • Tiempo para completar el lab.

Nota: Si ya tienes tu propia cuenta o proyecto personal de Google Cloud, no lo utilices para este lab.

Nota: Si estás utilizando un Pixelbook, abre una ventana de incógnito para ejecutar este lab.

Cómo iniciar tu lab e iniciar sesión en la consola de Google Cloud

  1. Haz clic en el botón Start Lab. Si necesitas pagar por el lab, se abrirá un cuadro de diálogo para que selecciones tu método de pago. A la izquierda se encuentra el panel Lab Details con lo siguiente:

    • El botón Open Google Cloud console.

    • Tiempo restante.

    • Las credenciales temporales que debes utilizar para este lab.

    • Otra información, si es necesario, para seguir los pasos de este lab.

  2. Haz clic en Open Google Cloud console (o haz clic con el botón derecho y selecciona Open Link in Incognito Window si estás ejecutando el navegador Chrome).

El lab inicia los recursos y, a continuación, abre otra pestaña que muestra la página Sign in.

Sugerencia: Organiza las pestañas en ventanas separadas, una al lado de la otra.

Nota: Si ves el cuadro de diálogo Choose an account, haz clic en Use Another Account.

  1. Si es necesario, copia el Username que aparece a continuación y pégalo en el cuadro de diálogo Sign in.
student-XX-XXXXXXXXXXXX@qwiklabs.net

También puedes encontrar el Username en el panel Lab Details.

  1. Haz clic en Next.

  2. Copia la Password que aparece a continuación y pégala en el cuadro de diálogo Welcome.

XXXXXXXXXXXX

También puedes encontrar la Password en el panel Lab Details.

  1. Haz clic en Next.

Importante: Debes utilizar las credenciales que te proporciona el lab. No utilices las credenciales de tu cuenta de Google Cloud.

Nota: El uso de tu propia cuenta de Google Cloud para este lab puede incurrir en cargos adicionales.

  1. Haz clic en las páginas siguientes:

    • Acepta los términos y condiciones.

    • No añadas opciones de recuperación ni autenticación de dos factores (porque se trata de una cuenta temporal).

    • No te registres para pruebas gratuitas.

Después de unos instantes, la consola de Google Cloud se abre en esta pestaña.

Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el Navigation menu o escribe el nombre del servicio o producto en el campo Search.

Tarea 1. Instalar ADK y configurar tu entorno

Nota: Se recomienda utilizar una ventana del navegador de incógnito para la mayoría de los Qwiklabs para evitar confusiones entre tu cuenta de estudiante de Qwiklabs y otras cuentas conectadas a Google Cloud. Si estás utilizando Chrome, la forma más fácil de lograr esto es cerrar cualquier ventana de incógnito, luego haz clic con el botón derecho en el botón Open Google Cloud console en la parte superior de este lab y selecciona Open link in Incognito window.

Habilitar las APIs recomendadas de Vertex AI

En este entorno de lab, la API de Vertex AI ha sido habilitada para ti. Si fueras a seguir estos pasos en tu propio proyecto, podrías habilitarla navegando a Vertex AI y siguiendo la indicación para habilitarla.

Preparar una pestaña de Cloud Shell Editor

  1. Con la ventana de la consola de Google Cloud seleccionada, abre Cloud Shell presionando la tecla G y luego la tecla S en tu teclado. Alternativamente, puedes hacer clic en el botón Activate Cloud Shell en la esquina superior derecha de la consola de Cloud.

  2. Haz clic en Continue.

  3. Cuando se te solicite que autorices Cloud Shell, haz clic en Authorize.

  4. En la esquina superior derecha del panel Cloud Shell Terminal, haz clic en el botón Open in new window.

  5. En el Cloud Shell Terminal, ingresa lo siguiente para abrir el Cloud Shell Editor a tu directorio de inicio:

cloudshell workspace ~

Cierra cualquier panel adicional de tutorial o Gemini que aparezca en el lado derecho de la pantalla para guardar más espacio de tu ventana para tu editor de código.

A lo largo del resto de este lab, puedes trabajar en esta ventana como tu IDE con el Cloud Shell Editor y Cloud Shell Terminal.

Descarga e instala el ADK y los ejemplos de código para este lab

  1. Actualiza tu variable de entorno PATH e instala ADK ejecutando los siguientes comandos en el Cloud Shell Terminal. Nota: Especificarás la versión para asegurar que la versión de ADK que instales corresponda a la versión utilizada en este lab:
sudo python3 -m pip install google-adk==1.2.1
  1. Pega los siguientes comandos en el Cloud Shell Terminal para copiar un archivo desde un bucket de Cloud Storage, y descomprímelo, creando un directorio de proyecto con código para este lab:
gcloud storage cp gs://qwiklabs-gcp-XX-XXXXXXXXXXXX-bucket/adk_project.zip ./adk_project.zip
unzip adk_project.zip
  1. Instala requisitos adicionales del lab con:
sudo python3 -m pip install -r adk_project/requirements.txt

Conceptos Clave del Agent Development Kit

Google ADK está construido alrededor de algunos conceptos centrales que lo hacen poderoso y flexible:

  • Agent: Los agentes son bloques de construcción centrales diseñados para realizar tareas específicas. Pueden estar potenciados por LLMs para razonar, planificar y utilizar herramientas para lograr objetivos, e incluso pueden colaborar en proyectos complejos.

  • Tools: Las herramientas dan a los agentes habilidades más allá de la conversación, permitiéndoles interactuar con APIs externas, buscar información, ejecutar código o llamar a otros servicios.

  • Session Services: Los servicios de sesión gestionan el contexto de una sola conversación (Session), incluyendo su historial (Events) y la memoria de trabajo del agente para esa conversación (State).

  • Callbacks: Fragmentos de código personalizados que proporcionas para ejecutar en puntos específicos del proceso del agente, permitiendo comprobaciones, registro o modificaciones de comportamiento.

  • Artifact Management: Los artefactos permiten a los agentes guardar, cargar y gestionar archivos o datos binarios (como imágenes o PDFs) asociados con una sesión o usuario.

  • Runner: El motor que gestiona el flujo de ejecución, orquesta las interacciones del agente basadas en Events, y coordina con los servicios de backend.

Tarea 2. Revisar la estructura de los directorios de proyectos de Agent Development Kit

  1. En el panel del explorador de archivos del Cloud Shell Editor, encuentra la carpeta adk_project. Haz clic en ella para alternar su apertura.

Este directorio contiene otros tres directorios: my_google_search_agent, app_agent, y llm_auditor. Cada uno de estos directorios representa un agente separado. Separar los agentes en sus propios directorios dentro de un directorio de proyecto proporciona organización y permite a Agent Development Kit entender qué agentes están presentes.

  1. Haz clic en el my_google_search_agent para explorar un directorio de agente.

Observa que el directorio contiene un archivo __init__.py y un archivo agent.py. Un archivo __init__.py se utiliza típicamente para identificar un directorio como un paquete de Python que puede ser importado por otro código de Python. Haz clic en el archivo __init__.py para ver su contenido.

Observa que el archivo __init__.py contiene una sola línea, que importa desde el archivo agent.py. ADK utiliza esto para identificar este directorio como un paquete de agente:

from . import agent
  1. Ahora haz clic en el archivo agent.py. Este archivo consiste en un agente simple. Lo equiparás con una poderosa herramienta: la capacidad de buscar en Internet utilizando Google Search. Observa algunas cosas sobre el archivo:

    • Observa las importaciones desde google.adk: la clase Agent y la herramienta google_search del módulo tools.

    • Lee los comentarios del código que describen los parámetros que configuran este agente simple.

    • Para usar la herramienta google_search importada, necesita ser pasada al agente. Hazlo pegando la siguiente línea en el archivo agent.py donde se indica al final de la creación del objeto Agent:

    tools=[google_search]
  1. Guarda el archivo.

Las herramientas permiten a un agente realizar acciones más allá de generar texto. En este caso, la herramienta google_search permite al agente decidir cuándo le gustaría más información de la que ya tiene de sus datos de entrenamiento. Entonces puede escribir una consulta de búsqueda, utilizar Google Search para buscar en la web, y luego basar su respuesta al usuario en los resultados. Cuando un modelo basa su respuesta en información adicional que recupera, se le llama "grounding," y este proceso general se conoce como "retrieval-augmented generation" o "RAG."

Puedes aprender más sobre cómo utilizar herramientas con ADK en el lab Empower ADK agents with tools.

Tarea 3. Ejecutar el agente utilizando la Dev UI de ADK

ADK incluye una interfaz de usuario de desarrollo diseñada para ejecutarse localmente para ayudarte a desarrollar y probar tus agentes. Puede ayudarte a visualizar lo que cada agente está haciendo y cómo múltiples agentes interactúan entre sí. Explorarás esta interfaz en esta tarea.

Cuando ejecutas un agente, el ADK necesita saber quién está solicitando las llamadas a la API del modelo. Puedes proporcionar esta información de una de dos maneras. Puedes:

  • Proporcionar una clave de la API de Gemini.

  • Autenticar tu entorno con credenciales de Google Cloud y asociar tus llamadas a la API del modelo con un proyecto y una ubicación de Vertex AI.

En este lab, tomarás el enfoque de Vertex AI.

  1. En los menús del Cloud Shell Editor, selecciona View > Toggle Hidden Files para ver u ocultar tus archivos ocultos (los archivos con un punto al principio de su nombre de archivo están ocultos por defecto en la mayoría de los sistemas de archivos). Es posible que necesites desplazarte hacia abajo en este menú para encontrar la opción Toggle Hidden Files.

  2. En el panel del explorador de archivos del Cloud Shell Editor, navega al directorio adk_project/my_google_search_agent.

  3. Selecciona el archivo .env en el directorio my_google_search_agent.

  4. Pega estos valores sobre lo que está actualmente en el archivo para actualizar el archivo para incluir tu ID de proyecto:

GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT=qwiklabs-gcp-XX-XXXXXXXXXXXX
GOOGLE_CLOUD_LOCATION=us-central1
MODEL=gemini-2.0-flash-001
  1. Guarda el archivo.

Estas variables desempeñan los siguientes roles:

  • GOOGLE_GENAI_USE_VERTEXAI=TRUE indica que utilizarás Vertex AI para la autenticación en lugar de la autenticación con la clave de la API de Gemini.

  • GOOGLE_CLOUD_PROJECT y GOOGLE_CLOUD_LOCATION proporcionan el proyecto y la ubicación con los que asociar tus llamadas al modelo.

  • MODEL no es requerido, pero se almacena aquí para que pueda ser cargado como otra variable de entorno. Esta puede ser una forma conveniente de probar diferentes modelos en diferentes entornos de despliegue.

Cuando pruebas tu agente utilizando la interfaz de usuario de desarrollo de ADK o la interfaz de chat de la línea de comandos, cargarán y utilizarán el archivo .env de un agente si está presente o buscarán variables de entorno con los mismos nombres que los establecidos aquí.

  1. En el Cloud Shell Terminal, asegúrate de que estás en el directorio adk_project donde están ubicados tus subdirectorios de agentes ejecutando:
cd ~/adk_project
  1. Inicia la Agent Development Kit Dev UI con el siguiente comando:
adk web

Output

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)

Para ver la interfaz web en una nueva pestaña, haz clic en el enlace http://127.0.0.1:8000 en la salida del Terminal, que te enlazará a través de un proxy a esta aplicación que se ejecuta localmente en tu instancia de Cloud Shell.

Se abrirá una nueva pestaña del navegador con la ADK Dev UI.

  1. Desde el menú desplegable Select an agent de la izquierda, selecciona my_google_search_agent.

Dev UI

  1. En el campo de entrada de chat en la parte inferior derecha, comienza la conversación con:
hello

El agente debería responder. Para animar al agente a utilizar su herramienta de Google Search, introduce la pregunta:

What is some recent global news?

Notarás por los resultados que el agente puede utilizar Google Search para obtener información actualizada, en lugar de que su información se detenga en la fecha en que se entrenó su modelo.

Una respuesta utilizando grounding con Google search incluye HTML "Search Suggestions" listos para mostrar como los que ves en la parte inferior de la respuesta del agente. Cuando utilizas grounding con Google Search, estás obligado a mostrar estas sugerencias, que ayudan a los usuarios a hacer un seguimiento de la información que el modelo utilizó para su respuesta.

  1. Haz clic en el icono del agente junto a la respuesta del agente (o en un evento de la lista en el panel Events) para inspeccionar el evento devuelto por el agente, que incluye el contenido devuelto al usuario y grounding_metadata que detalla los resultados de búsqueda en los que se basó la respuesta.

  2. Cuando hayas terminado de explorar la interfaz de usuario de desarrollo, cierra esta pestaña del navegador y regresa a tu pestaña del navegador con el Cloud Shell Terminal, haz clic en el panel del terminal y presiona CTRL + C para detener el servidor web.

Tarea 4. Ejecutar un agente programáticamente

Si bien la interfaz de usuario de desarrollo es excelente para probar y depurar, no es adecuada para presentar tu agente a múltiples usuarios en producción.

Para ejecutar un agente como parte de una aplicación más grande, necesitarás incluir algunos componentes adicionales en tu script agent.py que la aplicación web manejó por ti en la tarea anterior. Procede con los siguientes pasos para abrir un script con estos componentes para revisarlos.

  1. En el Cloud Shell Terminal ejecuta los siguientes comandos para exportar variables de entorno. Puedes utilizar este enfoque para establecer variables de entorno para que todos tus agentes las utilicen si no tienen un archivo .env en su directorio:
export GOOGLE_GENAI_USE_VERTEXAI=TRUE
export GOOGLE_CLOUD_PROJECT=qwiklabs-gcp-XX-XXXXXXXXXXXX
export GOOGLE_CLOUD_LOCATION=us-central1
export MODEL=gemini-2.0-flash-001
  1. En el explorador de archivos del Cloud Shell Editor, selecciona el directorio adk_project/app_agent.

  2. Selecciona el archivo agent.py en este directorio.

Este agente está diseñado para ejecutarse como parte de una aplicación. Lee el código comentado en agent.py, prestando especial atención a los siguientes componentes en el código:

ComponentFeatureDescription
InMemoryRunner()Oversight of agent executionEl Runner es el código responsable de recibir la consulta del usuario, pasándola al agente apropiado, recibiendo el evento de respuesta del agente y pasándolo de vuelta a la aplicación o UI que llama para renderizar, y luego activando el siguiente evento. Puedes leer más en la documentación de ADK sobre el bucle de eventos.
runner.session_service.create_session()Conversation history & shared stateLas sesiones permiten a un agente preservar el estado, recordando una lista de elementos, el estado actual de una tarea u otra información 'actual'. Esta clase crea un servicio de sesión local por simplicidad, pero en producción esto podría ser manejado por una base de datos.
types.Content() y types.Part()Structured, multimodal messagesEn lugar de una simple cadena, al agente se le pasa un objeto Content que puede consistir en múltiples Parts. Esto permite que mensajes complejos, incluyendo texto y contenido multimodal, se pasen al agente en un orden específico.

Cuando ejecutaste el agente en la interfaz de usuario de desarrollo, creó un servicio de sesión, un servicio de artefactos y un runner para ti. Cuando escribes tus propios agentes para desplegar programáticamente, se recomienda que proporciones estos componentes como servicios externos en lugar de depender de versiones en memoria.

  1. Observa que el script incluye una consulta codificada, que le pregunta al agente: "¿Cuál es la capital de Francia?"

  2. Ejecuta el siguiente comando en el Cloud Shell Terminal para ejecutar este agente programáticamente:

python3 app_agent/agent.py

Selected Output:

trivia_agent: The capital of France is Paris.

También puedes definir un esquema de entrada y/o salida específico para un agente.

Ahora agregarás importaciones para las clases de esquema Pydantic BaseModel y Field y las usarás para definir una clase de esquema que consta de un solo campo, con una clave de "capital" y un valor de cadena destinado al nombre de la ciudad capital de un país. Puedes pegar estas líneas en tu archivo app_agent/agent.py, justo después de tus otras importaciones:

from pydantic import BaseModel, Field

class CountryCapital(BaseModel):
    capital: str = Field(description="A country's capital.")

Nota importante: Cuando defines un esquema de salida, no puedes utilizar herramientas ni transferencias de agentes.

Dentro de la definición del Agent de tu root_agent, agrega estos parámetros para deshabilitar las transferencias (como se requiere cuando se utiliza un esquema de salida) y para establecer que la salida se genere de acuerdo con el esquema CountryCapital que definiste anteriormente:

        disallow_transfer_to_parent=True,
        disallow_transfer_to_peers=True,
        output_schema=CountryCapital,

Ejecuta el script del agente nuevamente para ver la respuesta siguiendo el output_schema:

python3 app_agent/agent.py

Selected Output:

trivia_agent: {
"capital": "Paris"
}

Tarea 5. Chatear con un agente a través de la interfaz de línea de comandos

También puedes chatear con un agente en tu entorno de desarrollo local utilizando la interfaz de línea de comandos. Esto puede ser muy útil para depurar y probar rápidamente agentes a medida que los desarrollas.

Al igual que la interfaz web, la interfaz de línea de comandos también maneja la creación del servicio de sesión, el servicio de artefactos y el runner para tu agente.

Para ejecutar una sesión interactiva utilizando la interfaz de línea de comandos:

  1. Ejecuta lo siguiente en Cloud Shell Terminal:
adk run my_google_search_agent

Output:

Log setup complete: /tmp/agents_log/agent.20250322_010300.log
To access latest log: tail -F /tmp/agents_log/agent.latest.log
Running agent basic_search_agent, type exit to exit.
user:
  1. Ingresa el siguiente mensaje:
what are some new movies that have been released in the past month in India?

Example output (el tuyo puede ser un poco diferente):

[google_search_agent]: Here are some movies that have been released in India in the past month (approximately since April 20, 2025, given the current date of May 20, 2025):

*   **Raid 2:** Released on May 1, 2025. It's an action, crime, and thriller film starring Ajay Devgn, Vaani Kapoor, and Riteish Deshmukh.
*   **Kapkapiii:** Released on May 23, 2025. It is a comedy, horror film starring Shreyas Talpade and Tusshar Kapoor.
*   **Sister Midnight:** Released on May 23, 2025. It is a comedy, drama starring Radhika Apte.
...
  1. Cuando hayas terminado de chatear con la interfaz de línea de comandos, ingresa exit en el siguiente prompt del usuario para finalizar el chat.

Tarea 6. Vista previa de un ejemplo multi-agente

Aprenderás más sobre la construcción de sistemas multi-agente en el lab Build multi-agent systems with ADK, pero debido a que las capacidades multi-agente son centrales para la experiencia del Agent Development Kit, puedes explorar un sistema multi-agente ahora.

Este sistema agentic evalúa y mejora el grounding fáctico de las respuestas generadas por LLMs. Incluye: - un critic_agent para servir como un verificador de hechos automatizado - un reviser_agent para reescribir las respuestas si es necesario para corregir inexactitudes basadas en hallazgos verificados

Para explorar este agente:

  1. Para explorar el código de este sistema multi-agente, utiliza el explorador de archivos del Cloud Shell Editor para navegar al directorio adk_project/llm_auditor.

  2. Dentro del directorio llm_auditor, selecciona el archivo agent.py.

Aquí hay algunas cosas para notar sobre este ejemplo multi-agente:

  • Observa la importación y el uso de la clase SequentialAgent. Este es un ejemplo de una clase de flujo de trabajo que pasa el control de la conversación de un agente a otro en orden sin esperar un turno del usuario en el medio. Cuando ejecutas el agente, verás respuestas tanto del critic_agent como del reviser_agent, en ese orden, sin esperar un turno del usuario.

  • Observa que estos sub-agentes se importan cada uno desde sus propios directorios dentro de un directorio sub_agents.

  • En los directorios de los sub-agentes, verás los archivos __init__.py y agent.py como los que exploraste en la estructura de directorios anteriormente, junto con un archivo prompt.py, que proporciona un lugar dedicado para que un prompt completo y bien estructurado se almacene y edite antes de que se importe al archivo agent.py.

  1. Crea un archivo .env para este agente e inicia la Dev UI nuevamente ejecutando lo siguiente en el Cloud Shell Terminal:
cd ~/adk_project
cat << EOF > llm_auditor/.env
GOOGLE_GENAI_USE_VERTEXAI=TRUE
GOOGLE_CLOUD_PROJECT=qwiklabs-gcp-XX-XXXXXXXXXXXX
GOOGLE_CLOUD_LOCATION=us-central1
MODEL=gemini-2.0-flash-001
EOF

adk web

Nota: Si no cerraste tu sesión anterior de adk web, el puerto predeterminado de 8000 estará bloqueado, pero puedes iniciar la Dev UI con un nuevo puerto usando adk web --port 8001, por ejemplo.

  1. Haz clic en el enlace http://127.0.0.1:8000 en la salida del Terminal. Se abrirá una nueva pestaña del navegador con la ADK Dev UI.

  2. Desde el menú desplegable Select an agent de la izquierda, selecciona llm_auditor.

  3. Comienza la conversación con la siguiente declaración falsa:

Double check this: Earth is further away from the Sun than Mars.

Deberías ver dos respuestas del agente en el área de chat:

  • Primero, una respuesta detallada del critic_agent verificando la veracidad de la declaración basada en la verificación de hechos con Google Search.

  • Segundo, una breve declaración revisada del reviser_agent con una versión corregida de tu declaración de entrada falsa, por ejemplo, "Earth is closer to the Sun than Mars."

  1. Junto a cada respuesta, haz clic en el icono del agente para abrir el panel de eventos para esa respuesta (o encuentra el evento numerado correspondiente en el panel Events y selecciónalo). En la parte superior de la vista de eventos, hay un gráfico que visualiza las relaciones entre los agentes y las herramientas en este sistema multi-agente. El agente responsable de esta respuesta estará resaltado.

Siéntete libre de explorar el código más a fondo o pedir otros ejemplos de verificación de hechos en la Dev UI. Otro ejemplo que puedes probar es:

Q: Why is the sky blue? A: Because the sky reflects the color of the ocean.

Si deseas restablecer la conversación, utiliza el enlace + New Session en la parte superior derecha de la ADK Dev UI para reiniciar la conversación.

  1. Cuando hayas terminado de hacer preguntas a este agente, cierra la pestaña del navegador y presiona CTRL + C en el Terminal para detener el servidor.

Patrón humano en el bucle

Aunque este ejemplo utiliza un agente de flujo de trabajo SequentialAgent, puedes pensar en este patrón como un patrón humano en el bucle. Cuando el SequentialAgent termina su secuencia, la conversación vuelve a su padre, el llm_auditor en este ejemplo, para obtener un nuevo turno de entrada del usuario y luego pasar la conversación de vuelta a los otros agentes.

Felicidades!

En este lab, has aprendido:

  • Las capacidades clave de Agent Development Kit

  • Los conceptos centrales de ADK

  • Cómo estructurar directorios de proyecto para ADK

  • Los parámetros más fundamentales de los agentes en ADK, incluyendo cómo especificar nombres de modelo y herramientas

  • Algunas características de la UI del navegador de ADK

  • Cómo controlar el esquema de salida de un agente

  • Cómo ejecutar agentes de tres maneras (a través de la UI del navegador, programáticamente y a través de la interfaz de chat de la CLI)

Próximos Pasos

Para aprender más sobre la creación e implementación de agentes utilizando Agent Development Kit, consulta estos labs:

  • Empower ADK agents with tools

  • Build multi-agent systems with ADK

  • Deploy ADK agents to Agent Engine

Encuentra más información sobre ADK en la documentación y el repositorio de GitHub:

  • Agent Development Kit Documentation

  • adk-docs GitHub repository

1
Subscribe to my newsletter

Read articles from Ricardo Montaner Lopez directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ricardo Montaner Lopez
Ricardo Montaner Lopez