Agentforce Guía para lograr un comportamiento confiable de los agentes
Marco para 5 niveles de determinismo
Marco para 5 niveles de determinismo
Olfa Kharrat, directora de Gestión de productos - Agentforce
Reinier van Leuken, director sénior de Gestión de productos - Agentforce
Desarrollo de bloques de Agentforce y razonamiento de agentes
Definición de niveles de control de agentes
Control de agentes de nivel uno: Razonamiento con selección de temas y acciones sin solicitudes
Control de agentes de nivel dos: instrucciones
Control de agentes de nivel tres: fundamentación
Control de agentes de nivel cuatro: variables
La confianza ha sido el valor N.º 1 en Salesforce desde que se fundó en 1999, como pionera en un nuevo modelo tecnológico de computación en la nube y SaaS. Las empresas otorgan su confianza en Salesforce almacenando datos valiosos de la compañía en la nube, sabiendo que estos datos están protegidos y se rigen por los controles de acceso adecuados. Eso sigue siendo fundamental, pero en la era de la IA agéntica, la definición de confianza es aún más amplia. A medida que las compañías dependen cada vez más de los agentes autónomos para realizar funciones empresariales críticas, los agentes deben convertirse en socios comerciales de confianza, cuyo trabajo sea preciso, relevante y, sobre todo, confiable.
Entonces, ¿cómo se crea un agente confiable? La confiabilidad suele implicar brindar el mismo resultado para la misma entrada. Sin embargo, los agentes no necesariamente funcionan así, porque están impulsados por los modelos de lenguaje grande (LLM) que, por naturaleza, no son deterministas. Eso les da a los agentes la fluidez para desarrollar soluciones creativas adaptadas a circunstancias específicas, sin la necesidad de programar explícitamente cada condición o situación que encuentren. Sin embargo, los agentes también necesitan gobernanza para cumplir con los requisitos empresariales y ajustarse a las directrices operativas. Al ejecutar procesos empresariales, deben demostrar confiabilidad y producir resultados empresariales que se ajusten a las restricciones deterministas. El determinismo impone una rigidez y una disciplina que desentonan con la autonomía y la fluidez que proporcionan los agentes. Por lo tanto, la clave para el éxito de la creación de agentes es encontrar el equilibrio adecuado entre la fluidez creativa y el control empresarial.
Este documento aborda consideraciones clave para desarrollar agentes confiables. Define cinco niveles de control de agentes y proporciona prácticas recomendadas para obtener y mantener el control sobre el comportamiento de los agentes para cada uno de estos niveles. La guía aborda las formas en que funciona el motor de razonamiento de Agentforce. A medida que Agentforce vaya creciendo, este documento se actualizará para reflejar las últimas prácticas recomendadas.
Este documento asume una familiaridad básica con el 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, comparemos primero los agentes con sus contrapartes rígidas: los chatbots.
Chatbots: seguidores rígidos de reglas
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 las respuestas dadas por el usuario. Esta respuesta puede ser una selección de un conjunto predeterminado de opciones o bien una respuesta de texto libre. En el caso de una respuesta de texto libre, se utiliza un modelo predictivo para la clasificación de intenciones. Estos árboles trazan todas las posibles vías conversacionales y dictan las respuestas del chatbot en cada paso. El comportamiento del chatbot está determinado de forma rígida por reglas preestablecidas. Si la entrada de un usuario no coincide con una ruta reconocida, o si el modelo predictivo no se entrenó para reconocer una determinada intención, el chatbot no responde adecuadamente.
Agentes: adaptativos e intuitivos
Por su parte, los agentes aprovechan el poder de los LLM y sus capacidades avanzadas en el procesamiento de lenguaje natural (NLP). Los LLM permiten que los agentes comprendan la intención detrás de la entrada de un usuario, incluso si está redactada de manera inesperada. En función de su comprensión de la intención, el agente puede seleccionar la acción más adecuada entre una serie de posibilidades. Un agente puede incluso formular respuestas completamente nuevas. Esta flexibilidad y adaptabilidad distinguen a los agentes de sus homólogos los chatbots.
Una analogía culinaria
La diferencia entre chatbots y agentes se puede comparar con el contraste que existe 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 manejar entradas inesperadas.
Una característica distintiva de la inteligencia de un agente radica en su capacidad para organizar y activar las acciones más adecuadas en el momento adecuado. Esta flexibilidad elimina la necesidad de programar de forma exhaustiva cada interacción potencial del usuario.
En Agentforce, la creación de un agente implica temas, acciones e instrucciones y descripciones en lenguaje natural.
Los temas son los "trabajos pendientes" para el agente. Los temas tienen atributos, como descripción de clasificaciones, alcance e instrucciones, que definen cada trabajo y cómo se realiza. Los temas contienen acciones que el agente puede ejecutar, junto con instrucciones que rigen cómo se ejecutan estas acciones.
Las acciones son las tareas predefinidas que el agente puede llevar a cabo para realizar 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 directrices dentro de las cuales debe operar. Se escriben instrucciones para acciones y temas.
Estos diversos componentes, cuando se crean correctamente, ayudan a un agente a llevar a cabo su propósito previsto mientras opera dentro de los límites apropiados.
El motor de razonamiento de Agentforce organiza estos componentes en el comportamiento correcto de los agentes. Aprovecha las instrucciones y descripciones en lenguaje natural definidas en temas y acciones. Se basa en ReAct, un novedoso paradigma de razonamiento para los LLM introducido en 2022 por Yao et al. Este paradigma imita la gestión de tareas humanas razonando sobre un problema, tomando medidas, observando los resultados de la acción y repitiendo el ciclo hasta que se completa la tarea.
Los agentes de Salesforce cumplen con este paradigma:
El motor de razonamiento utiliza LLM en cada paso de razonamiento y observación. Dependiendo del tipo de acción, también puede utilizar LLM en el paso Actuar.
En esta sección, se describe un enfoque escalonado para mejorar el determinismo de los agentes. Cada nivel se basa en el anterior, con una complejidad y capacidades cada vez mayores que establecen más control sobre el comportamiento del agente.
El primer nivel se centra en permitir que los agentes identifiquen de forma autónoma temas relevantes y, a continuación, seleccionen las acciones adecuadas utilizando objetivos en lugar de instrucciones explícitas. El mecanismo central implica el uso de una comprensión contextual para responder a las entradas de los usuarios. Aunque técnicamente se puede agregar cualquier tipo de acción, a este nivel, asumimos que las acciones son de solicitud. Los temas sin instrucciones con acciones de solicitud proporcionan una forma rápida y eficiente de manejar consultas comunes.
A este nivel, se hace hincapié en establecer un nivel de referencia de capacidad de respuesta y autonomía de los agentes a través de la comprensión dinámica.
Sobre la base de la selección de acciones sin instrucciones, este nivel introduce instrucciones explícitas para guiar el comportamiento de los agentes. Agregar instrucciones precisas aumenta el control sobre cómo los agentes responden a diferentes situaciones. Las instrucciones para los agentes se pueden expresar como reglas, pautas, límites y ejemplos. Estos proporcionan al agente una indicación específica sobre cómo manejar varios temas, ejecutar acciones y procesar sus resultados. El objetivo de este nivel es proporcionar una orientación clara al agente con el fin de aumentar la coherencia y mejorar la observancia de las directrices y los procesos de la compañía.
La fundamentación implica conectar la comprensión y las respuestas del agente con fuentes de conocimientos externas. La fundamentación ayuda a garantizar que la información proporcionada por el agente sea más precisa, actualizada y relevante. Este nivel integra el acceso a bases de datos, bases de conocimientos y otros repositorios de información. Fundamentar las respuestas del agente con datos verificados mejora su confiabilidad e integridad.
Este nivel agrega la capacidad para que los agentes trabajen con variables. Las variables permiten a los agentes personalizar las interacciones, retener el contexto en varias interacciones y ajustar dinámicamente su comportamiento en función de los puntos de datos específicos mantenidos durante la sesión del agente. Por ejemplo, un agente podría capturar las preferencias del usuario, los detalles del pedido y otra información relevante, y luego usar esos datos para adaptar la interacción. Con las variables, los agentes pueden manejar interacciones más complejas, prescritas y personalizadas.
El paso final integra el agente con las principales funcionalidades de Salesforce: Apex, API y flujo. La integración permite al agente 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 poderosa herramienta capaz de ejecutar tareas sofisticadas y contribuir directamente a los resultados empresariales.
Comenzando por un punto de referencia de la capacidad de respuesta y la autonomía del agente, considera un agente que consiste solo en temas y acciones, con sus descripciones correspondientes. Podemos usar este agente de ejemplo para introducir los diferentes pasos del motor de razonamiento y mostrar cómo aprovecha estas descripciones para seleccionar los temas adecuados y luego las acciones que se deben ejecutar. Al omitir las instrucciones temáticas de 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 superiores. En el primer nivel, el agente tiene total libertad para seleccionar la acción que considere apropiada, basándose únicamente en la plática 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 relaciona con el tema más adecuado en función del nombre del tema y la descripción de la clasificación. |
Montaje del contexto | 4-5 | Una vez que se selecciona un tema, el motor recopila el alcance del tema, las instrucciones y las acciones disponibles junto con el historial de pláticas. (Nota: las instrucciones están cubiertas en el nivel dos, Control de agentes.) |
Toma de decisiones |
Utilizando toda esta información, el motor determina qué acción realizar: • Ejecutar una acción para recuperar o actualizar información • Pedirle al cliente que brinde más detalles • Responder directamente con una respuesta |
|
Ejecución de acciones | 6-8 | Si se requiere una acción, el motor la ejecuta y recopila los resultados. |
Bucle de acción | El motor evalúa la nueva información y decide nuevamente qué hacer a continuación, ya sea para 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 alcance del tema |
|
Envío de respuesta | La respuesta fundamentada se envía al cliente. |
Revisa las siguientes consideraciones para el motor de razonamiento:
El proceso de razonamiento implica 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 correctas. Cada tema debe estar compuesto por acciones semánticamente distintas que puedan pertenecer a una descripción concisa del tema y, por lo tanto, a una función de agente similar.
El LLM del motor de razonamiento selecciona el tema correcto (paso 2-3 del diagrama). Selecciona el tema, cuya descripción de clasificación coincide con el último enunciado de un modo más próximo, utilizando una solicitud de tema. Esta solicitud de tema contiene las descripciones de clasificación de todos los temas y el historial de pláticas. Además de las declaraciones y las respuestas de los agentes, el historial de pláticas incluye las acciones ejecutadas y sus resultados. Además, la solicitud incorpora instrucciones cruciales que exigen el análisis dentro del contexto del historial de pláticas y requieren que el LLM comparta su proceso de pensamiento.
Consideraciones adicionales:
El propósito de los temas es doble:
Al organizar cuidadosamente las capacidades de los agentes en temas claramente definidos compuestos por 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 conducen a buenos resultados cuando se siguen correctamente.
Comienza por enumerar todas las acciones específicas que el agente debe poder realizar. En esta etapa, es mejor ser muy específico en lugar de demasiado general. Evita tratar de agrupar o simplificar acciones antes de tiempo. El objetivo es crear una vista completa y granular de lo que el agente puede hacer.
Por ejemplo, en el caso de un agente de servicio al cliente, la lista inicial podría incluir lo siguiente:
Ten en cuenta que una acción como "Resolver reclamaciones del cliente" es demasiado amplia en este punto. Las acciones deben representar el menor nivel de granularidad en el comportamiento de los agentes. Las reclamaciones pueden ser de varios tipos, y las diferentes acciones ya las cubren:
Marca las acciones de naturaleza similar porque pueden causar confusión al motor de razonamiento. Sus descripciones no serán lo suficientemente diferentes a nivel semántico, por lo que el motor de razonamiento no sabrá qué acción seleccionar en el paso 5.
Por ejemplo, "Solución de problemas técnicos" y "Responder pregunta con conocimientos" tienen descripciones similares, pero su funcionalidad puede diferir significativamente. Marcar estas superposiciones semánticas permitirá identificar qué acciones separar en varios temas.
Una vez que las acciones están claramente definidas y se han identificado sus superposiciones semánticas, las acciones se pueden agrupar 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 tengas la agrupación inicial, escribe descripciones de clasificación para cada tema.
Después de refinar, obtenemos lo siguiente:
Para resumir, primero crea una lista completa de todas las acciones posibles y, a continuación, marca la superposición semántica entre estas acciones. Luego, crea un conjunto de temas que, como mínimo, resuelva toda superposición semántica (para que el motor de razonamiento no se confunda dentro de los límites de un tema). Luego escribe la descripción de clasificación de cada tema. Si los temas son demasiado amplios en su alcance, divídelos en temas más detallados. Al implementar esta guía, puedes crear un agente que no solo tenga un buen rendimiento, 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 dentro del comportamiento del agente. También se basa en la colaboración entre diseñadores, ingenieros y expertos en la materia para darles más transparencia y modularidad a las capacidades del agente.
Consideraciones adicionales para la creación efectiva de temas
Supongamos que un agente de servicio recibe una solicitud de póliza de garantía para un reloj. El problema de la garantía no parece estar relacionado con cambio o soporte de productos. Gestión de pedidos parece ser el tema más adecuado para abordar esta solicitud. Por lo tanto, el motor de razonamiento elige este último tema como el más probable de cumplir con la solicitud.
Después de seleccionar el tema, el motor de razonamiento selecciona las acciones correctas para ejecutar desde el tema seleccionado. Una vez más, el LLM del motor de razonamiento tiene la responsabilidad de hacerlo utilizando otra solicitud llamada “Solicitud de observación”. El propósito de la solicitud de observación es obtener el próximo paso en el proceso de razonamiento. Este próximo paso puede ser cualquiera de los siguientes:
La entrada de la solicitud de observación está formada por todas las descripciones de todas las acciones del tema, así como del historial de pláticas.
Las acciones son las tareas predefinidas que el agente puede llevar a cabo para realizar su trabajo. Las acciones son las definiciones más detalladas del trabajo. Hay cinco tipos diferentes de acciones de los agentes: (1) ejecutar código Apex, (2) llamar a una API, (3) ejecutar un flujo, (4) obtener una respuesta del LLM para 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 el sistema externo, la acción de flujo o de Apex no contengan elementos probabilísticos, como las invocaciones de solicitudes). Cubriremos estos problemas en el quinto nivel de control de agentes.
Continuemos con el ejemplo anterior en el que un agente de servicio recibió una pregunta sobre la póliza de garantía para un reloj. Después de seleccionar el tema Gestión de pedidos, se elige la acción más probable. Debido a 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 busca recuperar 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 del agente, 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. Así se evitan interrupciones cuando los tiempos de ejecución de 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 pedidos, el motor de razonamiento evalúa la respuesta generada hasta el momento y, a continuación, decide que queda trabajo por hacer antes de que pueda enviarse una respuesta al usuario. Está a punto de buscar la póliza de garantía, ahora que el pedido está presente en el historial de pláticas.
Sin embargo, al hacerlo, el agente se da cuenta de que el cliente en realidad ha comprado dos relojes, según lo recuperado por la acción de "Búsqueda de pedidos". Por lo tanto, en el bucle del agente, el motor de razonamiento ahora decide pedir al cliente que especifique para qué reloj en particular necesita información de garantía.
La confiabilidad de los agentes se ve mejorada por una cuidadosa distribución de las acciones en todos los temas, y acciones y temas bien descritos. Sin embargo, estos métodos no permiten la expresión de reglas de negocio, políticas y límites dentro del motor de razonamiento. Las instrucciones proporcionan una capa adicional importante de control de agentes. Las instrucciones ofrecen más orientación al motor de razonamiento cuando se utilizan varias acciones juntas. Esto da lugar a 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 manera confiable, sino que también cumplan con las reglas de negocio 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 para elegir las acciones adecuadas. Pueden proporcionar orientación sobre cuándo seleccionar qué acción, y se pueden utilizar para definir la dependencia de la acción. En ciertas circunstancias, también pueden imponer un control secuencial. Sin embargo, existen alternativas para esto y las instrucciones deben utilizarse cuidadosamente para ese requisito. Las instrucciones del tema se agregan una a una y aparecen en cuadros separados en la interfaz de usuario. Sin embargo, siempre se envían junto a la solicitud de observación. Agregar instrucciones en cuadros separados mejora la legibilidad y el mantenimiento del tema, pero no afecta al motor de razonamiento.
A veces, las instrucciones se aplican globalmente al agente y no están relacionadas con un tema individual. La funcionalidad para mantener las instrucciones globales se encuentra 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 Agentforce Guía de temas, instrucciones y acciones. Revisemos algunas pautas adicionales.
Evita crear demasiadas secuencias de comandos en las formas en que los agentes deben platicar con los usuarios. El uso excesivo de secuencias de comandos puede sofocar la capacidad de un agente para entablar una relación, comprender las necesidades únicas del usuario y responder a circunstancias dinámicas de manera efectiva y en tiempo real. Además, las instrucciones largas pueden ralentizar la respuesta del agente y confundir al motor de razonamiento. Forzar el determinismo a través de instrucciones no es el enfoque preferido.
Por ejemplo, no es necesario decirle a un agente que evite hacer referencia a la competencia en las respuestas de servicio. Esto puede conducir a un comportamiento no deseado, ya que el agente también puede negarse a responder preguntas relativas a la integración con un proveedor, que también es un competidor. En cambio, la instrucción puede ser algo como "Cuando se discute sobre la competencia, responder en beneficio de la compañía". Esto evita instrucciones restrictivas y condicionales, como "Solo mencionar al competidor xyz en caso de...". En cambio, aprovecha las capacidades de razonamiento del LLM. Este ejemplo muestra cómo se pueden dar instrucciones a un nivel más alto y abstracto, similar a la forma en que se capacitaría a un empleado de servicio humano después de ingresar a la compañía.
Veamos algunos ejemplos más de lo que no se debe hacer. Estas son algunas malas instrucciones dadas a un agente de servicio que maneja los perfiles de los candidatos en un sitio web de captación. Estas instrucciones intentan anticiparse a todos los posibles enunciados de los clientes y, por lo tanto, deben evitarse:
Instrucción 1:
El agente recibe el siguiente enunciado: "¿Puedo agregar una imagen a mi perfil?" Luego, pregunta inmediatamente al cliente: "¿Cuál es tu tipo de perfil?"
Instrucción 2:
Si el cliente indica un perfil premium, responde "Déjame verificar los detalles de tu contrato", luego busca los detalles del contrato y comprueba si se acordó que puede actualizar la imagen de perfil.
Si se acordó que el candidato puede hacerlo, responde "Sí, es posible, lo actualizaré por ti. ¿Puedes proporcionar tu nueva imagen?" Una vez recibida la imagen, actualiza el perfil del candidato en consecuencia. Si el contrato no incluye cambios en la imagen de perfil, di "Lo sentimos, esto no es posible. Déjame dirigirte a un agente humano"
Instrucción 3:
Perfil no premium: si el cliente indica un perfil no premium, responde "No puedes actualizar tu imagen. Si te gustaría hacerlo, avísame y te transferiré a un agente humano".
Instrucción 4:
Si el tipo de perfil no está claro, responde "No pude entender tu tipo de perfil".
En lugar de este tipo de microgestión, utiliza un enfoque más flexible que indique el comportamiento y la conducta de los agentes. Ten en cuenta las siguientes prácticas recomendadas:
"Solo pueden actualizar su imagen los candidatos con un perfil premium cuyo contrato permite cambios de imagen
".En función de estas prácticas recomendadas, un mejor conjunto de instrucciones podría verse así:
Instrucción 1
: "Utiliza acciones de conocimiento para verificar si hay políticas en caso de solicitudes de cambios en la cuenta".
Instrucción 2
: "No respondas a preguntas para las que no se pudo encontrar una política aplicable".
La aplicación de las pautas anteriores puede mejorar los resultados de los agentes. Ahora, si el cliente le pide al agente un cambio de perfil, el agente comprenderá que necesita recuperar la política requerida de la base de conocimientos, interpretar las reglas recuperadas, aplicar esas reglas al contexto y, finalmente, responder al cliente. A diferencia del uso excesivo de secuencias de comandos, este enfoque conductual es mucho más genérico y de aplicación general. Sin tener que escribir cada plática posible, el agente ahora puede responder de manera flexible y con el comportamiento deseado a una gama más amplia de temas de plática.
Continuemos con el ejemplo de los agentes del sitio web de captación. El agente debe poder gestionar la planificación de entrevistas con el entrevistador adecuado. Para ello, el agente primero debe verificar la disponibilidad de los reclutadores y, a continuación, proponer tres posibles espacios al candidato.
En este caso, para mantener el orden de ejecución, las instrucciones no deben estar en cuadros separados:
Comprueba la disponibilidad de los entrevistadores.
Luego, propón los espacios adecuados al candidato.
Estas instrucciones no funcionan porque el motor de razonamiento no sabe a qué se refiere la declaración que comienza con "Luego" en la instrucción 2. Esto se debe a que las instrucciones se envían al motor de razonamiento como grupo, no en un orden específico.
En cambio, las instrucciones que definen la secuencia deben combinarse en una sola declaración y escribirse de la siguiente manera:
Comprueba la disponibilidad de los entrevistadores. Luego, propón los espacios adecuados al candidato.
Sin embargo, cuando se espera que solo se haya ejecutado una acción de solicitud, se puede implementar una instrucción para indicar al agente que nunca cambie el resultado de una acción. Hacerlo garantiza un comportamiento más predecible y confiable de los agentes.
En ciertos escenarios, es fundamental aplicar esta estricta observancia en las plantillas de solicitudes aprobadas, especialmente cuando la coherencia, el cumplimiento y los mensajes predefinidos son importantes. Aquí tienes dos ejemplos:
Esta instrucción limita la libertad del agente para cambiar el resultado de las acciones. Asegúrate de que la instrucción haga referencia al resultado de la plantilla de solicitud (como "promptResponse"), como se muestra en este rastreador de planes.
Por lo tanto, las instrucciones en este caso pueden ser las siguientes:
“
No cambiar el resultado de promptResponse, independientemente del canal del agente.
”
Limitaciones en la aplicación de la estricta observancia:
Cuando una interacción requiere diversas acciones de agentes, no es factible aplicar la estricta observancia a una sola plantilla. De hecho, en este escenario, el motor de razonamiento debe consolidar estas acciones en una única respuesta y, por lo tanto, cambiar cada resultado de la acción.
En función de las características generales del LLM, la cantidad objetivo de instrucciones oscila entre 5 y 10, dependiendo de la complejidad de las instrucciones y la interacción de las instrucciones. Estas características de las instrucciones influyen en la cantidad de instrucciones que el motor de razonamiento puede seguir:
Si es muy importante seguir una instrucción de forma explícita, agrega términos que reflejen su importancia:
Fundamentar las respuestas en los datos mejora significativamente la confiabilidad e integridad de los agentes. Las respuestas fundamentadas se basan en información fáctica en lugar de especulación o conocimiento obsoleto. La generación aumentada de 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 de un usuario, un agente utiliza la RAG para recuperar información relevante de las fuentes de datos pertinentes y, a continuación, mejora la solicitud con esta información antes de enviarla al LLM. Un agente que utiliza la RAG tiene una mayor calidad, precisión y utilidad general de las interacciones con los agentes, lo que aumenta la confianza y la satisfacción del usuario. Las prácticas recomendadas para la RAG se describen extensamente en un documento técnico de dominio público que se denomina Agentforce and RAG: best practices for better agents .
Diferenciar entre conocimiento e instrucciones es importante a la hora de encontrar el equilibrio adecuado entre orientación y flexibilidad, ya que cumplen diferentes propósitos:
La generación aumentada de recuperación (RAG) actúa como una capa de datos inteligentes para el conocimiento. Proporciona a los agentes acceso a información en varios formatos y fragmentos de texto relevantes para responder preguntas. Con la RAG, los agentes pueden obtener respuestas más precisas del LLM sin abrumar la solicitud del LLM con contenido superfluo ni sobrepasar su ventana contextual.
En el 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 el motor de razonamiento debe realizar y, por lo tanto, mejora la calidad de su respuesta. La siguiente sección explora una excepción a esta regla, en la que el contenido se conserva a lo largo de la plática y, por lo tanto, se otorga a una acción de manera explícita.
Almacenar el resultado de la RAG en una variable: cuando se alcance la cantidad de límites de interacción, almacena el resultado de la RAG en una variable. Esto mantiene la información accesible para guiar las interacciones de los agentes más allá del umbral estándar. Proporcionaremos un ejemplo al respecto en la siguiente sección.
Ciertos procesos empresariales exigen una ejecución aún más predecible, como la aplicación de una secuencia de acción específica o de condiciones para activar acciones o temas.
Para lograr este comportamiento determinista, se pueden utilizar variables. Las variables funcionan como una forma estructurada de memoria de agentes a corto plazo, que puede servir como entradas o resultados de una acción. Además, el estado de una variable puede regir la activación de temas y acciones específicos.
Los tipos de variables admiten las siguientes capacidades:
Variables de contexto | Variables personalizadas | |
---|---|---|
El usuario puede crear una instancia | X | ✓ |
Puede ser entrada de acciones | ✓ | ✓ |
Puede ser resultado 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: agente de solución de problemas orientado al cliente. En este ejemplo, las variables se utilizan para los tres propósitos: fundamentación dinámica persistente, entradas/resultados de acciones y filtrado.
En este ejemplo, el agente ayuda a un cliente a solucionar un problema técnico con un dispositivo. La solució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 de servicio humano. Para ello, el agente no debe proporcionarle al cliente todos los pasos de solución de problemas a la vez. En cambio, debe ofrecer instrucciones paso a paso, junto con la capacidad de explorar los distintos pasos (incluso regresar a los pasos ya abordados) según cómo responda el cliente.
Un desafío de esto es la capacidad del agente para retener todos los pasos de solución de problemas a lo largo de la plática. Dada la memoria limitada del agente debido a la cantidad restringida de interacciones que puede almacenar, estos pasos se pueden eliminar del contexto para el motor de razonamiento si la plática se alarga.
La forma de abordar este desafío es utilizar una variable para fundamentar el motor de razonamiento de forma dinámica en todos los pasos de solución de problemas. Al recuperar la información y almacenarla en una variable, permanece disponible y se puede actualizar a lo largo de la plática. 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 utiliza para rellenar la variable que contiene todos los pasos de solución de problemas. La segunda acción utiliza esa variable durante la resolución de problemas.
La pregunta original del cliente se introduce en ambas acciones. La segunda acción tiene otra entrada: el contenido de la variable “Pasos de resolución”. Esta variable fue establecida por la primera acción. Ten en cuenta que la segunda acción no recuperará los pasos de solución de problemas en sí, sino que los obtendrá como entrada de la primera acción a través de la variable. El siguiente diagrama muestra el flujo de datos entre esas dos acciones.
La acción "Utilizar durante la resolución de un problema" siempre se referirá a los pasos originales de solución de problemas recuperados por la acción “Pasos de resolución de problemas”. Este flujo de datos garantiza la coherencia y presencia permanente de los pasos de solución de problemas, independientemente de la duración de la plática.
Para ejecutar las acciones definidas en este ejemplo, se necesitan instrucciones específicas, como "Siempre ejecutar primero 'Rellenar los pasos de resolución'". Sin embargo, dada la naturaleza no determinista de los LLM que utilizan los agentes, esto puede alterar el orden en determinados casos. Para garantizar un orden de ejecución determinista, 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 según si esta variable tiene o no un valor.
Estos filtros condicionales ahora aplican de manera determinista la secuencia de ejecución de acciones: “Utilizar durante la resolución de un problema” debe esperar hasta que "Pasos de resolución de problemas" completa su trabajo, 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 brindar asistencia con un posible problema nuevo y diferente. Esta tercera acción se denomina “Vaciar la variable de resolución”. A continuación se muestra el diagrama de acción completo.
Las variables son fundamentales para que nuestro agente de solución de problemas pueda resolver los problemas de los clientes al dar lugar a lo siguiente:
En la era de la IA generativa, la IA predictiva sigue siendo sumamente importante, ya que conforma la inteligencia fundamental que guía, mejora y contextualiza las capacidades generativas. Si bien la IA generativa se centra en crear contenido nuevo, como texto, imágenes o videos, los modelos predictivos hacen predicciones sobre el futuro en función de las entradas de datos empresariales en tiempo real. Entre los ejemplos de resultados empresariales, se incluyen la probabilidad de pérdida de clientes, las probabilidades de conversión, la probabilidad de derivación de casos, el valor del cliente a largo plazo y la clasificación de casos. Las predicciones nos permiten anticiparnos a las necesidades de los usuarios, personalizar los resultados, adoptar decisiones y optimizar la relevancia del contenido en tiempo real, todo mediante el análisis de tendencias y cifras. Por ejemplo, en aplicaciones como el aprendizaje personalizado, la atención de la salud o la planificación financiera, la IA predictiva garantiza la alineación de los resultados generativos con contextos individuales y posibles escenarios futuros. Juntas, las IA predictiva y generativa crean una poderosa sinergia, que combina la previsión con la creatividad para impulsar soluciones tecnológicas más inteligentes, adaptativas e impactantes.
Para incorporar resultados de modelos predictivos en los flujos de trabajo de los agentes, simplemente agrega acciones de modelos predictivos a los activos de Agentforce. El generador de modelos proporciona los medios para crear o registrar modelos predictivos (BYO), y estos modelos son lo que luego utiliza el agente para hacer predicciones. Las predicciones resultantes (así como los predictores) se pueden almacenar en variables personalizadas. Los agentes pueden utilizar los valores de esas variables como entradas para acciones y temas específicos, y condicionarlos para su ejecución.
Ciertos procesos empresariales deben ejecutarse en un orden preciso y no requieren la intervención del usuario durante la ejecución. En este caso, se puede aplicar un flujo predeterminado de pasos a través de flujos, API o Apex. Si tienes un flujo existente del que se depende en producción, es un buen indicio de que el agente pueda conservarlo y usarlo para la ejecución de ese proceso empresarial. Todos los ejemplos siguientes incluyen secuencias predeterminadas de pasos que el agente puede ejecutar sin la intervención del usuario. El comportamiento de los agentes en este caso consiste en identificar qué proceso determinista ejecutar, cómo recopilar las entradas necesarias 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 tornan demasiado complejos y engorrosos para aplicar con instrucciones. En este caso, es posible simplemente codificarlos utilizando los tipos de acción deterministas enumerados en esta sección. Por último, ten en cuenta que estas implementaciones pueden incluir elementos no deterministas, como llamar al LLM con plantillas de solicitud resueltas. Por lo tanto, no son necesariamente deterministas por completo, de principio a fin, y lo mismo pueden demostrar los niveles deseados de fluidez por los que se conoce a los agentes.
La secuencia de pasos en un trayecto de marketing está condicionada por reglas fijas; no depende de ninguna intervención de plática del usuario. Por lo tanto, el flujo se puede utilizar como acción de Agentforce. Se puede crear una acción invocable para completar tareas en segundo plano o desencadenadas por eventos desde un componente de solución que pueda llamar a un flujo o clase Apex. Agrega una acción invocable a un flujo o clase Apex, y especifica la tarea que completa el agente, así como las condiciones que activan el agente. 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 aportan más eficiencia y productividad al trabajo. 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 de los agentes cuando un proceso empresarial debe ejecutarse en una secuencia específica. Un buen indicio de que se prefiere una acción de flujo es cuando el tema contiene instrucciones como "primero haz esto, luego haz esto y finalmente haz esto". La ejecución de secuencias de más de tres pasos se torna engorrosa de gestionar a través de instrucciones y variables.
Los flujos también pueden incluir elementos no deterministas mediante llamadas a solicitudes. Un nodo de solicitud en un flujo invoca una plantilla de solicitud y recopila la respuesta que se puede transmitir a otros elementos del flujo. Estos elementos adicionales pueden volver a ser nodos de solicitud, por ejemplo, al resumir la respuesta anterior y creando así una cadena de solicitudes. Esto es particularmente útil cuando las reglas para encadenar solicitudes están definidas por elementos fijos y no dependen de la intervención del usuario. Un ejemplo es la RAG de agentes, en la que una secuencia predefinida de recuperadores o solicitudes en un flujo puede acceder a fuentes de datos específicas en un orden particular, como recuperar inicialmente datos del documento del país de un usuario antes de consultar otras fuentes según sea necesario. Este mecanismo de encadenamiento impone la extracción confiable y ordenada de información relevante.
Al igual que con los flujos, las acciones de Apex y API son deterministas en el sentido de que se puede codificar una secuencia de acciones predefinida. Estas acciones pueden incluir elementos no deterministas, como la invocación de plantillas de solicitud o llamadas del LLM. Sin embargo, por definición, ejecutan estos pasos de manera determinista, lo que reduce la variabilidad de los agentes al invocar la acción en el momento adecuado, recopilar las entradas necesarias y procesar el resultado. Estas responsabilidades lo mismo deben regirse mediante instrucciones de los agentes, por lo que no son deterministas. Las acciones de Apex y API son el equivalente como código profesional de las acciones de flujo.
Lograr un comportamiento confiable de los agentes requiere un enfoque estructurado que equilibre la flexibilidad inherente de los modelos de lenguaje grande (LLM) con la necesidad de control y previsibilidad a nivel empresarial. En este artículo se describe una estrategia estratificada para implementar el "determinismo guiado", que permite la creación de agentes que no solo sean inteligentes y autónomos, sino que también sean consistentemente precisos y estén alineados con los procesos empresariales. La clave para crear estos agentes de confianza radica en una implementación progresiva de mecanismos de control, cada uno de los cuales agrega una nueva capa de confiabilidad:
Al aplicar sistemáticamente estas capas de control (desde un diseño reflexivo e instrucciones claras, hasta la fundamentación de datos, la gestión de estados y la automatización de procesos deterministas), los desarrolladores pueden sortear con éxito los desafíos de crear agentes confiables con resultados empresariales consistentes. Este enfoque estratégico garantiza que se pueda confiar en los agentes de Agentforce para realizar funciones empresariales críticas con la precisión y la coherencia que requiere el ámbito empresarial.
Los cinco niveles de determinismo en la IA son los siguientes: selección de temas y acciones sin instrucciones, instrucciones de los agentes, fundamentación de datos, variables de los agentes y acciones deterministas mediante flujos, Apex y API.
Comprender el determinismo de la IA es esencial para crear agentes confiables que puedan realizar funciones empresariales críticas con precisión y coherencia, y lograr así un equilibrio entre la fluidez creativa y el control empresarial.
En el contexto de la IA, "determinista" se refiere a la capacidad de un sistema para producir el mismo resultado con la misma entrada y las mismas condiciones, lo que impone una rigidez y disciplina fundamentales para lograr un comportamiento confiable de los agentes.
El no determinismo en los sistemas de IA surge principalmente debido al uso de modelos de lenguaje grande (LLM) que son no deterministas por naturaleza, lo que permite a los agentes ser flexibles y adaptables.
Los niveles de determinismo mejoran progresivamente el determinismo de los agentes de IA, lo que afecta su autonomía. A medida que los niveles mejoran, los agentes pierden autonomía, pero ganan confianza y se alinean con los procesos empresariales.
Los sistemas de IA menos deterministas presentan desafíos en términos de confiabilidad y cumplimiento con los requisitos empresariales, ya que su falta de determinismo inherente puede dar lugar a un comportamiento impredecible.
Las empresas gestionan los sistemas de IA con niveles de determinismo diversos aplicando un enfoque por capas que incluye un diseño reflexivo, instrucciones claras, fundamentación de datos, gestión de estados a través de variables y automatización de procesos deterministas mediante flujos, Apex y API.
Echa un vistazo más de cerca a cómo funciona el desarrollo de agentes en nuestra biblioteca.
Lanza Agentforce con velocidad, confianza y ROI que puedes medir.
Cuéntanos cuáles son las necesidades de tu empresa y te ayudaremos a encontrar respuestas.