Los sistemas de IA agéntica combinan la versatilidad y flexibilidad de los modelos de lenguaje grandes (LLM) con la precisión de los modelos de programación tradicionales. Los sistemas de IA agéntica pueden planificar y realizar tareas de forma autónoma en nombre de un usuario u otro sistema. Los sistemas de IA agéntica resuelven problemas complejos descomponiéndolos en una serie de tareas más pequeñas y utilizando las herramientas disponibles para interactuar con sistemas externos o realizar tareas computacionales.
Estas capacidades hacen posible que los sistemas de IA agéntica manejen una gama mucho mayor de tareas y tareas mucho más complejas que solo los LLM. Por ejemplo, si se le diera una instrucción a un LLM para que recomendara qué automóvil comprar, el modelo generaría debidamente una lista de recomendaciones basadas en los datos disponibles en el momento en que se entrenó el modelo. Por otro lado, una solución de IA agéntica podría dar una instrucción para que usted proporcione detalles adicionales sobre cómo pretende utilizar el vehículo (placer, desplazamientos al trabajo, transporte de cargas pesadas) e informarle que hay un reembolso del fabricante disponible hasta el final del mes.
Un sistema de IA agéntica está conformado por los siguientes componentes:
Los agentes tienen su propia arquitectura conceptual, ilustrada en la siguiente figura.
Los agentes se componen de los siguientes componentes principales:
Se pueden agregar componentes adicionales, que no se muestran en la figura, para proporcionar gestión operativa de agentes, monitoreo del rendimiento y controles de seguridad como la propagación de identidad y la prevención de fugas de datos.
El siguiente diagrama ilustra el flujo de control e información a través de la arquitectura conceptual.
El diagrama anterior ilustra la correspondencia entre los productos de IBM y la arquitectura de IA agéntica.
watsonx Orchestrate es una solución de IA agéntica integral que combina:
watsonx.ai Agent Builder es una herramienta de código bajo/sin código que permite a los desarrolladores crear agentes y definir y gestionar herramientas mediante flujos predefinidos.
La orquestación de agentes se puede implementar mediante una variedad de enfoques. Un enfoque de orquestación centralizada utiliza un único componente maestro de orquestación para gestionar las acciones de todos los demás agentes del sistema. Tener un único punto de configuración y gestión hace que el sistema en su conjunto sea sencillo de gestionar y controlar, y fácil de diagnosticar. La desventaja es que un único punto de control puede convertirse en un cuello de botella y generar desafíos de escalabilidad a medida que aumentan los volúmenes de solicitudes o el número de agentes.
Un enfoque de orquestación descentralizado implementa una cola de tareas en la que los agentes extraen tareas y publican resultados, y distribuyen tareas de varias partes entre ellos, de forma similar a un sistema de pizarra. Las soluciones de orquestación descentralizada son muy robustas y tolerantes a fallas, pero son difíciles de diseñar y solucionar problemas a medida que los sistemas se hacen más grandes con mayores capacidades.
Finalmente, un enfoque de orquestación jerárquica combina elementos de los enfoques centralizados y descentralizados. En la orquestación jerárquica, se utiliza un orquestador maestro para coordinar las acciones de los agentes de alto nivel que, a su vez, pueden invocar a otros agentes para completar tareas complejas. Esto conserva gran parte de la facilidad de gestión y control de un enfoque centralizado, pero reduce la posibilidad de que el componente de control central se convierta en un cuello de botella con grandes volúmenes de solicitudes o un gran número de agentes.
La granularidad de un agente de IA se refiere a la complejidad de las tareas que el agente puede realizar. Un agente de alta granularidad puede ser capaz de realizar muchas tareas o un pequeño número de tareas con gran detalle, mientras que un agente de baja granularidad solo puede ser capaz de realizar un pequeño número o incluso una sola tarea con un bajo nivel de detalle. Para aclarar esto, considere un agente de atención al cliente. Un agente de baja granularidad puede ser capaz de responder solo preguntas simples sobre un producto (por ejemplo, “¿Viene en negro?”), mientras que un agente de alta granularidad puede verificar los inventarios locales y organizar la entrega del producto en el domicilio del cliente.
Los diseñadores de soluciones agénticas deben decidir qué tan granulares deben ser los agentes individuales dentro del sistema; por ejemplo, tener una pequeña cantidad de agentes de alta granularidad o una mayor cantidad de agentes de baja granularidad. Las amplias capacidades de los agentes de alta granularidad tienen como contrapartida mayores requisitos de recursos informáticos y tiempos de finalización de las tareas más largos. Si bien son menos capaces, el enfoque limitado de los agentes de baja granularidad significa que requieren menos recursos informáticos y, en general, completarán las tareas mucho más rápido.
Si bien aún se desconoce el nivel “correcto” de granularidad, la experiencia inicial sugiere que la creación de agentes de baja granularidad alineados con procesos de negocios enfocados, por ejemplo, Purchase_Order_Processing_Agent, produce un buen equilibrio entre los requisitos de recursos, la velocidad de procesamiento y la complejidad de la solución. Los agentes de baja granularidad pueden incorporarse a flujos de trabajo estáticos o ser invocados por agentes de alta granularidad como parte de un proceso más grande.
Los diseñadores de soluciones de IA agéntica deben lograr un equilibrio entre los agentes que siguen procesos y flujos de trabajo predefinidos y estáticos, y que tienen flujos de trabajo generados dinámicamente en respuesta a las instrucciones del usuario. Si bien no hay una respuesta correcta o incorrecta, se recomienda a los arquitectos que tengan en cuenta las siguientes recomendaciones y consideraciones:
Los flujos de trabajo estáticos deben utilizarse para procesos de negocio compuestos por múltiples pasos complejos que cruzan dominios de conocimiento (por ejemplo, legal y contable), o que están sujetos a supervisión regulatoria. El uso de flujos de trabajo estáticos en estas instancias proporciona a los arquitectos varios beneficios: