AgentforceGuía para lograr un comportamiento fiable de los agentes
Marco de 5 niveles de determinismo
Marco de 5 niveles de determinismo
Olfa Kharrat, directora de Gestión de Productos - Agentforce
Reinier van Leuken, directora sénior de Gestión de Productos - Agentforce
La confianza ha sido el valor central en Salesforce desde su fundación en 1999, como pionera en un nuevo modelo tecnológico de computación en la nube y SaaS. Las empresas depositan su confianza en Salesforce al almacenar datos valiosos en la nube, ya que tienen la tranquilidad de que sus datos están protegidos y se rigen por los controles de acceso adecuados. La confianza sigue siendo un aspecto esencial, pero en la era de la IA agéntica, la definición de este término es aún más amplia. Dado que las empresas dependen cada vez más de agentes autónomos para llevar a cabo funciones críticas, estos deben convertirse en socios comerciales de confianza cuyo trabajo sea preciso, relevante y, sobre todo, fiable.
Dicho esto, ¿cómo se crea un agente fiable? La fiabilidad suele traducirse en ofrecer el mismo resultado para una misma entrada. Sin embargo, los agentes no funcionan necesariamente así, ya que se basan en modelos de lenguaje grandes (LLM), cuya naturaleza es no determinista. Eso da a los agentes la fluidez necesaria para desarrollar soluciones creativas adaptadas a circunstancias específicas, sin necesidad de tener que programar explícitamente cada condición o situación que encuentren. Sin embargo, los agentes también necesitan control para cumplir con los requisitos empresariales y las directrices operativas. Cuando ejecuten procesos de negocio, deben ser fiables y generar resultados empresariales que se ajusten a restricciones deterministas. El determinismo impone una rigidez y una disciplina que chocan con la autonomía y la fluidez que proporcionan los agentes. Por ello, la clave para crear agentes fiables es encontrar el equilibrio adecuado entre la fluidez creativa y el control empresarial.
En este documento, abordaremos los aspectos clave que hay que tener en cuenta para desarrollar agentes fiables. Se definen cinco niveles de control agéntico y se incluyen prácticas recomendadas para obtener el control del comportamiento agéntico y mantenerlo en cada uno de estos niveles. Además, se explican las formas en que funciona el Agentforce motor de razonamiento. A medida que se amplíe Agentforce, este documento se actualizará para reflejar las últimas prácticas recomendadas.
Este documento presupone que el lector está familiarizado con los aspectos básicos del diseño y la creación de agentes de Agentforce. Para una introducción a Agentforce, recomendamos lo siguiente:
Para comprender mejor el comportamiento de los agentes, resulta útil compararlos con sus homólogos rígidos: los chatbots.
Chatbots: seguidores de reglas rígidos
Los chatbots siguen árboles de decisión predeterminados que estructuran los diálogos en los que pueden participar. El recorrido a través de estos árboles de decisión se basa en la respuesta dada por el usuario. Esta respuesta puede ser una selección de un conjunto predeterminado de opciones, o puede ser una respuesta de texto libre. En caso de una respuesta de texto libre, se utiliza un modelo predictivo para clasificar la intención. Estos árboles trazan todas las posibles rutas de conversación y dictan las respuestas del chatbot en cada paso. El comportamiento del chatbot está rígidamente determinado por reglas preestablecidas. Si la entrada del usuario no coincide con una ruta reconocida, o si el modelo predictivo no ha sido entrenado para reconocer una determinada intención, el chatbot no responde adecuadamente.
Agentes: adaptativos e intuitivos
Por el contrario, los agentes aprovechan el poder de los LLM y sus capacidades avanzadas de procesamiento de lenguaje natural (NLP). Los LLM permiten a los agentes comprender la intención que hay detrás de la entrada de un usuario, incluso si está redactada de una forma no prevista. En función de cómo haya entendido la intención, el agente selecciona la acción más adecuada entre una gama de posibilidades. El agente puede incluso formular respuestas completamente nuevas. Esta flexibilidad y adaptabilidad diferencian a los agentes de sus homólogos, los chatbots.
Analogía culinaria
La diferencia entre chatbots y agentes se puede comparar con el contraste entre un cocinero novato y un chef experimentado.
En resumen, la diferencia fundamental entre los agentes y los chatbots radica en su adaptabilidad y capacidad para gestionar entradas inesperadas.
Una característica distintiva de la inteligencia de un agente reside en su capacidad para organizar y desencadenar las acciones más adecuadas en el momento oportuno. Esta flexibilidad elimina la necesidad de programar exhaustivamente cada posible interacción del usuario.
En Agentforce, la creación de un agente incluye temas, acciones e instrucciones y descripciones en lenguaje natural.
Los temas son las "tareas por hacer" del agente. Los temas tienen atributos como la descripción de una clasificación, el alcance o las instrucciones que definen cada tarea y cómo se realiza. Los temas contienen acciones que el agente puede ejecutar, junto con instrucciones que determinan cómo se ejecutan estas acciones.
Las acciones son las tareas predefinidas que el agente puede realizar para hacer su trabajo. Hay cinco tipos diferentes de acciones:
La definición de un agente contiene instrucciones en lenguaje natural que describen los activos del agente y definen las pautas dentro de las cuales debe operar. Las instrucciones se escriben para acciones y temas.
Estos componentes, cuando se crean correctamente, ayudan al agente a cumplir su finalidad prevista mientras opera dentro de los límites establecidos.
El motor de razonamiento de Agentforce organiza estos componentes básicos para conseguir un comportamiento agéntico adecuado. Utiliza las instrucciones y descripciones en lenguaje natural definidas en temas y acciones. Se basa en React, un nuevo paradigma de razonamiento para los LLM introducido en 2022 por Yao et al. Este paradigma imita la gestión humana de tareas cuando razona sobre un problema, toma medidas, observa los resultados de las medidas y repite el ciclo hasta completar la tarea.
Los agentes de Salesforce se adhieren a este paradigma:
El motor de razonamiento recurre al LLM en cada paso de razonamiento y observación. Dependiendo del tipo de acción, también puede usar el LLM en el paso de acción.
En esta sección se describe un enfoque por capas para mejorar el determinismo de los agentes. Cada nivel se desarrolla a partir del anterior, con una complejidad y capacidades crecientes que establecen un mayor control sobre el comportamiento del agente.
El primer nivel se centra en permitir a los agentes identificar de forma autónoma temas relevantes y, a continuación, seleccionar las acciones adecuadas utilizando objetivos en lugar de instrucciones explícitas. El mecanismo central consiste en utilizar una comprensión contextual para responder a las entradas del usuario. Aunque técnicamente se puede añadir cualquier tipo de acción, en este nivel, asumimos que las acciones son acciones de solicitud. Los temas sin instrucciones con acciones de solicitud proporcionan una forma rápida y eficaz de gestionar las consultas más frecuentes.
En este nivel, se hace hincapié en establecer un nivel básico de capacidad de respuesta y autonomía del agente mediante la comprensión dinámica.
Partiendo de la base de la selección de acciones sin instrucciones, este nivel introduce instrucciones explícitas para guiar el comportamiento del agente. Incorporar instrucciones precisas aumenta el control sobre cómo responden los agentes a diferentes situaciones. Las instrucciones dirigidas a los agentes pueden expresarse en forma de normas, directrices, salvaguardas y ejemplos, y proporcionan al agente pautas específicas sobre cómo manejar diversos temas, ejecutar acciones y procesar los resultados. El objetivo de este nivel es orientar con claridad al agente para aumentar la coherencia y mejorar el cumplimiento de las directrices y los procesos de la empresa.
La fundamentación consiste en conectar la comprensión y las respuestas del agente con fuentes de conocimiento externas. La fundamentación ayuda a garantizar la precisión, actualización y relevancia de la información proporcionada por el agente. Este nivel integra el acceso a bases de datos, bases de conocimiento y otros repositorios de información. Fundamentar las respuestas del agente en datos verificados mejora su fiabilidad y credibilidad.
Este nivel añade la capacidad de los agentes de trabajar con variables. Las variables permiten a los agentes personalizar las interacciones, conservar el contexto a lo largo de varias interacciones y ajustar dinámicamente su comportamiento en función de puntos de datos específicos mantenidos durante la sesión del agente. Por ejemplo, un agente podría recopilar las preferencias del usuario, los detalles del pedido y otra información relevante, y luego utilizar esos datos para personalizar la interacción. Con las variables, los agentes pueden gestionar mejor interacciones más complejas, más pautadas y más personalizadas.
El paso final consiste en integrar al agente con las funcionalidades principales de Salesforce: Apex, API y flujos. Gracias a la integración, el agente puede realizar acciones complejas dentro del ecosistema de Salesforce, como acceder y manipular datos, activar flujos de trabajo e interactuar con otros sistemas.
Este nivel transforma al agente en una potente herramienta capaz de ejecutar tareas sofisticadas y contribuir directamente a los resultados empresariales.
Partiendo de una base de capacidad de respuesta y autonomía del agente, pensemos en un agente que solo consta de temas y acciones, y sus correspondientes descripciones. Podemos usar a este agente de ejemplo para presentar los diferentes pasos del motor de razonamiento, y mostrar cómo se utilizan estas descripciones para seleccionar los temas adecuados y las acciones que se ejecutarán. Al omitir las instrucciones del tema en este ejemplo, podemos observar que los agentes de este primer nivel tienen el mayor grado de libertad en comparación con los agentes de niveles más altos. En el nivel uno, el agente es completamente libre de seleccionar la acción que considere apropiada, y se basa únicamente en la conversación en curso.
Actividad | Pasos | Descripción |
---|---|---|
Invocación del agente | 1 | Se invoca al agente. |
Clasificación de temas | 2-3 | El motor analiza el mensaje del cliente y lo asocia con el tema más adecuado en función del nombre del tema y la descripción de la clasificación. |
Montaje de contexto | 4-5 | Una vez seleccionado el tema, el motor recopila el ámbito, las instrucciones y las acciones disponibles del tema junto con el historial de la conversación. (Nota: Las instrucciones se describen en el nivel dos, Control agéntico). |
Toma de decisiones |
A partir de toda esta información, el motor determina si: • Ejecutar una acción para recuperar o actualizar información • Pedir al cliente más detalles• Responder directamente con una respuesta |
|
Ejecución de acciones | 6-8 | Si se necesita una acción, el motor la ejecuta y recopila los resultados. |
Bucle de acción | El motor evalúa la nueva información y vuelve a decidir qué hacer a continuación, ya sea ejecutar otra acción, solicitar más información o responder. | |
Comprobación de la fundamentación | Antes de enviar una respuesta final, el motor comprueba que la respuesta: • Se basa en información precisa de acciones o instrucciones • Sigue las pautas proporcionadas en las instrucciones del tema • Se mantiene dentro de los límites establecidos por el ámbito del tema |
|
Envío de la respuesta | La respuesta fundamentada se envía al cliente. |
Eche un vistazo a estas cuestiones sobre el motor de razonamiento:
El proceso de razonamiento se compone de cuatro pasos principales:
Los temas están diseñados para mejorar la precisión con la que los agentes clasifican la acción o secuencia de acciones. Cada tema debe incluir acciones semánticamente distintas que puedan pertenecer a una misma descripción concisa de un tema y, por lo tanto, englobarse en una función de agente similar.
El LLM del motor de razonamiento selecciona el tema pertinente (paso 2-3 del diagrama). Selecciona el tema cuya descripción de clasificación coincida en mayor medida con el último enunciado, utilizando una solicitud de tema. Esta solicitud de tema contiene las descripciones de la clasificación de todos los temas y el historial de la conversación. Además de los enunciados y las respuestas de los agentes, el historial de la conversación incluye las acciones ejecutadas y sus resultados. La solicitud incorpora instrucciones cruciales que exigen el análisis dentro del contexto del historial de la conversación y que obligan al LLM a compartir su proceso de pensamiento.
Consideraciones adicionales:
La finalidad de los temas es doble:
Al organizar cuidadosamente las capacidades del agente en temas claramente definidos que se componen de acciones relacionadas, el agente opera de manera más eficaz y predecible, y es más fácil de actualizar y ampliar. Hay dos enfoques posibles para el diseño de temas: descendente y ascendente.
Ambos enfoques dan buenos resultados si se siguen correctamente.
Empiece por enumerar todas las acciones específicas que el agente debe ser capaz de realizar. En esta etapa, es mejor ser muy específico que demasiado general. Evite intentar agrupar o simplificar las acciones de forma prematura. El objetivo es crear una visión completa y detallada de lo que puede hacer el agente.
Por ejemplo, en el caso de un agente de servicio al cliente, la lista inicial podría incluir:
Tenga en cuenta que una acción como "Resolver reclamaciones de clientes" es demasiado general en este momento. Las acciones deben representar el nivel más pequeño de granularidad en el comportamiento del agente. Las reclamaciones pueden ser de muchos tipos, y diferentes acciones ya las abordan:
Marque las acciones que sean de naturaleza similar y puedan causar confusión al motor de razonamiento. Sus descripciones no serán lo suficientemente diferentes desde el punto de vista semántico, por lo que el motor de razonamiento no sabrá qué acción seleccionar en el paso 5.
Por ejemplo, "Resolución de problemas técnicos" y "Responder preguntas con conocimiento" tienen descripciones similares, pero su funcionalidad puede diferir significativamente. Marcar estas superposiciones semánticas ayudará a identificar qué acciones separar en varios temas.
Una vez que las acciones están claramente definidas y se han identificado sus solapamientos semánticos, las acciones pueden agruparse en temas preliminares. Un tema es una categoría lógica de funcionalidad, una agrupación de acciones, que juntas representan una capacidad o habilidad coherente del agente.
Al crear estas agrupaciones:
Este es un ejemplo de una agrupación inicial para un agente de servicio al cliente:
Tema 1:
Tema 2:
Una vez que tenga la agrupación inicial, escriba descripciones de clasificación para cada tema.
Después de ajustar esta cuestión, obtenemos lo siguiente:
Para recapitular, primero se crea una lista completa de todas las acciones posibles, luego se marca la superposición semántica entre estas acciones. A continuación, debe crearse un conjunto de temas que, como mínimo, resuelva toda la superposición semántica (para que el motor de razonamiento no se confunda dentro de los límites de un tema). Después, se escribe la descripción de clasificación de cada tema. Si los temas tienen un ámbito demasiado amplio, hay que dividirlos en temas más granulares. Si sigue estos pasos, creará un agente que no solo funcione bien, sino que también sea fácil de mantener y ampliar.
Esta estructura admite un mejor razonamiento, una ejecución más precisa y límites de decisión más claros en el comportamiento del agente. También se basa en la colaboración entre diseñadores, ingenieros y expertos en la materia para hacer que las capacidades del agente sean más transparentes y modulares.
Otras consideraciones para la creación efectiva de temas
Imagine que un agente de servicio recibe una solicitud sobre la póliza de garantía para un reloj. El tema de la garantía no parece estar relacionado con el cambio o el soporte del producto. La gestión de pedidos parece ser el tema más apropiado para abordar esta solicitud. Por lo tanto, el motor de razonamiento elige este último tema como el más probable para cumplir con la solicitud.
Tras la selección del tema, el motor de razonamiento selecciona las acciones adecuadas que se deben ejecutar a partir del tema seleccionado. Una vez más, el LLM del motor de razonamiento es el responsable de esto, utilizando otra solicitud llamada la solicitud de observación. La finalidad de la solicitud de observación es obtener el siguiente paso en el proceso de razonamiento. El siguiente paso puede ser cualquiera de los siguientes:
La entrada a la solicitud de observación está formada por todas las descripciones de todas las acciones del tema, así como del historial de conversaciones.
Las acciones son las tareas predefinidas que el agente puede realizar para hacer su trabajo. Las acciones son las definiciones más detalladas del trabajo. Hay cinco tipos diferentes de acciones de agente: (1) ejecutar código Apex, (2) llamar a una API, (3) ejecutar un flujo, (4) obtener una respuesta de LLM a una plantilla de solicitud y (5) llamar a un modelo predictivo. La mayoría de estas acciones pueden ser deterministas. Una excepción es obtener una respuesta a una plantilla de solicitud (siempre que la acción de Apex, el flujo o el sistema externo no contenga elementos probabilísticos como invocaciones de solicitud). Abordaremos estos temas en el quinto nivel de control agéntico.
Continuemos con el ejemplo anterior en el que un agente de servicio recibe una pregunta sobre la política de garantía de un reloj. Después de seleccionar el tema Gestión de pedidos, se elige la acción más probable. Dado que este es el tema de gestión de pedidos, el primer paso lógico es buscar el pedido (de lo contrario, ¿para qué se recupera la información de la garantía?) iniciando la acción de búsqueda de pedidos.
Un enunciado del usuario puede desencadenar la ejecución de varias acciones antes de que se envíe una respuesta al usuario. Esto se debe al bucle agéntico, que continúa seleccionando y ejecutando la siguiente acción más adecuada hasta que se cumple una de las siguientes condiciones:
Las acciones no están sujetas a un tiempo de espera específico. Esto es para evitar interrupciones cuando los tiempos de ejecución de las acciones varían en función de su complejidad. Algunas acciones son simplemente más complejas de ejecutar que otras.
Después de iniciar una búsqueda de pedido, el motor de razonamiento evalúa la respuesta generada hasta el momento y decide si es necesario realizar más tareas antes de enviar una respuesta al usuario. Ahora que el pedido aparece en el historial de conversaciones, es el momento de consultar la política de garantía.
Sin embargo, al hacerlo, el agente se da cuenta de que el cliente ha comprado dos relojes, tal y como se ha recuperado mediante la acción "búsqueda de pedidos". Por lo tanto, en el bucle agéntico, el motor de razonamiento decide ahora pedir al cliente que especifique para qué reloj en concreto necesita información sobre la garantía.
La fiabilidad del agente se ve reforzada por una distribución cuidadosa de las acciones entre los distintos temas y por una descripción detallada de las acciones y los temas. Sin embargo, estos métodos no permiten expresar reglas de negocio, políticas y salvaguardas dentro del motor de razonamiento. Las instrucciones proporcionan una capa adicional importante de control agéntico. Las instrucciones ofrecen más orientación al motor de razonamiento cuando se usan varias acciones juntas. Esto permite un enfoque más matizado y basado en políticas para el comportamiento de los agentes. Con las instrucciones, los generadores de agentes pueden garantizar que los agentes no solo funcionen de forma fiable, sino que también cumplan las normas empresariales establecidas y las prácticas recomendadas.
Las instrucciones que se escriben a nivel de tema se convierten en parte de la solicitud de observación. Las instrucciones del tema guían al motor de razonamiento en la elección de las acciones adecuadas. Pueden proporcionar instrucciones sobre cuándo seleccionar qué acción y se pueden usar para definir la dependencia de la acción. En determinadas circunstancias, también pueden aplicar el control secuencial. Sin embargo, existen alternativas para ello y se deben seguir cuidadosamente las instrucciones para ese requisito. Las instrucciones del tema se agregan una por una y aparecen en cuadros separados en la interfaz de usuario, pero siempre se envían juntas a la solicitud de observación. Añadir instrucciones en recuadros separados aumenta la legibilidad y la facilidad de mantenimiento del tema, pero no afecta al motor de razonamiento.
En ocasiones, las instrucciones se aplican de forma global al agente y no están relacionadas con un tema concreto. La funcionalidad para mantener las instrucciones globales está actualmente en la hoja de ruta del producto. Las prácticas recomendadas para la redacción de instrucciones de temas se pueden encontrar en la Guía de Agentforce sobre temas, instrucciones y acciones. Repasemos algunas pautas adicionales.
Es importante evitar definir en exceso la forma en que los agentes deben conversar con los usuarios. El exceso de guionización puede limitar la capacidad de un agente para establecer una buena relación con el cliente, comprender sus necesidades específicas y responder de manera eficaz en tiempo real a circunstancias dinámicas. Además, las instrucciones largas pueden ralentizar la respuesta del agente y confundir al motor de razonamiento. Forzar el determinismo mediante instrucciones no es el enfoque preferido.
Por ejemplo, no es necesario decirle a un agente que evite referirse a los competidores en las respuestas de servicio. Esto puede dar lugar a comportamientos no deseados, ya que el agente también puede negarse a responder a preguntas relacionadas con la integración con un proveedor que a la vez sea un competidor. En su lugar, la instrucción puede ser algo así como "Cuando se hable de la competencia, responde teniendo en cuenta los intereses de la empresa". De este modo, se evitan instrucciones restrictivas y condicionales como "Menciona solo al competidor xyz en el caso de...", y se aprovechan las capacidades de razonamiento del LLM. En este ejemplo se muestra cómo es posible dar instrucciones a un nivel más general y abstracto, de forma similar a como se formaría a un empleado humano tras incorporarse al departamento de atención al cliente de la empresa.
Veamos algunos ejemplos más de lo que no se debe hacer. A continuación, se muestran algunas instrucciones formuladas incorrectamente, proporcionadas a un agente de servicio que gestiona perfiles de candidatos en un sitio web de contratación. Estas instrucciones intentan anticipar todas las posibles respuestas de los clientes y, por lo tanto, deben evitarse:
Instrucción 1:
El agente recibe el siguiente enunciado: "¿Puedo añadir una imagen a mi perfil?" A continuación, pregunta inmediatamente al cliente: "¿Qué tipo de perfil tienes?"
Instrucción 2:
Si el cliente indica que tiene un perfil premium, responde "Déjame comprobar los detalles de tu contrato", busca los detalles del contrato y comprueba si, en el contrato, se acordó que se podía actualizar la foto de perfil.
Si se acordó que el candidato puede hacerlo, responde "Sí, es posible; puedo encargarme de actualizarla". ¿Puedes proporcionar tu nueva foto?" Una vez que se reciba la imagen, actualiza el perfil del candidato en consecuencia. Si el contrato no incluye cambios en la foto del perfil, diga di "Lo siento, no es posible". "Voy a derivarte a un agente humano".
Instrucción 3:
Perfil no premium: Si el cliente indica que tiene un perfil no premium, responde "No puedes actualizar la foto. Si deseas hacerlo, dímelo y te transferiré con un agente humano".
Instrucción 4:
Si no queda claro el tipo de perfil, responde "No he entendido tu tipo de perfil".
En lugar de este tipo de control minucioso, es preferible aplicar un enfoque más flexible que oriente el comportamiento y la conducta de los agentes. Es importante tener en cuenta las siguientes prácticas recomendadas:
"Solo los candidatos con un perfil premium cuyo contrato permita cambiar la foto pueden actualizar su foto".
Según estas prácticas recomendadas, un conjunto de instrucciones más adecuado podría ser el siguiente:
Instrucción 1
: “Utiliza acciones de conocimiento para comprobar las políticas en caso de solicitudes de cambios en la cuenta".
Instrucción 2
: No respondas a preguntas para las que no se haya encontrado ninguna política aplicable".
La aplicación de las pautas anteriores puede mejorar los resultados del agente. Ahora, si el cliente solicita al agente un cambio de perfil, el agente comprenderá que necesita recuperar la política requerida de la base de conocimiento, interpretar las reglas recuperadas, aplicar esas reglas al contexto y, finalmente, responder al cliente. A diferencia de la guionización excesiva, este enfoque conductual es mucho más genérico y ampliamente aplicable. Sin tener que escribir cada conversación posible, el agente ahora puede responder de manera flexible con el comportamiento deseado a una gama más amplia de temas de conversación.
Sigamos con el ejemplo de los agentes del sitio web de contratación. El agente debe ser capaz de gestionar la planificación de las entrevistas con el entrevistador adecuado. Para ello, debe comprobar primero la disponibilidad de los responsables de selección y, a continuación, proponer tres posibles franjas horarias al candidato.
En este caso, para mantener el orden de ejecución, las instrucciones no deberían estar en cuadros separados:
Comprueba la disponibilidad de los entrevistadores.
Entonces, propón a los candidatos las franjas horarias adecuadas.
Estas instrucciones no funcionan porque el motor de razonamiento no sabe a qué se refiere "Entonces" en la instrucción 2. Esto se debe a que las instrucciones se envían al motor de razonamiento como un grupo, sin ningún orden en particular.
En su lugar, las instrucciones que definen la secuencia deben combinarse en una sola instrucción y escribirse así:
Comprueba la disponibilidad de los entrevistadores. Entonces, propón a los candidatos las franjas horarias adecuadas.
Sin embargo, cuando la expectativa es que solo se ejecute una acción de solicitud, se puede implementar una instrucción para indicar al agente que nunca cambie la salida de una acción. De este modo, se garantiza un comportamiento más predecible y fiable por parte de los agentes.
Imponer este cumplimiento estricto en las plantillas de solicitudes aprobadas resulta crucial en determinados escenarios, especialmente cuando la coherencia, el cumplimiento y los mensajes predefinidos son importantes. A continuación, se incluyen dos ejemplos:
Esta instrucción limita la libertad del agente para cambiar la salida de las acciones. Asegúrese de que la instrucción hace referencia a la salida de la plantilla de solicitud (como "promptResponse"), como se muestra en este rastreador de planes.
En este caso, la instrucción puede ser:
“
No cambiar la salida de promptResponse, independientemente del canal del agente
”.
Limitaciones en la aplicación del cumplimiento estricto:
Cuando una interacción requiere múltiples acciones distintas por parte del agente, no es viable exigir el cumplimiento estricto de una única plantilla. De hecho, en este escenario, el motor de razonamiento necesita consolidar estas acciones en una única respuesta y, por lo tanto, cambiar cada uno de los resultados de las acciones.
Según las características generales del LLM, el número objetivo de instrucciones oscila entre 5 y 10, dependiendo de la complejidad de las instrucciones y de la interacción entre ellas. Estas características de las instrucciones influyen en el número de instrucciones que puede seguir el motor de razonamiento:
Si es muy importante seguir una instrucción explícitamente, es importante añadir términos que reflejen su importancia:
Fundamentar las respuestas en datos mejora significativamente la fiabilidad y credibilidad de los agentes. Las respuestas fundamentadas se basan en información objetiva en lugar de en especulaciones o conocimientos obsoletos. La generación aumentada por recuperación (RAG) es una técnica ampliamente adoptada que permite a un agente acceder y utilizar una base de conocimientos para formular respuestas más precisas y contextualmente relevantes. En función de la consulta del usuario, el agente emplea la RAG para recuperar información relevante de las fuentes de datos aplicables y, a continuación, completa la solicitud con esta información antes de enviarla al LLM. Los agentes que recurren a la RAG ofrecen una mayor calidad, precisión y utilidad general en las interacciones, lo que aumenta la confianza y la satisfacción de los usuarios. Las prácticas recomendadas para la RAG se describen ampliamente en un documento técnico disponible públicamente llamado Agentforce and RAG: best practices for better agents. .
Es importante diferenciar entre conocimientos e instrucciones a la hora de encontrar el equilibrio adecuado entre orientación y flexibilidad, ya que cumplen funciones diferentes:
La generación aumentada de recuperación (RAG) actúa como una capa de datos inteligente para el conocimiento. Brinda a los agentes acceso a información en varios formatos y proporciona fragmentos de texto relevantes para responder preguntas. Con la RAG, los agentes pueden obtener respuestas de LLM más precisas sin saturar la solicitud del LLM con contenido superfluo ni exceder su ventana de contexto.
En tiempo de ejecución, la RAG ejecuta tres pasos:
En Agentforce, la RAG se puede utilizar con o sin una plantilla de solicitud:
El método recomendado es la opción 1. Reduce la cantidad de tareas que debe realizar el motor de razonamiento y, por lo tanto, mejora la calidad de su respuesta. En la siguiente sección analizaremos una excepción a esta regla, en la que el contenido se conserva a lo largo de toda la conversación y, por lo tanto, se asigna explícitamente a una acción.
Almacenamiento del resultado de RAG en una variable: cuando se alcance el número de límites de interacción, conviene guardar el resultado de RAG en una variable. De este modo, la información permanece accesible para orientar las interacciones de los agentes más allá del umbral estándar. En la siguiente sección se proporcionará un ejemplo.
Ciertos procesos de negocio exigen una ejecución aún más predecible, como la aplicación de una secuencia de acciones específica o condiciones para desencadenar acciones o temas.
Para lograr este comportamiento determinista, se pueden usar variables. Las variables funcionan como una forma estructurada de memoria de agente a corto plazo que puede servir como entradas o salidas de acciones. Además, el estado de una variable puede determinar la activación de temas y acciones específicos.
Cada tipo de variable incluye una serie de capacidades:
Variables de contexto | Variables personalizadas | |
---|---|---|
El usuario puede crear la instancia | X | ✓ |
Puede ser una entrada de acciones | ✓ | ✓ |
Puede ser una salida de acciones | X | ✓ |
Se puede actualizar mediante acciones |
X | ✓ |
Se puede utilizar en filtros de acciones y temas | ✓ | ✓ |
Profundicemos en las variables con un ejemplo de caso de uso: un agente de resolución de problemas orientado a los clientes. En este ejemplo, las variables se utilizan para las tres finalidades: fundamentación dinámica persistente, entradas/salidas de acciones y filtrado.
En este ejemplo, el agente ayuda a un cliente a solucionar un problema técnico del dispositivo. La resolución de problemas generalmente implica realizar una serie de pasos. El agente debe ofrecer una experiencia de servicio que imite el trabajo de un agente humano. Para ello, el agente no debe proporcionar a la vez todos los pasos de la resolución del problema al cliente. En su lugar, debe ofrecerle instrucciones paso a paso, junto con la capacidad de pasar de un paso a otro (incluida la posibilidad de volver a pasos abordados anteriormente) en función de cómo responda el cliente.
Uno de los retos que esto plantea es la capacidad del agente para recordar todos los pasos de resolución de problemas a lo largo de la conversación. Dada la memoria limitada del agente debido al número restringido de interacciones que puede almacenar, estos pasos pueden eliminarse del contexto del motor de razonamiento si la conversación se alarga.
La forma de abordar este problema es utilizar una variable para fundamentar el motor de razonamiento de forma dinámica en todos los pasos de resolución de problemas. Al recuperar la información y almacenarla en una variable, permanece disponible y se puede actualizar a lo largo de la conversación. El motor de razonamiento utiliza la información almacenada en esta variable para la fundamentación dinámica.
En este ejemplo, un tema incluye dos acciones. Estas dos acciones son necesarias para mantener un flujo de datos coherente. La primera acción se usa para rellenar la variable que contiene todos los pasos de resolución de problemas. La segunda acción usa esa variable durante la resolución de problemas en sí.
La pregunta original del cliente se incluye como entrada en ambas acciones. La segunda acción tiene otra entrada: el contenido de la variable "Pasos de resolución". Esta variable se ha establecido por la primera acción. Tenga en cuenta que la segunda acción no recuperará los pasos de resolución de problemas por sí misma, sino que los obtendrá como entrada de la primera acción a través de la variable. En el diagrama siguiente se muestra el flujo de datos entre esas dos acciones.
La acción "Utilizar en medio de la resolución de un problema" siempre hará referencia a los pasos de resolución de problemas originales recuperados por la acción Pasos de resolución de problemas. Este flujo de datos garantiza que los pasos de solución de problemas se mantengan de forma coherente y siempre presentes, independientemente de la duración de la conversación.
Para ejecutar las acciones definidas en este ejemplo, se necesitan instrucciones específicas, como "Ejecuta siempre primero los 'pasos de resolución Rellenar'". Sin embargo, dada la naturaleza no determinista de los LLM utilizados por los agentes, esto puede conducir a un orden diferente en ciertos casos. Para garantizar un orden determinista de ejecución, introducimos filtros condicionales en estas variables para aplicar la secuencia de acción adecuada. El agente lee el valor de la variable "Pasos de resolución" y define dos filtros en función de si esta variable tiene un valor o no.
Estos filtros condicionales ahora aplican de forma determinista la secuencia de ejecución de la acción: "Utilizar en medio de la resolución de un problema" debe esperar a que "Pasos de resolución de problemas" complete su tarea, lo que garantiza que la variable "Pasos de resolución" siempre tenga un valor.
Para garantizar la ejecución correcta de la acción, se necesita una tercera acción para restablecer la variable "Pasos de resolución" si el problema se resuelve por completo. Como resultado, el agente se restablece al estado requerido para ayudar con un posible problema nuevo y diferente. Esta tercera acción se llama "Vaciar la variable de resolución". El diagrama de acciones completo se muestra a continuación.
Las variables son fundamentales para que nuestro agente de resolución de problemas pueda resolver los problemas de los clientes, ya que permiten:
En la era de la IA generativa, la IA predictiva sigue siendo de vital importancia, ya que constituye la inteligencia fundamental que guía, mejora y contextualiza las capacidades generativas. Mientras que la IA generativa se centra en crear contenido nuevo, como texto, imágenes o vídeos, los modelos predictivos hacen predicciones sobre el futuro basándose en datos empresariales en tiempo real. Algunos ejemplos de resultados empresariales son las probabilidades de pérdida de clientes, las probabilidades de conversión, las probabilidades de derivación de casos, el valor vitalicio de los clientes y la clasificación de casos. Las predicciones pueden ayudar a anticipar las necesidades de los usuarios, personalizar los resultados, tomar decisiones y optimizar la relevancia del contenido en tiempo real, todo ello mediante el análisis de tendencias y cifras. Por ejemplo, en aplicaciones como el aprendizaje personalizado, la asistencia sanitaria o la planificación financiera, la IA predictiva garantiza que los resultados generativos se ajusten a los contextos individuales y a los posibles escenarios futuros. Juntas, la IA predictiva y generativa crean una potente sinergia, en la que se fusionan la previsión y la creatividad para impulsar soluciones tecnológicas más inteligentes, adaptables y con mayor impacto.
Para incorporar los resultados de los modelos predictivos a los flujos de trabajo de los agentes, simplemente basta con añadir acciones de modelos predictivos a los activos de Agentforce. El Generador de modelos proporciona los medios para crear o registrar (BYO) modelos predictivos, que luego son utilizados por el agente para realizar predicciones. Las predicciones resultantes (así como los predictores) se pueden almacenar en variables personalizadas. Los agentes pueden utilizar estos valores variables como entradas y condicionar la ejecución de acciones y temas específicos.
Ciertos procesos empresariales deben ejecutarse en un orden preciso y no requieren la intervención del usuario durante su ejecución. En este caso, se puede aplicar un flujo de pasos predeterminado mediante flujos, API o Apex. Si tiene un flujo existente en el que se basa la producción, es una buena indicación de que el agente puede conservarlo y utilizarlo para la ejecución de ese proceso empresarial. Todos los ejemplos siguientes incluyen secuencias predeterminadas de pasos que el agente puede ejecutar sin necesidad de intervención del usuario. El comportamiento agéntico en este caso consiste en identificar qué proceso determinista ejecutar, cómo recopilar los datos necesarios y cómo interpretar y procesar los resultados.
Los procesos empresariales con muchos pasos secuenciales (más de tres, como regla general) y muchas dependencias de variables se vuelven demasiado complejos y engorrosos de aplicar con instrucciones. En este caso, es posible codificarlos directamente utilizando los tipos de acción deterministas que se enumeran en esta sección. Por último, tenga en cuenta que estas implementaciones pueden incluir elementos no deterministas, como llamar a LLM con plantillas de solicitud resueltas. Por lo tanto, no necesariamente son completamente deterministas de principio a fin, y aún así pueden demostrar los niveles de fluidez deseados por los que los agentes son conocidos.
La secuencia de pasos en un recorrido de marketing está condicionada por reglas fijas y no depende de ninguna entrada conversacional del usuario. Por lo tanto, el flujo se puede utilizar como una acción de Agentforce. Se puede crear una acción invocable para completar tareas en segundo plano o activadas por eventos desde un componente de solución que puede llamar a un flujo o a una clase Apex. Añada una acción invocable a un flujo o clase Apex y especifique la tarea que debe completar el agente, así como las condiciones que lo activan. Las acciones invocables también pueden incluir las variables de contexto del agente y transmitir información importante.
Los flujos de Salesforce se pueden utilizar para automatizar tareas rutinarias, como crear tareas de seguimiento, enviar correos electrónicos de recordatorio o actualizar registros. Los flujos hacen que el trabajo sea más eficiente y productivo. Los agentes también pueden ejecutar flujos mediante acciones de flujo. Debido a su determinismo, los flujos son una excelente manera de dirigir el comportamiento agéntico cuando un proceso empresarial debe ejecutarse en una secuencia particular. Una buena indicación de que es preferible una acción de flujo es si el tema contiene instrucciones como "Primero haz esto, luego haz esto y, por último, haz esto". Hacer cumplir secuencias de más de tres pasos resulta complicado de gestionar mediante instrucciones y variables.
Los flujos también pueden incluir elementos no deterministas mediante llamadas a las solicitudes. Un nodo de solicitud en el flujo invoca una plantilla de solicitud y recopila la respuesta que se puede pasar a otros elementos del flujo. Estos elementos adicionales pueden ser nuevamente nodos de solicitud, por ejemplo, resumiendo la respuesta anterior, creando así una cadena de solicitudes. Esto resulta especialmente útil cuando las reglas del encadenado de solicitudes se definen mediante elementos fijos y no dependen de la entrada del usuario. Un ejemplo es la RAG agéntica, en la que una secuencia predefinida de recuperadores o solicitudes en un flujo puede acceder a fuentes de datos específicas en un orden concreto, como recuperar inicialmente datos del documento del país de un usuario antes de consultar otras fuentes según sea necesario. Este mecanismo de encadenado impone una extracción fiable y ordenada de información relevante.
Al igual que las acciones de flujos, las acciones de Apex y API son deterministas, ya que se puede codificar una secuencia predefinida de acciones. Estas acciones pueden incluir elementos no deterministas, como invocar plantillas de solicitud o llamadas al LLM. Sin embargo, en su definición, ejecutan estos pasos de forma determinista, lo que reduce la variabilidad del agente al llamar a la acción en el momento adecuado, recopilar la información necesaria y procesar el resultado. Estas responsabilidades aún deben regirse por instrucciones agénticas, por lo que no son deterministas. Las acciones de Apex y API son el equivalente en código profesional de las acciones de flujo.
Para lograr un comportamiento fiable de los agentes, es necesario adoptar un enfoque estructurado que equilibre la flexibilidad inherente a los modelos de lenguaje grandes (LLM) con la necesidad de control y previsibilidad a nivel empresarial. Este artículo describe una estrategia por capas para implementar el "determinismo guiado", que permite crear agentes que no solo son inteligentes y autónomos, sino que también son precisos y están alineados con los procesos empresariales de forma sistemática. La clave para desarrollar estos agentes de confianza reside en la implementación progresiva de mecanismos de control, cada uno de los cuales añade una nueva capa de fiabilidad:
Mediante la aplicación sistemática de estas capas de control (desde un diseño cuidadoso y unas instrucciones claras hasta la fundamentación de los datos, la gestión del estado y la automatización determinista de los procesos), los desarrolladores pueden superar con éxito los retos que plantea la creación de agentes fiables con resultados empresariales coherentes. Este enfoque estratégico garantiza que se pueda confiar en los agentes de Agentforce para realizar funciones críticas para el negocio con la precisión y coherencia requeridas en el ámbito empresarial.
Los cinco niveles de determinismo en la IA son: selección de temas y acciones sin instrucciones, instrucciones del agente, fundamentación en datos, variables de agente y acciones deterministas utilizando flujos, Apex y API.
Comprender el determinismo en la IA es crucial para crear agentes fiables que puedan realizar funciones empresariales importantes de forma precisa y coherente, y lograr así un equilibrio entre la fluidez creativa y el control empresarial.
En el campo de la IA, "determinista" se refiere a la capacidad de un sistema para producir la misma salida con la misma entrada y condiciones; es decir, se impone un nivel de rigidez y disciplina esencial para lograr un comportamiento fiable de los agentes.
El no determinismo en los sistemas de IA surge principalmente debido al uso de modelos de lenguaje grandes (LLM), que no son deterministas por naturaleza, lo que permite a los agentes ser flexibles y adaptativos.
Los niveles de determinismo aumentan progresivamente el determinismo de los agentes de IA, lo que afecta a su autonomía. A medida que el nivel sube, el agente se vuelve menos autónomo, pero más fiable y alineado con los procesos empresariales.
Los sistemas de IA menos deterministas presentan desafíos en términos de fiabilidad y cumplimiento de los requisitos empresariales, ya que su falta de determinismo inherente puede conducir a comportamientos impredecibles.
Las empresas que tienen sistemas de IA con diferentes niveles de determinismo los gestionan a través de un enfoque por capas que incluye un diseño cuidadoso, instrucciones claras, fundamentación en datos, gestión de estados mediante variables y automatización de procesos deterministas utilizando flujos, Apex y API.
Conozca en detalle cómo funciona la creación de agentes en nuestra biblioteca.
Lance Agentforce rápidamente, con confianza y consiga un ROI que pueda medir.
Cuéntenos las necesidades de su negocio y le ayudaremos a encontrar respuestas.