Elige un patrón de diseño para tu sistema de agente de IA

En este documento, se proporciona orientación para ayudarte a elegir un patrón de diseño para tu sistema de IA basado en agentes. Los patrones de diseño de agentes son enfoques arquitectónicos comunes para compilar aplicaciones basadas en agentes. Un arquetipo de diseño de agente ofrece un marco de trabajo distinto para organizar los componentes de un sistema, integrar el modelo y organizar un solo agente o varios para completar un flujo de trabajo.

Los agentes de IA son eficaces para las aplicaciones que resuelven problemas abiertos, que pueden requerir una toma de decisiones autónoma y una administración compleja de flujos de trabajo de varios pasos. Los agentes se destacan por resolver problemas en tiempo real con datos externos y por automatizar tareas que requieren mucho conocimiento. Los agentes de IA son adecuados cuando necesitas que la IA complete tareas enfocadas en objetivos con cierto grado de autonomía. Para otros casos de uso, puedes usar aplicaciones de IA asistiva y generativa. Para obtener más información sobre las diferencias entre los agentes de IA y las aplicaciones de IA no agentivas, consulta ¿Cuál es la diferencia entre agentes de IA, asistentes de IA y bots?

En esta guía, se supone que tienes conocimientos básicos sobre los sistemas de IA basados en agentes y cómo su arquitectura difiere de la de los sistemas no basados en agentes, como los que usan el razonamiento directo del modelo o la generación mejorada por recuperación (RAG).

Para obtener un resumen de la orientación sobre los patrones de agentes, consulta la sección Comparación de patrones de diseño más adelante en este documento.

Descripción general del proceso de diseño

A continuación, se indican los pasos generales para elegir un patrón de diseño para tu sistema de IA con agentes. Estos pasos se describen en detalle más adelante en este documento.

  1. Define tus requisitos: Evalúa las características de tu carga de trabajo, incluida la complejidad de las tareas, las expectativas de latencia y rendimiento, el presupuesto de costos y la necesidad de participación humana.
  2. Revisa los patrones de diseño de agentes comunes: Obtén información sobre los patrones de diseño comunes en esta guía, que incluyen tanto sistemas de un solo agente como sistemas multiagente.
  3. Selecciona un patrón: Selecciona el patrón de diseño adecuado según las características de tu carga de trabajo.

Este proceso no es una decisión única. Debes volver a revisar estos pasos periódicamente para perfeccionar tu arquitectura a medida que cambien las características de tu carga de trabajo, evolucionen tus requisitos o haya nuevas Google Cloud funciones disponibles.

Define tus requisitos

Las preguntas que aparecen a continuación no son listas de tareas exhaustivas para la planificación. Usa estas preguntas como punto de partida para identificar el objetivo principal de tu sistema de agente y seleccionar el mejor patrón de diseño.

  • Características de la tarea: ¿Tu tarea se puede completar en pasos de flujo de trabajo predefinidos o es de final abierto? ¿Tu tarea necesita usar un modelo de IA para coordinar el flujo de trabajo?
  • Latencia y rendimiento: ¿Necesitas priorizar respuestas rápidas o interactivas a costa de la precisión o las respuestas de alta calidad? ¿O tu aplicación puede tolerar una demora para obtener un resultado más preciso o completo?
  • Costo: ¿Cuál es tu presupuesto para los costos de inferencia? ¿Pueden admitir patrones que requieren varias llamadas al modelo para una sola solicitud?
  • Participación humana: ¿Tu tarea implica decisiones importantes, operaciones críticas para la seguridad o aprobaciones subjetivas que requieren criterio humano?

Si tu carga de trabajo es predecible o muy estructurada, o si se puede ejecutar con una sola llamada a un modelo de IA, puede ser más rentable explorar soluciones no basadas en agentes para tu tarea. Por ejemplo, es posible que no necesites un flujo de trabajo basado en agentes para tareas como resumir un documento, traducir texto o clasificar los comentarios de los clientes. Para obtener información sobre cómo elegir componentes de arquitectura para aplicaciones de IA generativa que no requieren una infraestructura basada en agentes, consulta Elige modelos y la infraestructura para tu aplicación de IA generativa.

En las siguientes secciones, se describen patrones de diseño de agentes comunes para crear un sistema de IA agentiva confiable y eficaz.

Sistema de un solo agente

Un sistema de un solo agente usa un modelo de IA, un conjunto definido de herramientas y una instrucción del sistema integral para manejar de forma autónoma una solicitud del usuario o completar una tarea específica. En este patrón fundamental, el agente se basa en las capacidades de razonamiento del modelo para interpretar la solicitud de un usuario, planificar una secuencia de pasos y decidir qué herramientas usar de un conjunto definido. La instrucción del sistema define la tarea principal, el arquetipo y las operaciones del agente, así como las condiciones específicas para usar cada herramienta, lo que determina el comportamiento del agente.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de un solo agente:

Arquitectura del patrón de diseño de un solo agente.

Un sistema de un solo agente es ideal para tareas que requieren varios pasos y acceso a datos externos. Por ejemplo, un agente de asistencia al cliente debe consultar una base de datos para encontrar el estado de un pedido, o un asistente de investigación necesita llamar a las APIs para resumir noticias recientes. Un sistema no agentivo no puede realizar estas tareas porque no puede usar herramientas de forma autónoma ni ejecutar un plan de varios pasos para sintetizar una respuesta final.

Si estás en las primeras etapas del desarrollo de tu agente, te recomendamos que comiences con uno solo. Cuando comienzas el desarrollo de tu agente con un sistema de un solo agente, puedes enfocarte en perfeccionar la lógica central, las instrucciones y las definiciones de herramientas de tu agente antes de agregar componentes arquitectónicos más complejos.

El rendimiento de un solo agente puede ser menos eficaz cuando usa más herramientas y cuando las tareas aumentan en complejidad. Es posible que observes esto como un aumento de la latencia, una selección o un uso incorrectos de la herramienta, o una falla en la finalización de la tarea. A menudo, puedes mitigar estos problemas si perfeccionas el proceso de razonamiento del agente con técnicas como el patrón Reason and Act (ReAct). Sin embargo, si tu flujo de trabajo requiere que un agente administre varias responsabilidades distintas, es posible que estas técnicas no sean suficientes. En estos casos, considera un sistema multiagente, que puede mejorar la capacidad de recuperación y el rendimiento delegando habilidades específicas a agentes especializados.

Sistemas de múltiples agentes

Un sistema multiagente coordina varios agentes especializados para resolver un problema complejo que un solo agente no puede administrar con facilidad. El principio fundamental es descomponer un objetivo grande en subtareas más pequeñas y asignar cada subtarea a un agente dedicado con una habilidad específica. Luego, estos agentes interactúan a través de flujos de trabajo colaborativos o jerárquicos para lograr el objetivo final. Los patrones multiagente proporcionan un diseño modular que puede mejorar la escalabilidad, la confiabilidad y la capacidad de mantenimiento del sistema general en comparación con un solo agente con una instrucción monolítica.

En un sistema multiagente, cada agente requiere un contexto específico para realizar su tarea de manera eficaz. El contexto puede incluir documentación, preferencias históricas, vínculos relevantes, historial de conversaciones o cualquier restricción operativa. El proceso de administración de este flujo de información se denomina ingeniería de contexto. La ingeniería de contexto incluye estrategias como aislar el contexto para un agente específico, conservar la información en varios pasos o comprimir grandes cantidades de datos para mejorar la eficiencia.

La creación de un sistema multiagente requiere consideraciones adicionales sobre la evaluación, la seguridad, la confiabilidad y el costo en comparación con un sistema de un solo agente. Por ejemplo, los sistemas multiagente deben implementar controles de acceso precisos para cada agente especializado, diseñar un sistema de organización sólido para garantizar una comunicación confiable entre agentes y administrar los mayores costos operativos derivados de la sobrecarga computacional de ejecutar varios agentes. Para ver un ejemplo de arquitectura de referencia para compilar un sistema multiagente, consulta Sistemas de IA multiagente en Google Cloud.

Patrón secuencial

El patrón secuencial multiagente ejecuta una serie de agentes especializados en un orden lineal predefinido en el que el resultado de un agente sirve como entrada directa para el siguiente. Este patrón usa un agente de flujo de trabajo secuencial que opera con lógica predefinida sin tener que consultar un modelo de IA para la orquestación de sus subagentes.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón secuencial de varios agentes:

Arquitectura del patrón de diseño secuencial de varios agentes.

Usa el patrón secuencial para procesos altamente estructurados y repetibles en los que la secuencia de operaciones no cambia. Por ejemplo, una canalización de procesamiento de datos podría usar este patrón para que un agente de extracción de datos primero extraiga datos sin procesar y, luego, pase esos datos a un agente de limpieza de datos para su formato, que, a su vez, pasa los datos limpios a un agente de carga de datos para guardarlos en una base de datos.

El patrón secuencial puede reducir la latencia y los costos operativos en comparación con un patrón que usa un modelo de IA para coordinar el flujo de trabajo de las tareas. Sin embargo, esta eficiencia tiene un costo en términos de flexibilidad. La estructura rígida y predefinida de la canalización dificulta la adaptación a condiciones dinámicas o la omisión de pasos innecesarios, lo que puede provocar un procesamiento ineficiente o generar una latencia acumulativa más alta si un paso innecesario es lento.

Patrón paralelo

En el patrón paralelo de varios agentes, también conocido como patrón simultáneo, varios subagentes especializados realizan una tarea o subtareas de forma independiente al mismo tiempo. Luego, se sintetizan los resultados de los subagentes para producir la respuesta final consolidada. Al igual que un patrón secuencial, el patrón paralelo usa un agente de flujo de trabajo paralelo para administrar cómo y cuándo se ejecutan los demás agentes sin tener que consultar un modelo de IA para organizar sus subagentes.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón paralelo de varios agentes:

Arquitectura del patrón de diseño paralelo de varios agentes.

Usa el patrón paralelo cuando las subtareas se puedan ejecutar de forma simultánea para reducir la latencia o recopilar diversas perspectivas, como recopilar datos de fuentes dispares o evaluar varias opciones a la vez. Por ejemplo, para analizar los comentarios de los clientes, un agente paralelo podría enviar una sola entrada de comentarios a cuatro agentes especializados al mismo tiempo: un agente de análisis de opiniones, un agente de extracción de palabras clave, un agente de categorización y un agente de detección de urgencia. Un agente final recopila estos cuatro resultados en un análisis integral único de esos comentarios.

El patrón paralelo puede reducir la latencia general en comparación con un enfoque secuencial, ya que puede recopilar información diversa de varias fuentes al mismo tiempo. Sin embargo, este enfoque introduce compensaciones en el costo y la complejidad. Ejecutar varios agentes en paralelo puede aumentar el uso inmediato de recursos y el consumo de tokens, lo que genera costos operativos más altos. Además, el paso de recopilación requiere una lógica compleja para sintetizar resultados potencialmente contradictorios, lo que aumenta la sobrecarga de desarrollo y mantenimiento del sistema.

Patrón de bucle

El patrón de agente de bucle multiagente ejecuta de forma repetida una secuencia de subagentes especializados hasta que se cumple una condición de finalización específica. Este patrón usa un agente de flujo de trabajo de bucle que, al igual que otros agentes de flujo de trabajo, opera con lógica predefinida sin consultar un modelo de IA para la organización. Después de que todos los subagentes completan sus tareas, el agente de bucle evalúa si se cumple una condición de salida. La condición puede ser una cantidad máxima de iteraciones o un estado personalizado. Si no se cumple la condición de salida, el agente de bucle vuelve a iniciar la secuencia de subagentes. Puedes implementar un patrón de bucle en el que la condición de salida se evalúa en cualquier punto del flujo. Usa el patrón de bucle para tareas que requieren refinamiento iterativo o autocorrección, como generar contenido y hacer que un agente crítico lo revise hasta que cumpla con un estándar de calidad.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de bucle multiagente:

Arquitectura del patrón de diseño de bucle multiagente.

El patrón de agente de bucle proporciona una forma de crear flujos de trabajo complejos e iterativos. Permite que los agentes mejoren su propio trabajo y continúen procesando hasta que se alcance una calidad o un estado específicos. Sin embargo, la principal desventaja de este patrón es el riesgo de un bucle infinito. Si la condición de finalización no se define correctamente o si los subagentes no producen el estado necesario para detenerse, el bucle puede ejecutarse de forma indefinida. Esto puede generar costos operativos excesivos, un alto consumo de recursos y posibles bloqueos del sistema.

Patrón de revisión y crítica

El patrón de revisión y crítica de varios agentes, también conocido como patrón de generador y crítico, mejora la calidad y la confiabilidad del contenido generado mediante el uso de dos agentes especializados, por lo general, en un flujo de trabajo secuencial. El patrón de revisión y crítica es una implementación del patrón de agente de bucle.

En el patrón de revisión y crítica, un agente generador crea un resultado inicial, como un bloque de código o un resumen de un documento. A continuación, un agente crítico evalúa este resultado en función de un conjunto predefinido de criterios, como la precisión fáctica, el cumplimiento de las reglas de formato o los lineamientos de seguridad. Según la evaluación, el crítico puede aprobar el contenido, rechazarlo o devolverlo al generador con comentarios para su revisión.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de revisión y crítica de varios agentes:

Arquitectura del patrón de diseño de revisión y crítica multiagente.

Este patrón es adecuado para tareas en las que los resultados deben ser muy precisos o cumplir con restricciones estrictas antes de presentarse a un usuario o utilizarse en un proceso posterior. Por ejemplo, en un flujo de trabajo de generación de código, un agente generador podría escribir una función para satisfacer la solicitud de un usuario. Luego, este código generado se pasa a un agente crítico que actúa como auditor de seguridad. El trabajo del agente crítico es verificar el código en función de un conjunto de restricciones, como analizarlo en busca de vulnerabilidades de seguridad o verificar que pase todas las pruebas de unidades, antes de que se apruebe su uso.

El patrón de revisión y crítica puede mejorar la calidad, la exactitud y la confiabilidad de los resultados, ya que agrega un paso de verificación dedicado. Sin embargo, esta garantía de calidad tiene un costo directo en términos de mayor latencia y gastos operativos. El flujo de trabajo requiere al menos una llamada adicional al modelo para la evaluación del crítico. Si el proceso incluye ciclos de revisión en los que se devuelve el contenido para que se perfeccione, tanto la latencia como los costos se acumulan con cada iteración.

Patrón de perfeccionamiento iterativo

El patrón de perfeccionamiento iterativo usa un mecanismo de bucle para mejorar progresivamente un resultado en varios ciclos. El patrón de perfeccionamiento iterativo es una implementación del patrón de agente de bucle.

En este patrón, uno o más agentes trabajan en un bucle para modificar un resultado que se almacena en el estado de la sesión durante cada iteración. El proceso continúa hasta que el resultado cumple con un umbral de calidad predefinido o alcanza una cantidad máxima de iteraciones, lo que evita los bucles infinitos.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de perfeccionamiento iterativo de varios agentes:

Arquitectura del patrón de diseño de perfeccionamiento iterativo multiagente.

Este patrón es adecuado para tareas de generación complejas en las que el resultado es difícil de lograr en un solo paso. Algunos ejemplos de estas tareas son escribir y depurar un fragmento de código, desarrollar un plan detallado de varias partes o redactar y revisar un documento de formato largo. Por ejemplo, en un flujo de trabajo de escritura creativa, un agente podría generar un borrador de una entrada de blog, analizar el borrador para verificar su flujo y tono, y, luego, reescribirlo según ese análisis. Este proceso se repite en un bucle hasta que el trabajo del agente cumple con un estándar de calidad predefinido o hasta que la repetición alcanza una cantidad máxima de iteraciones.

El patrón de perfeccionamiento iterativo puede producir resultados muy complejos o pulidos que serían difíciles de lograr en un solo paso. Sin embargo, el mecanismo de bucle aumenta directamente la latencia y los costos operativos con cada ciclo. Este patrón también agrega complejidad arquitectónica, ya que requiere condiciones de salida diseñadas cuidadosamente, como una evaluación de calidad o un límite máximo de iteraciones, para evitar costos excesivos o una ejecución descontrolada.

Patrón de coordinador

El patrón de coordinador multiagente usa un agente central, el coordinador, para dirigir un flujo de trabajo. El coordinador analiza y descompone la solicitud de un usuario en subtareas, y luego envía cada subtarea a un agente especializado para su ejecución. Cada agente especializado es experto en una función específica, como consultar una base de datos o llamar a una API.

Una distinción del patrón de coordinador es su uso de un modelo de IA para coordinar y enrutar tareas de forma dinámica. Por el contrario, el patrón paralelo se basa en un flujo de trabajo codificado para despachar tareas para su ejecución simultánea sin necesidad de orquestación del modelo de IA.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de coordinador de varios agentes:

Arquitectura del patrón de diseño del coordinador multiagente.

Usa el patrón de coordinador para automatizar procesos comerciales estructurados que requieren un enrutamiento adaptable. Por ejemplo, un agente de servicio al cliente puede actuar como coordinador. El agente coordinador analiza la solicitud para determinar si se trata de una solicitud de estado del pedido, una devolución de producto o una solicitud de reembolso. Según el tipo de solicitud, el coordinador enruta la tarea al agente especializado adecuado.

El patrón de coordinador ofrece flexibilidad en comparación con los flujos de trabajo más rígidos y predefinidos. Con un modelo para enrutar tareas, el coordinador puede controlar una mayor variedad de entradas y adaptar el flujo de trabajo durante el tiempo de ejecución. Sin embargo, este enfoque también introduce compensaciones. Dado que el coordinador y cada agente especializado dependen de un modelo para el razonamiento, este patrón genera más llamadas al modelo que un sistema de un solo agente. Si bien el patrón de coordinador puede generar un razonamiento de mayor calidad, también aumenta la capacidad de procesamiento de tokens, los costos operativos y la latencia general en comparación con un sistema de un solo agente.

Patrón de descomposición jerárquica de tareas

El patrón de descomposición jerárquica de tareas multiagente organiza los agentes en una jerarquía de varios niveles para resolver problemas complejos que requieren una planificación exhaustiva. El patrón de descomposición de tareas jerárquica es una implementación del patrón de coordinador. Un agente principal de nivel superior, o raíz, recibe una tarea compleja y es responsable de descomponerla en varias subtareas más pequeñas y manejables. El agente raíz delega cada subtarea a un subagente especializado de nivel inferior. Este proceso se puede repetir en varias capas, con agentes que descomponen progresivamente sus tareas asignadas hasta que estas son lo suficientemente simples para que un agente trabajador del nivel más bajo las ejecute directamente.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de descomposición de tareas jerárquico de varios agentes:

Arquitectura del patrón de diseño de descomposición jerárquica de tareas de varios agentes.

Usa el patrón de descomposición jerárquica de tareas para problemas ambiguos y abiertos que requieren un razonamiento de varios pasos, como las tareas que implican investigación, planificación y síntesis. Por ejemplo, para completar un proyecto de investigación complejo, un agente coordinador descompone el objetivo de alto nivel en varias tareas, como recopilar información, analizar los hallazgos y sintetizar el informe final. Luego, el agente coordinador delega esas tareas a subagentes especializados, como un agente para la recopilación de datos, un agente de análisis y un agente que escribe informes, para que las ejecuten o las descompongan aún más.

El patrón de descomposición jerárquica de tareas es ideal para resolver problemas muy complejos y ambiguos, ya que los descompone de forma sistemática en subtareas manejables. Este patrón puede generar resultados más completos y de mayor calidad que los patrones más simples. Sin embargo, esta capacidad avanzada presenta compensaciones significativas. La estructura de varios niveles agrega una complejidad arquitectónica considerable, lo que dificulta el diseño, la depuración y el mantenimiento del sistema. Las múltiples capas de delegación y razonamiento también generan una gran cantidad de llamadas al modelo, lo que aumenta significativamente la latencia general y los costos operativos en comparación con otros patrones.

Patrón de enjambre

El patrón de enjambre multiagente usa un enfoque de comunicación colaborativo de todos con todos. En este patrón, varios agentes especializados trabajan juntos para perfeccionar de forma iterativa una solución a un problema complejo.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de enjambre de varios agentes:

Arquitectura del patrón de diseño de enjambre multiagente.

El patrón de enjambre usa un agente de envío para enrutar una solicitud del usuario a un grupo colaborativo de agentes especializados. El agente de envío interpreta la solicitud y determina qué agente del grupo es el más adecuado para comenzar la tarea. En este patrón, cada agente puede comunicarse con todos los demás, lo que les permite compartir hallazgos, criticar propuestas y basarse en el trabajo de los demás para perfeccionar una solución de forma iterativa. Cualquier agente del enjambre puede transferir la tarea a otro agente que considere más adecuado para encargarse del siguiente paso, o bien puede comunicar la respuesta final al usuario a través del agente coordinador.

Por lo general, un enjambre carece de un agente supervisor o coordinador central que mantenga el proceso en curso. El agente de envío no coordina el flujo de trabajo de los agentes, a diferencia del patrón de coordinador. En cambio, el agente de envío facilita la comunicación entre los subagentes de enjambre y el usuario. Para asegurarte de que el enjambre se detenga y devuelva un resultado, debes definir una condición de salida explícita. Esta condición suele ser una cantidad máxima de iteraciones, un límite de tiempo o el logro de un objetivo específico, como alcanzar un consenso.

Usa el patrón de enjambre para problemas ambiguos o muy complejos que se benefician del debate y el perfeccionamiento iterativo. Por ejemplo, el diseño de un producto nuevo podría involucrar a un agente de investigación de mercado, un agente de ingeniería y un agente de modelado financiero. Los agentes compartirían ideas iniciales, debatirían las ventajas y desventajas entre las funciones y los costos, y convergerían de forma colectiva en una especificación de diseño final que equilibrara todos los requisitos en competencia.

El patrón de enjambre simula un equipo colaborativo de expertos, por lo que puede producir soluciones creativas y de calidad excepcionalmente alta. Sin embargo, representa el patrón multiagente más complejo y costoso de implementar. La falta de un agente que use un modelo de IA para coordinar puede generar el riesgo de bucles improductivos o la incapacidad de llegar a una solución. Por lo tanto, debes diseñar una lógica sofisticada para administrar la intrincada comunicación entre agentes, controlar el flujo de trabajo iterativo y controlar los costos operativos y la latencia significativos que se asocian con la ejecución de una conversación dinámica de varios turnos entre varios agentes.

Patrón de razonamiento y acción (ReAct)

El patrón ReAct es un enfoque que usa el modelo de IA para enmarcar sus procesos de pensamiento y acciones como una secuencia de interacciones en lenguaje natural. En este patrón, el agente opera en un bucle iterativo de pensamiento, acción y observación hasta que se cumple una condición de salida.

  • Pensamiento: El modelo razona sobre la tarea y decide qué hacer a continuación. El modelo evalúa toda la información que recopiló para determinar si se respondió por completo la solicitud del usuario.
  • Acción: Según su proceso de pensamiento, el modelo toma una de las siguientes dos acciones:
    • Si la tarea no está completa, selecciona una herramienta y, luego, formula una búsqueda para recopilar más información.
    • Si la tarea está completa, formula la respuesta final para enviársela al usuario, lo que finaliza el bucle.
  • Observación: El modelo recibe el resultado de la herramienta y guarda la información pertinente en su memoria. Como el modelo guarda el resultado pertinente, puede basarse en observaciones anteriores, lo que ayuda a evitar que se repita o pierda el contexto.

El bucle iterativo finaliza cuando el agente encuentra una respuesta concluyente, alcanza una cantidad máxima preestablecida de iteraciones o encuentra un error que le impide continuar. Este bucle iterativo permite que el agente cree un plan de forma dinámica, recopile evidencia y ajuste su enfoque a medida que trabaja para obtener una respuesta final.

En el siguiente diagrama, se muestra una vista de alto nivel del patrón ReAct:

Arquitectura del patrón de diseño ReAct.

Usa el patrón ReAct para tareas complejas y dinámicas que requieren planificación y adaptación continuas. Por ejemplo, considera un agente robótico que debe generar una ruta para pasar de un estado inicial a un estado objetivo:

  • Pensamiento: El modelo razona sobre la ruta óptima para pasar de su estado actual al estado objetivo. Durante el proceso de pensamiento, el modelo se optimiza para métricas como el tiempo o la energía.
  • Acción: El modelo ejecuta el siguiente paso de su plan moviéndose a lo largo de un segmento de ruta calculado.
  • Observación: El modelo observa y guarda el nuevo estado del entorno. El modelo guarda su nueva posición y los cambios en el entorno que percibe.

Este bucle permite que el agente cumpla con las restricciones dinámicas, como evitar obstáculos nuevos o seguir las normas de tránsito, ya que actualiza constantemente su plan en función de las nuevas observaciones. El agente continúa con su bucle iterativo hasta que alcanza su objetivo o encuentra un error.

Un solo agente ReAct puede ser más simple y rentable de implementar y mantener que un sistema multiagente complejo. El pensamiento del modelo proporciona una transcripción del razonamiento del modelo, lo que ayuda con la depuración. Sin embargo, esta flexibilidad introduce compensaciones. La naturaleza iterativa y de varios pasos del bucle puede generar una latencia de extremo a extremo más alta en comparación con una sola búsqueda. Además, la efectividad del agente depende en gran medida de la calidad del razonamiento del modelo de IA. Por lo tanto, un error o un resultado engañoso de una herramienta en un paso de observación puede propagarse y hacer que la respuesta final sea incorrecta.

Patrón con interacción humana

El patrón de interacción humana integra puntos de intervención humana directamente en el flujo de trabajo de un agente. En un punto de control predefinido, el agente detiene su ejecución y llama a un sistema externo para esperar a que una persona revise su trabajo. Este patrón permite que una persona apruebe una decisión, corrija un error o proporcione la entrada necesaria antes de que el agente pueda continuar.

En el siguiente diagrama, se muestra una vista de alto nivel de un patrón de humano en el circuito:

Arquitectura del patrón de diseño de interacción humana con varios agentes.

Usa el patrón de interacción humana para las tareas que requieren supervisión humana, juicio subjetivo o aprobación final para acciones críticas. Estas acciones incluyen aprobar una transacción financiera grande, validar el resumen de un documento sensible o proporcionar comentarios subjetivos sobre el contenido creativo generado. Por ejemplo, se le podría asignar a un agente la tarea de anonimizar un conjunto de datos de pacientes para la investigación. El agente identificaría y ocultaría automáticamente toda la información de salud protegida, pero se detendría en un punto de control final. Luego, esperaría a que un funcionario de cumplimiento humano validara manualmente el conjunto de datos y aprobara su lanzamiento, lo que ayuda a garantizar que no se expongan datos sensibles.

El patrón de interacción humana mejora la seguridad y la confiabilidad, ya que incorpora el juicio humano en los puntos de decisión críticos del flujo de trabajo. Este patrón puede agregar una complejidad arquitectónica significativa, ya que requiere que compiles y mantengas el sistema externo para la interacción del usuario.

Patrón de lógica personalizada

El patrón de lógica personalizada proporciona la máxima flexibilidad en el diseño de tu flujo de trabajo. Este enfoque te permite implementar una lógica de organización específica que usa código, como instrucciones condicionales, para crear flujos de trabajo complejos con varias rutas de ramificación.

En el siguiente diagrama, se ilustra un ejemplo del uso de un patrón de lógica personalizada para capturar un proceso de reembolso:

Arquitectura del patrón de diseño personalizado de varios agentes.

En el diagrama anterior, se muestra el siguiente flujo de trabajo de agente para el agente de reembolsos de clientes de ejemplo:

  1. El usuario envía una consulta al agente de reembolsos para clientes, que actúa como agente coordinador.
  2. Primero, la lógica personalizada del coordinador invoca un agente de verificación paralelo, que, a su vez, despacha simultáneamente dos subagentes: el agente de verificación del comprador y el agente de elegibilidad para el reembolso.
  3. Después de recopilar los resultados, el agente coordinador ejecuta una herramienta para verificar si la solicitud es apta para un reembolso.
    1. Si el usuario cumple con los requisitos, el coordinador enruta la tarea a un agente de procesamiento de reembolsos, que llama a la herramienta process_refund.
    2. Si el usuario no cumple con los requisitos, el coordinador enruta la tarea a un flujo secuencial independiente, que comienza con el agente de crédito de la tienda y el agente de decisión de crédito del proceso.
  4. El resultado de cualquier ruta que se tome se envía al agente de respuesta final para formular la respuesta al usuario.

El ejemplo del agente de reembolsos para clientes requiere una solución única para su orquestación a nivel de la lógica, que va más allá de los enfoques estructurados que ofrecen otros patrones. Este flujo de trabajo combina patrones porque ejecuta una verificación paralela y, luego, ejecuta una rama condicional personalizada que enruta a dos procesos posteriores completamente diferentes. Este tipo de flujo de trabajo complejo y de patrones mixtos es el caso de uso ideal para el patrón de lógica personalizada.

Usa el patrón de lógica personalizada cuando necesites un control detallado sobre la ejecución del agente o cuando tu flujo de trabajo no se ajuste a ninguno de los otros patrones que se describen en este documento. Sin embargo, este enfoque aumenta la complejidad del desarrollo y el mantenimiento. Eres responsable de diseñar, implementar y depurar todo el flujo de orquestación, lo que requiere más esfuerzo de desarrollo y puede ser más propenso a errores que usar un patrón predefinido compatible con una herramienta de desarrollo de agentes, como el Kit de desarrollo de agentes (ADK).

Para obtener información sobre los agentes personalizados y cómo implementar lógica personalizada con el ADK, consulta Agentes personalizados.

Comparar patrones de diseño

Elegir un patrón de agente es una decisión arquitectónica fundamental. Cada patrón ofrece diferentes compensaciones en cuanto a flexibilidad, complejidad y rendimiento. Para determinar el patrón adecuado para tu carga de trabajo, considera los patrones de diseño que se describen en las siguientes secciones.

Workflows determinísticos

Los flujos de trabajo determinísticos incluyen tareas predecibles y secuenciales, y tienen una ruta de flujo de trabajo claramente definida de principio a fin. Los pasos de tus tareas se conocen de antemano, y el proceso no cambia mucho de una ejecución a otra. A continuación, se indican los patrones de diseño de agentes para flujos de trabajo determinísticos:

Características de la carga de trabajo Patrón de diseño del agente
  • Tareas de varios pasos que siguen un flujo de trabajo rígido y predefinido
  • No requiere organización del modelo.
  • Secuencia fija de operaciones. El resultado de un agente es la entrada directa del siguiente agente en la secuencia.
Patrón secuencial multiagente
  • Tareas independientes que se pueden ejecutar al mismo tiempo
  • No requiere organización del modelo.
  • Reduce la latencia general ejecutando subtareas de forma simultánea.
Patrón paralelo de varios agentes
  • Tareas de generación complejas o abiertas que son difíciles de completar en un solo intento
  • Requiere que el agente mejore progresivamente el resultado en varios ciclos.
  • No requiere organización del modelo.
  • Prioriza la calidad del resultado por sobre la latencia.
Patrón de perfeccionamiento iterativo de varios agentes

Workflows que requieren organización dinámica

Workflows que requieren organización dinámica incluyen problemas complejos en los que los agentes deben determinar la mejor manera de proceder. El sistema de IA basado en agentes debe planificar, delegar y coordinar tareas de forma dinámica sin un guion predefinido. A continuación, se muestran los patrones de diseño de agentes para flujos de trabajo que requieren una organización autónoma y dinámica:

Características de la carga de trabajo Patrón de diseño del agente
  • Tareas estructuradas y de varios pasos que requieren el uso de herramientas externas
  • Se requiere un desarrollo rápido para un prototipo de solución como prueba de concepto.
Patrón de agente único
  • Requiere un enrutamiento dinámico a un subagente especializado adecuado para tareas estructuradas con entradas variadas.
  • Alta latencia debido a múltiples llamadas al modelo de IA del coordinador para que pueda dirigir las tareas al subagente adecuado
  • Puede generar costos altos debido a las múltiples llamadas al agente coordinador.
Patrón de coordinador de varios agentes
  • Requiere la organización de modelos de varios niveles para tareas complejas, ambiguas y de respuesta abierta.
  • Requiere resultados integrales y de alta calidad en los que la principal dificultad es la descomposición de la ambigüedad.
  • Latencia alta debido a una descomposición anidada de varios niveles que genera varias llamadas al modelo de IA para el razonamiento.
Patrón de descomposición jerárquica de tareas con varios agentes
  • Requiere debate colaborativo y perfeccionamiento iterativo de varios agentes especializados para tareas muy complejas, abiertas o ambiguas.
  • Prioriza la síntesis de múltiples perspectivas para crear una solución integral o creativa.
  • Latencia y costos operativos altos debido a la comunicación dinámica de todos con todos entre los agentes
Patrón de enjambre multiagente

Workflows que implican iteración

Workflows que implican iteración incluyen tareas en las que el resultado final se logra a través de ciclos de perfeccionamiento, retroalimentación y mejora. A continuación, se indican los patrones de diseño de agentes para flujos de trabajo que implican iteración:

Características de la carga de trabajo Patrón de diseño del agente
  • Requiere que un agente razone, actúe y observe de forma iterativa para crear o adaptar un plan para tareas complejas, abiertas y dinámicas.
  • Prioriza un resultado más preciso y completo por sobre la latencia.
Patrón de ReAct
  • Requiere tareas de supervisión o sondeo que repiten una acción predefinida, como verificaciones automatizadas, hasta que el agente cumple con una condición de salida.
  • Latencia impredecible o de larga duración mientras se espera que se cumpla una condición de salida.
Patrón de bucle de varios agentes
  • Las tareas requieren un paso de validación distinto antes de completarse.
Patrón de revisión y crítica de varios agentes
  • Tareas de generación complejas o abiertas que son difíciles de completar en un solo intento
  • Requiere que el agente mejore progresivamente el resultado en varios ciclos.
  • No requiere organización del modelo.
  • Prioriza la calidad del resultado por sobre la latencia.
Patrón de perfeccionamiento iterativo de varios agentes

Workflows que tienen requisitos especiales

Workflows que tienen requisitos especiales incluyen tareas que no siguen los patrones comunes de los agentes. Tus tareas pueden incluir una lógica de negocios única o pueden requerir la intervención y el criterio humanos en puntos críticos. Tu sistema de IA agente es una máquina personalizada diseñada para un propósito único y específico. A continuación, se muestran patrones de diseño de agentes para flujos de trabajo que tienen requisitos especiales:

Características de la carga de trabajo Patrón de diseño del agente
  • Requiere supervisión humana debido a tareas subjetivas o de alto riesgo que pueden incluir requisitos de seguridad, confiabilidad y cumplimiento.
Patrón con interacción humana
  • Lógica compleja y ramificada que va más allá de una secuencia lineal directa
  • Requiere un control máximo para combinar reglas predefinidas con el razonamiento del modelo.
  • Requiere un control detallado del proceso para un flujo de trabajo que no se ajusta a una plantilla estándar.
Patrón de lógica personalizada

¿Qué sigue?

Colaboradores

Autora: Samantha He | Escritora técnica

Otros colaboradores: