Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Fundamentos de los agentes
Antes de analizar los detalles de la arquitectura, debemos describir las diferentes funciones que desempeñan los agentes, ya que «agente» es un término sobrecargado que se puede aplicar a muchos casos de uso. Empecemos con algunos términos generales que pueden ayudar a clasificarlos.
En el nivel más externo, debemos empezar por clasificar el papel y la naturaleza de los agentes. Esto es un desafío porque hay una amplia gama de escenarios en los que los agentes se pueden aplicar a cualquier tipo de problemas. Sin embargo, en este análisis nos centramos en lo que significa introducir un agente en una aplicación o un sistema. En este modelo, hacemos hincapié en cómo y dónde los agentes pueden enriquecer mejor la experiencia de su sistema. Las opciones que elija influyen en la forma en que sus agentes se crean, integran y aplican a los diferentes dominios y casos de uso. El siguiente diagrama muestra dos patrones de agentes que utilizan los desarrolladores.
En la parte izquierda del diagrama hay un agente basado en interacciones. En este modo, un agente crea una vista de un sistema existente para organizar las interacciones con los servicios subyacentes a fin de lograr un objetivo o un resultado. La clave es que el agente se añada a un sistema como un enfoque alternativo para impulsar las funciones y capacidades del sistema. Imagine, por ejemplo, que un proveedor de software independiente (ISV) tiene un sistema de contabilidad con una experiencia de usuario que se utiliza para realizar operaciones. El agente basado en interacciones simplifica la interacción con estas capacidades existentes. Se trata menos de aprender a alcanzar un objetivo poco definido y más de proporcionar una forma de organizar las vías conocidas.
Por el contrario, el sistema basado en tareas que aparece en la parte derecha del diagrama representa un enfoque diferente. Los agentes de ese sistema utilizan sus conocimientos y habilidades para aprender a completar las tareas e impulsar los resultados empresariales. Se podría argumentar que ambos modelos logran resultados empresariales, pero un modelo basado en tareas depende de los propios agentes para determinar cómo lograr un resultado. Estos agentes son menos deterministas y, en cambio, se basan en su capacidad para aprender y evolucionar. Por el contrario, los agentes basados en interacciones están diseñados principalmente para orquestar un conjunto de capacidades conocidas. Estas diferencias afectan a la forma en que crea, selecciona e integra los agentes para respaldar su empresa.
También necesitamos términos que describan cómo y dónde desplegamos los agentes. El lugar en el que se encuentre un agente dentro del espacio físico de su sistema puede influir en la forma en que se construye, se enfoca y se protege. El siguiente diagrama describe dos modelos distintos que podrían aplicarse a los agentes.
En la parte izquierda del diagrama hay un sistema de despliegue con tres agentes diferentes. Los agentes están expuestos a clientes externos que pueden ser otros agentes o aplicaciones. Para este modelo, los agentes se denominan agentes públicos.
Por el contrario, el diagrama de la derecha muestra los agentes dentro de la implementación de la solución. En este caso, hay una serie de servicios de aplicaciones que consumen los usuarios o los sistemas. Estos usuarios interactúan con la aplicación sin darse cuenta de que los agentes son parte de la experiencia. A continuación, los servicios del sistema subyacente invocan y organizan los agentes. Los agentes desplegados de esta manera se denominan agentes privados.
Gran parte del valor de un agente se centra en el modelo público, en el que los proveedores pueden publicar a sus agentes con la intención de integrarlos con otros agentes externos. De este modo, los agentes formarían parte de una malla o red de servicios interconectados que, en conjunto, podrían abordar muchos casos de uso. Si bien estos agentes podrían usarse en muchos dominios, el caso de business-to-business uso es una opción natural. El siguiente diagrama proporciona una vista conceptualizada de lo que sería ensamblar un agente de recolección que resuelva un problema específico.
El diagrama muestra cuatro agentes comerciales que trabajan juntos para lograr un conjunto de objetivos. Cuando los agentes están compuestos de esta manera, representan un sistema agencial, y hay muchos tipos de sistemas de este tipo. Podrían ser un conjunto preempaquetado de agentes colaboradores que, por lo general, se consumen como una sola unidad. O bien, el sistema podría ser ensamblado dinámicamente por los clientes que deseen seleccionar la combinación de agentes que mejor se adapte a sus necesidades.
Ambos enfoques ofrecen vías viables para la integración de los agentes. Algunos agentes se crean con la expectativa de que se integren en sistemas específicos donde puedan maximizar su valor, alcance e impacto. Esta noción de sistemas de agencia también plantea dudas sobre cómo se adquieren los agentes, y podría haber muchas formas de abordarlo. El siguiente diagrama proporciona ejemplos de cómo se pueden crear estos agentes y sistemas a través de experiencias transaccionales.
Se muestran dos ejemplos de experiencias en el mercado. En el lado izquierdo, se utiliza un mercado para adquirir sistemas preempaquetados. En este escenario, el mercado descubre e incorpora sistemas que abordan objetivos más amplios que requieren la integración y la organización de varios agentes.
El ejemplo de la derecha muestra un mercado en el que los agentes son descubiertos y agrupados en sistemas de agentes. En este escenario, los clientes pueden crear cualquier sistema de agentes integrados y compatibles que satisfaga sus necesidades. La capacidad de ensamblar agentes de esta manera depende del modelo de compatibilidad y de los requisitos de integración de los agentes individuales.