Olfa Kharrat, directora de Gestión de Productos - Agentforce
Reinier van Leuken, Director sénior de Gestión de Productos - Agentforce
Índice
Componentes básicos de Agentforce y razonamiento de agentes
Definición de los niveles del control de agentes
Control de agentes de nivel 2: instrucciones
Control de agentes de nivel 3: fundamentación
Control de agentes de nivel 4: variables
Control de agentes de nivel 5: acciones deterministas
Control de agentes de nivel 6: control determinista con Guionado de agente
Introducción
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.
En este documento, se abordan las consideraciones clave para desarrollar agentes confiables. Se definen seis niveles de control de agentes y se ofrecen prácticas recomendadas para obtener y mantener el control sobre el comportamiento de los agentes para cada uno de estos niveles. En la guía, se abordan las formas en que funciona el motor de razonamiento de Agentforce. A medida que Agentforce crezca, este documento se actualizará para reflejar las prácticas recomendadas más recientes.
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:
- Revisa los recursos en agentforce.com.
- Sigue el recorrido Conviértete en promotor de Agentblazer . Esta ruta explora los conceptos básicos de la IA y te ayuda a crear un agente básico para tareas clave.
- Obtén más información sobre Agentforce en help.salesforce.com , específicamente en Diseño e implementación de agentes . Este mapa de aprendizaje te guía a través de todos los pasos clave del ciclo de vida, desde la ideación de tu solución a la puesta en marcha y configuración de tu agente, las pruebas, la implementación y la supervisión.
Agentes versus chatbots
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.
- El cocinero novato (chatbot) depende en gran medida en una receta detallada, completa con mediciones precisas, instrucciones paso a paso y tiempos de cocción específicos. Cualquier desviación de la receta deriva en un desastre culinario. Del mismo modo, un chatbot debe funcionar dentro de los límites de su árbol de decisiones preprogramado.
- El chef experimentado (agente) posee años de experiencia e intuición culinarias. Con una comprensión general de tus preferencias y una breve descripción de los ingredientes disponibles, pueden preparar una deliciosa comida acorde a tus necesidades. Los pasos exactos pueden variar cada vez y cada versión del plato puede tener diferencias sutiles, pero el resultado general es sistemáticamente satisfactorio. Del mismo modo, un agente puede adaptar su enfoque en función del contexto y la intención de la entrada del usuario, lo que da como resultado una interacción exitosa.
En resumen, la diferencia fundamental entre los agentes y los chatbots radica en su adaptabilidad y capacidad para manejar entradas inesperadas.
Componentes básicos de Agentforce y razonamiento de agentes
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.
Desarrollo de bloques
En Agentforce, la creación de un agente implica temas, acciones e instrucciones y descripciones en lenguaje natural.
Temas
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.
Acciones
Las acciones son las tareas predefinidas que el agente puede llevar a cabo para realizar su trabajo. Hay cinco tipos diferentes de acciones:
- ejecutar código Apex
- llamar a una API
- ejecutar un flujo
- obtener una respuesta de LLM para una plantilla de solicitud
- llamar a un modelo predictivo
Instrucciones y descripciones en lenguaje natural
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.
- Acciones. Una acción contiene lo siguiente:
- Instrucciones que describen lo que hace la acción, que le indican al motor de razonamiento cuándo ejecutar esta acción.
- Entradas con una descripción en lenguaje natural para que el agente pueda prepararlas.
- Salidas con una descripción en lenguaje natural de cómo formatearlas y usarlas.
- Tema. Un tema contiene instrucciones que rigen cómo ejecutar sus acciones en un nivel superior. Por ejemplo, las instrucciones pueden especificar límites sobre el tono de voz, la secuencia deseada de acciones, los posibles requisitos previos o cuándo derivar las pláticas a un ser humano. El tema también contiene una descripción de la clasificación y una delimitación del alcance. En conjunto, esto garantiza que el agente se mantenga dentro del alcance de su función definida y realice el trabajo.
- Datos. Los agentes necesitan datos para realizar con éxito sus trabajos. Los datos pueden estructurarse, como los datos del CRM, o no estructurarse, como los artículos de conocimiento de la compañía. Los agentes acceden a los datos mediante entradas de acción. Por ejemplo, una acción puede llamar a una plantilla de solicitud que se basa en datos del CRM o se aumenta con fragmentos de datos no estructurados mediante técnicas de generación aumentada de recuperación (RAG).
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.
Motor de razonamiento
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:
- Razonar: comprender la intención del usuario y alinearla con el tema y las acciones correctas.
- Actuar: lanzar la cadena de acciones correcta.
- Observar: evaluar los resultados de las acciones en función de la intención del usuario. Si no se cumple la intención, sigue razonando en función del resultado obtenido hasta el momento y de las instrucciones y descripciones del tema o acción. Si se cumple la intención, proporciona la respuesta final y sigue las posibles instrucciones de formato.
- Repetir: reitera estos pasos hasta que se alcance el paso final indicado.
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.
Definición de los niveles del control de agentes
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.
1. Razonamiento con temas sin instrucciones y selección de acciones de solicitud
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.
2. Instrucciones de los agentes
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.
3. Fundamentación de datos
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.
4. Variables de los agentes
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.
5. Acciones de Apex, API y flujos
En este paso, el agente se integra con las funcionalidades principales de Salesforce: Apex, API y flujos. La integración permite que el agente realice acciones complejas dentro del ecosistema de Salesforce, como acceder y manipular datos, activar flujos de trabajo e interactuar con otros sistemas.
- Apex proporciona control programático.
- Las API permiten una integración fluida con otras aplicaciones.
- Los flujos permiten la automatización de procesos empresariales complejos.
Este nivel transforma al agente en una poderosa herramienta capaz de ejecutar tareas sofisticadas y contribuir directamente a los resultados empresariales.
6. Guionado de agente
A partir de las integraciones técnicas del nivel 5, este nivel final introduce el razonamiento determinista para cerrar la brecha entre la IA probabilística y la lógica empresarial rígida. Si bien los niveles anteriores se basan en el LLM para decidir qué herramienta usar, el Guionado de agente te permite "codificar de forma rígida" el propio proceso de razonamiento. Mediante el uso de un lienzo de estilo documento o un código directo, puedes definir rutas inmutables, como puertas de autenticación obligatorias, ramificación condicional if/else y transiciones de temas forzadas, que el agente debe seguir, independientemente de la entrada del usuario. Este enfoque de razonamiento híbrido te permite colocar la flexibilidad conversacional de un LLM entre las capas de ejecución garantizada. El nivel 6 transforma el agente en un socio de confianza cero y nivel empresarial capaz de manejar el cumplimiento de altas apuestas, las divulgaciones regulatorias y las dependencias complejas de varios pasos con absoluta precisión.
Control de agentes de nivel 1: Razonamiento con temas sin instrucciones y selección de acciones de solicitud
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. |
| Clasificar el tema | 2-3 | El motor analiza el mensaje del cliente y lo empareja con el tema más adecuado en función del nombre del tema y la descripción de la clasificación. El Guionado de agente transforma el selector de temas en un elemento completamente configurable, lo que elimina la "caja negra" del enrutamiento probabilístico de LLM. La navegación se trata como un tema programable, por lo que obtienes transparencia y control absolutos. Esto te permite alinear la lógica de toma de decisiones del agente de forma precisa con tus requisitos empresariales específicos y estándares de arquitectura. |
| Ejecuta el Guionado de agente del tema y crea instrucciones/resuelve instrucciones y acciones disponibles | 4-5 | Ejecuta acciones guionadas por las instrucciones. Son acciones que se deben ejecutar después de elegir un tema, pero antes de que el sistema proceda a evaluar las instrucciones no deterministas o el resto del contexto conversacional. |
Historial de solicitudes y pláticas enviado a LLM |
6 | Una vez que se ejecutan todas las acciones guionadas, se envía una solicitud a LLM con el alcance del tema, las instrucciones y las acciones disponibles, además del historial de conversaciones. Nota: Las instrucciones están cubiertas en el nivel 2, Control de agentes. |
| LLM decide responder o ejecutar una acción | 7 | Con toda esta información, el motor determina si debe: • Ejecutar una acción para recuperar o actualizar información • Pedirle más detalles al cliente • Responder directamente Si el LLM decide responder, se ejecuta el paso 12. |
| Ejecución de acciones | 8-9 | Si se requiere una acción, el motor la ejecuta y recopila los resultados. |
| Ejecuta la lógica después de la acción | 10 | Solo se aplica con Guionado de agente: Con Guionado de agente, las acciones pueden tener transiciones deterministas a otras acciones o temas. Siempre se ejecutarán después de que se ejecute la acción. |
| Salida de acción devuelta + Bucle de acción | 11 | El motor evalúa la información nueva y vuelve a decidir qué hacer a continuación: ejecutar otra acción, solicitar más información o responder. |
| Verificación de fundamentación: LLM responde al cliente | 12 | Antes de enviar una respuesta final, el motor comprueba que la respuesta: • Se base en información precisa de acciones o instrucciones • Siga las pautas proporcionadas en las instrucciones del tema • Se mantenga dentro de los límites establecidos por el alcance del tema Nota: Con el Guionado de agente es posible agregar un paso para formatear la respuesta final. La respuesta guionada se envía al cliente. |
Revisa las siguientes consideraciones para el motor de razonamiento:
- Los ajustes de configuración se fijan para el LLM del motor de razonamiento. Los generadores de agentes no pueden cambiarlos. En la actualidad, el generador de agentes puede elegir entre un LLM de OpenAI o un LLM de Anthropic alojado en la infraestructura de Salesforce para el razonamiento. Esto está sujeto a cambios a medida que se agregan más modelos.
- Historial predeterminado del motor de razonamiento: cada vez que se realiza una solicitud al motor de razonamiento (pasos 2 a 5), recupera automáticamente el historial de las solicitudes y respuestas más recientes. Esto garantiza que se mantenga el contexto de la plática para el motor de razonamiento. Además de las interacciones con los clientes, estas llamadas al LLM del planificador incluyen llamadas al LLM del motor de razonamiento para otras solicitudes, como la selección de temas.
Pasos del razonamiento
El proceso de razonamiento implica cuatro pasos principales:
- Selección de temas
- Selección de acciones
- Bucle del agente
- Comprobación de la fundamentación
Paso 1 del razonamiento: Selección de temas
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:
- Existe automáticamente un tema oculto adicional para los enunciados "Fuera de tema" junto con los temas visibles. Este tema se selecciona cuando ningún otro tema existente se alinea con el enunciado. Esto ayuda al agente a evitar una clasificación errónea. Este tema no tiene acciones. Solo existe para ayudar al motor de razonamiento a formular una respuesta adecuada más adelante.
- En la solicitud de tema, se utilizan solo el nombre y la descripción de clasificación del tema.
- El LLM del motor de razonamiento puede elegir solo un tema a la vez.
- Las pláticas pueden dar un giro inesperadamente. Cada vez que se recibe un enunciado, el motor de razonamiento procede al paso de selección de temas, lo que significa que se puede seleccionar un nuevo tema en cada nuevo enunciado.
Prácticas recomendadas para el diseño de temas
El propósito de los temas es doble:
- Reduce el riesgo de confundir al motor de razonamiento agrupando acciones y evitando así que seleccione las acciones incorrectas.
- Guía la selección y ejecución de acciones con instrucciones (más información sobre esto en Nivel dos: Control de agentes: agregar instrucciones).
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.
- En el enfoque descendente, los temas se diseñan primero como trabajos de alto nivel que el agente debe realizar y, luego, se definen las acciones individuales para esos temas.
- En el enfoque ascendente, primero se definen todas las acciones individuales que luego se agrupan en temas.
Ambos enfoques conducen a buenos resultados cuando se siguen correctamente.
Enfoque ascendente
En esta sección, se analiza el enfoque ascendente, ya que se alinea estrechamente con las razones por las que el motor de razonamiento necesita temas para comenzar.
Paso 1: Enumerar las acciones de los agentes
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:
- Devolver un pedido: se utiliza para iniciar el proceso de devolución de un pedido.
- Verificar disponibilidad de inventario: se utiliza para verificar si un producto está en stock.
- Revisar políticas de cambio de productos: se utiliza para recuperar información sobre las reglas de intercambio.
- Responder preguntas con conocimientos: se utiliza para responder preguntas generales o frecuentes.
- Consultar promociones: se utiliza para comprobar si hay promociones o descuentos disponibles.
- Predecir la fecha de entrega: se utiliza para estimar la fecha y hora de entrega previstas.
- Comprobar el estado del pedido: se utiliza para encontrar el estado actual del pedido de un cliente.
- Buscar pedidos de clientes: se utiliza para recuperar todos los pedidos pasados o activos de un cliente específico.
- Solucionar problemas técnicos: se utiliza para resolver problemas técnicos con un producto o servicio.
- Encontrar condiciones de pedidos de clientes: recuperar todas las condiciones relacionadas con un pedido.
- Encontrar activos de clientes: se utiliza para identificar o recuperar activos asociados a un cliente.
- Cambiar la dirección de entrega.
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:
- Los problemas posteriores a la entrega, como la solución de problemas de productos dañados o que funcionan mal, ya están cubiertos por "Solucionar problemas técnicos".
- Los problemas previos a la entrega, como las entregas faltantes, la necesidad de cambiar las fechas de entrega o la modificación del pedido, ya están cubiertos por acciones como "Comprobar el estado del pedido", "Predecir la fecha de entrega" o "Devolver un pedido".
- Las preocupaciones generales de los clientes, como las consultas sobre pólizas, ya están cubiertas por "Responder preguntas con conocimientos" o "Revisar políticas de cambio de productos".
Paso 2: Marcar pares de acciones (o en paralelo) que posiblemente causen confusión en el razonamiento
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.
Paso 3: Crear agrupaciones iniciales de acciones en 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:
- Evita la superposición semántica utilizando el número mínimo de temas necesarios.
- Asegúrate de que cada tema contenga acciones que estén relacionadas de manera significativa.
- Asegúrate de que las acciones de respaldo que deben ejecutarse en una cadena estén presentes en el mismo tema.
Este es un ejemplo de una agrupación inicial para un agente de servicio al cliente:
Tema 1:
- Devolver un pedido
- Verificar disponibilidad de inventario
- Revisar políticas de cambio de productos
- Consultar promociones
- Predecir la fecha de entrega
- Encontrar condiciones de pedidos de clientes
- Comprobar estado del pedido
- Encontrar pedidos de clientes
- Encontrar activos de clientes
- Responder preguntas con conocimientos
- Cambiar la dirección de entrega
Tema 2:
- Solucionar problemas técnicos
- Encontrar activos de clientes
Paso 4: Escribir descripciones de clasificación de temas y dividir los temas si es necesario
Una vez que tengas la agrupación inicial, escribe descripciones de clasificación para cada tema.
- El tema 2 de nuestro ejemplo se refiere claramente a los problemas técnicos con los productos.
- Sin embargo, el tema 1 abarca un alcance más amplio. Se trata en gran parte de la gestión de pedidos, pero contiene algunas acciones que no están relacionadas con la gestión de pedidos, como verificar promociones y responder preguntas con conocimientos. El tema 1 no se puede describir de manera clara y concisa en una sola oración, por lo que debe dividirse en diferentes temas.
Después de refinar, obtenemos lo siguiente:
- Tema 1: Gestión de pedidos: describe las acciones relacionadas con la gestión y modificación de los pedidos de los clientes, y la logística relacionada, excepto cualquier aspecto relacionado con el cambio y la devolución.
- Verificar disponibilidad de inventario: determinar si un producto está en stock.
- Predecir la fecha de entrega: calcular cuándo llegará un pedido.
- Comprobar estado del pedido: encontrar el estado del pedido de un cliente.
- Encontrar pedidos de clientes: recuperar todos los pedidos realizados por un cliente.
- Cambiar la dirección de entrega.
-
Tema 2: Solución de problemas
- Encontrar activos de clientes: recuperar los dispositivos o productos registrados del cliente.
- Solucionar problemas técnicos: brindar asistencia técnica o diagnósticos.
- Tema 3: Cambio: describe las acciones relacionadas con el cambio y la devolución de pedidos.
- Devolver un pedido: inicia el proceso de devolución de pedidos.
- Revisar políticas de cambio de productos: proporciona reglas de cambio de productos.
- Encontrar pedidos de clientes: recuperar todos los pedidos realizados por un cliente.
- Encontrar condiciones de pedidos de clientes: recuperar todas las condiciones relacionadas con un pedido
- Tema 4: Soporte de productos: describe las acciones transversales utilizadas para la recuperación y el enrutamiento de información.
- Responder preguntas con conocimientos: responder a las consultas generales de los clientes utilizando información de la base de conocimientos.
- Consultar promociones: ver promociones o descuentos actuales.
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.
Otras consideraciones para la creación efectiva de temas
- Cantidad óptima de temas: para mejorar el rendimiento de los LLM en la clasificación del tema correcto, generalmente es recomendable no superar los 10 temas. Pero esto es solo una regla general. Además, cada tema debe tener una descripción clara y distinta. En definitiva, la cantidad óptima de temas depende de la distancia semántica entre las descripciones de clasificación de los temas. Si los temas tienen descripciones de clasificación muy diferentes, se minimiza el riesgo de superposición de temas. Aquí se describen más prácticas recomendadas para evitar la superposición entre temas.
- Equilibrio entre el tamaño y la claridad del tema: si bien generalmente es beneficioso tener temas pequeños en términos de acciones e instrucciones para facilitar la clasificación, crear demasiados temas con descripciones muy similares puede generar confusión, al igual que la superposición semántica entre acciones deriva en clasificaciones erróneas. Por lo tanto, es importante tener descripciones temáticas claramente diferenciadas semánticamente. Puedes utilizar los LLM para crear esas clasificaciones bien diferenciadas.
- Lenguaje estándar y claridad contextual: es posible que los LLM no tengan conocimiento de significados y abreviaturas específicos de la compañía o negocio. Utiliza un lenguaje estándar o sé muy explícito al explicar el significado de las palabras dentro de tu contexto particular.
- Solo el nombre y la descripción del tema se envían en la solicitud del tema. Por lo tanto, cambiar el alcance o las instrucciones del tema no tendrá ningún impacto en la selección del tema.
Ejemplo en acción
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.
Paso 2 del razonamiento: Selección de acciones
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:
- Iniciar una acción
- Solicitar entradas de acción del usuario
- Solicitar al usuario una aclaración de la solicitud
- Enviar la respuesta final al usuario (cumplir con la solicitud del usuario) una vez completado el bucle de acción (para obtener más detalles, consulta el paso 3 del razonamiento)
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.
Prácticas recomendadas para el diseño de acciones
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.
- Controlar el comportamiento del agente en las acciones de solicitud: Hay dos formas de imponer el control sobre el comportamiento del agente en las acciones de solicitud: (1) agregar más instrucciones a la plantilla de solicitud a través de la ingeniería de solicitudes, y (2) configurar los hiperparámetros del LLM que genera la respuesta de solicitud, en particular la temperatura (consulta Documentación ). Bajar la temperatura reduce la variabilidad en las respuestas generadas, lo que aumenta su repetibilidad y la confiabilidad del agente.
- Cantidad óptima de acciones en un mismo tema: como ocurre con la cantidad máxima de temas, la cantidad de acciones en un tema no debe superar las 10. Pero, una vez más, esta es una regla general. El factor impulsor real es la distancia semántica entre las acciones. Cuando las acciones se distinguen claramente mediante su descripción, este número puede ser mayor. Sin embargo, no hay ninguna medida numérica para la distancia semántica; esto depende de la interpretación del generador de agentes. Cuanto mayor sea la diferencia de significado entre las descripciones de las acciones, mayor será la distancia semántica. Se debe evitar en todo momento la superposición.
- Descripciones de acciones: Contrariamente a lo que sugiere el nombre, la "instrucción de acción" en realidad sirve como una instrucción que el LLM del motor de razonamiento utiliza para seleccionar la acción correcta a partir del tema. Ten en cuenta que el uso de descripciones de acciones semánticamente distintivas puede mejorar en gran medida la calidad de sus clasificaciones. Revisa cuidadosamente estas descripciones y, en especial, compara todas las descripciones de acciones que pertenecen a un solo tema.
Ejemplo en acción
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.
Paso 3 del razonamiento: Bucle del agente
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:
- El LLM del motor de razonamiento determina que la solicitud está completa. En este caso, encuentra que la respuesta satisface la solicitud del usuario. Ten en cuenta que parte de esta verificación incluye una verificación de fundamentación, que corrobora que la respuesta esté basada en los resultados de la acción. El LLM del motor de razonamiento no debe inventar ninguna información en la respuesta, ya que puede dar lugar a alucinaciones o respuestas incorrectas.
- No se encuentran acciones más adecuadas.
- Se alcanza el máximo de llamadas de LLM permitidas para el paso actual. Este número lo establece el propio motor de razonamiento.
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.
Ejemplo en acción
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.
Control de agentes de nivel 2: instrucciones
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.
Prácticas recomendadas para la redacción de instrucciones
Evita el uso excesivo de secuencias de comandos
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.
Lo que no debes hacer
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".
Lo que sí debes hacer
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:
- Utiliza acciones de generación aumentada de recuperación (RAG)/conocimiento para políticas y reglas incluidas en artículos de conocimiento (en lugar de escribirlas como instrucciones). La información relevante se recupera en el momento adecuado. Para el ejemplo anterior, eso significa que un artículo de conocimiento titulado "Actualización de la imagen" debe decir:
"Solo pueden actualizar su imagen los candidatos con un perfil premium cuyo contrato permite cambios de imagen". - Describe las principales pautas y límites de forma individual, independientemente de la plática. Proporciona a los agentes una explicación clara y concisa del comportamiento o procedimiento esperado en cuestión.
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.
Aplica la secuencia de acciones (no se aplica para el Guionado de agente)
La solicitud de observación incluye instrucciones y descripciones de acciones, pero sin un orden definido. Si la secuencia de acciones es crítica, se debe indicar explícitamente dentro de la misma instrucción. Ten en cuenta que con el Guionado de agente, podemos aplicar un orden de ejecuciones gracias a las transiciones. Esto se explicará con más detalle en el sexto capítulo.
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:
- Instrucción 1:
Comprueba la disponibilidad de los entrevistadores. - Instrucción 2:
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:
- Instrucción 1:
Comprueba la disponibilidad de los entrevistadores. Luego, propón los espacios adecuados al candidato.
Aplica la salida de la acción sin volver a escribir
El motor de razonamiento es en sí un LLM. Es responsable de generar la respuesta final de acuerdo con el bucle del agente. El enfoque es necesario para hacer cumplir las instrucciones de los agentes que proporcionan límites a la generación de respuestas, o para combinar los resultados de varias acciones que formaban parte del bucle del agente, a fin de cumplir con la solicitud del usuario.
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:
- Industrias reguladas: las organizaciones que operan en sectores altamente regulados (como finanzas, atención médica o legales) a menudo requieren un control estricto sobre todas las comunicaciones orientadas al cliente. Las plantillas de solicitudes aprobadas garantizan que las respuestas cumplan con los requisitos legales y reglamentarios, lo que minimiza el riesgo de interpretación errónea, responsabilidad o difusión de información inexacta.
- Respuestas previamente probadas y validadas: cuando las plantillas de solicitudes se sometieron a pruebas y validaciones rigurosas para garantizar la precisión, la eficacia y los resultados deseados. Desviarse de estas plantillas puede socavar su eficacia y valor. La estricta observancia garantiza que los mensajes probados se entreguen de forma coherente.
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.
Cantidad óptima de instrucciones
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:
- Claridad y especificidad: las reglas bien definidas son más fáciles de seguir.
- Conflictos entre reglas: si las reglas se contradicen entre sí, se requiere una lógica adicional para resolverlas.
- Longitud y complejidad: si cada regla requiere un razonamiento profundo, considera desglosarlas en instrucciones más pequeñas.
Si es muy importante seguir una instrucción de forma explícita, agrega términos que reflejen su importancia:
- Urgencia e importancia (inmediata, urgente, crítica, esencial, obligatoria)
- Autoridad y ejecución (obligatoria, imperativa, de estricta aplicación)
- Consecuencias y advertencias (la infracción derivará en, el incumplimiento dará lugar a, el incumplimiento puede derivar en, se aplican sanciones estrictas, tolerancia cero)
- Claridad y franqueza (debe, prohibido, censurado, no permitido, siempre/nunca)
Control de agentes de nivel 3: Fundamentación
Basar las respuestas en los datos mejora significativamente la confiabilidad de los agentes. Las respuestas fundamentadas se basan en información fáctica en lugar de especulaciones o conocimientos obsoletos. 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 usa la RAG para recuperar información relevante de las fuentes de datos aplicables y, a continuación, aumenta la solicitud con esta información antes de enviarla al LLM. Un agente que usa la RAG tiene mayor calidad, precisión y utilidad general en cuanto a las interacciones, lo que aumenta la confianza y la satisfacción del usuario. Las prácticas recomendadas para la RAG se describen exhaustivamente en una documentación técnica disponible públicamente llamada Agentforce y RAG: prácticas recomendadas para mejores agentes.
Conocimiento frente a instrucciones
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:
- Conocimiento: haz de cuenta que el conocimiento es la biblioteca de libros a los que accede el agente mientras genera sus respuestas. Algunos ejemplos son documentos, artículos de conocimiento y documentos técnicos. Ten en cuenta que pueden incluir políticas y reglas generales de la compañía. El conocimiento también puede referirse a archivos transaccionales, como correos electrónicos, transcripciones de llamadas e incluso el historial de pláticas (de agentes). Por último, el conocimiento incluye campos de texto explicativo en datos estructurados. El conocimiento normalmente llega al agente a través de la RAG.
- Instrucciones: haz de cuenta que las instrucciones son el conjunto mínimo de reglas que aclaran al agente cuándo usar cada acción. Las instrucciones también pueden establecer límites en toda la plática, como el tono de voz requerido. A menudo, las instrucciones se pueden elaborar de manera más concisa y flexible sin sacrificar la claridad ni la intención. En lugar de proporcionar un guion rígido con respuestas específicas para cada posible escenario del cliente, considera implementar pautas y principios generales que ayuden al agente a seleccionar la acción adecuada en una variedad de situaciones.
Generación aumentada de recuperación
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:
- Recuperación: el sistema de IA busca en una gran base de datos o fuente de conocimiento para recopilar información relevante para la solicitud del LLM. Esto se logra con la búsqueda semántica, una técnica más sofisticada en comparación con la búsqueda tradicional basada en palabras clave. A diferencia de la búsqueda por palabras clave, que coincide con términos exactos, la búsqueda semántica comprende el significado o contexto detrás de las palabras. Identifica información relevante en función de conceptos o relaciones entre los términos, en lugar de solo buscar coincidencias de palabras precisas. La búsqueda por palabras clave también puede desempeñar un rol en este proceso de recuperación, ya que fortalece la búsqueda semántica con la coincidencia de palabras clave para terminología o nombres específicos. Este tipo de búsqueda se denomina “híbrida”.
- Potenciación: la información recuperada se agrega a la solicitud.
- Generación: el LLM genera una respuesta contextualmente apropiada y más precisa gracias a la solicitud que se mejoró con el conocimiento recuperado.
En Agentforce, la RAG se puede utilizar con o sin una plantilla de solicitud:
- RAG basada en la solicitud: en este enfoque, las instrucciones que especifican cómo generar la respuesta se encuentran en las instrucciones de solicitud de una plantilla de solicitud. En este caso, la respuesta depende enteramente de lo que genera el LLM. Aparte de las instrucciones de solicitud, hay formas de influir en la respuesta, como la configuración del LLM en Einstein Studio, pero el resultado aún no es determinista.
- RAG basada en el motor de razonamiento: en lugar de utilizar una plantilla de solicitud, el agente utiliza una acción que recupera fragmentos (a través de un flujo o una clase Apex) y los almacena en una variable (consulta la siguiente sección). En este enfoque, el motor de razonamiento (en lugar del LLM) genera respuestas de manera directa y fundamentadas en los datos recuperados. Las instrucciones que rigen la generación de respuestas son instrucciones del agente y no de la plantilla de solicitud. La variable que alberga el contenido recuperado aún se puede pasar explícitamente como entrada a una acción. También se puede pasar al motor de razonamiento otorgándole acceso predeterminado al contenido de la variable. Este enfoque tiene desventajas. Está la posibilidad de sobrecargar el motor de razonamiento con contenido y responsabilidad. Además, a diferencia de una solicitud, los parámetros del LLM del motor de razonamiento no son configurables. Por otro lado, el motor de razonamiento puede generar su respuesta utilizando tanto los fragmentos recuperados como el historial de la plática.
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.
Prácticas recomendadas de la RAG
- Evitar instrucciones de la RAG guionadas: en lugar de vincular directamente las instrucciones con artículos específicos para preguntas particulares, aprovecha la inteligencia de la RAG para encontrar la fuente de datos más relevante y el fragmento de texto preciso de forma dinámica. El proceso de coincidencias de la RAG se basa en una comprensión más amplia de la pregunta, no solo en el mapeo exacto de pregunta a fuente.
- Consolidar temas: agrupa las categorías de preguntas relacionadas en un único tema. La RAG puede identificar con eficacia las respuestas relevantes en función del tipo de pregunta, incluso dentro de un tema más amplio. Los problemas de productos, como aquellos de mantenimiento y batería, se pueden agregar a un tema más integral, por ejemplo.
- 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. En la siguiente sección, se proporcionará un ejemplo de esto.
Control de agentes de nivel 4: Variables
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.
Formas en que las variables respaldan la determinación
Las variables pueden ayudar a lograr el determinismo guiado de los agentes de las siguientes maneras:
- Fundamentación dinámica persistente: las variables permiten a los agentes actualizar continuamente su comprensión del mundo mientras conservan información importante que no se ve afectada por ninguna interacción posterior. Este método garantiza que la información crítica, que pueden ser datos no estructurados recuperados a través de la RAG o datos estructurados como la información del perfil del usuario, se mantenga a lo largo de la plática, independientemente de la duración de la plática.
- Entradas/resultados de acciones: las variables se pueden utilizar como entradas y resultados para las acciones. La acción se refiere explícitamente a variables, y la ejecución de la acción no depende del motor de razonamiento para configurar esas entradas y resultados, lo que aumenta el determinismo del agente.
- Filtrado: las variables se pueden utilizar para determinar la ejecución condicional de acciones o temas. Las variables habilitan un flujo específico de información entre las acciones y el determinismo en la ejecución de las acciones. Esta capacidad es particularmente crucial para las reglas de seguridad, en las que no se pueden iniciar acciones si no se verifican variables de entrada específicas, como el correo electrónico.
Tipos de variables en Agentforce
Agentforce tiene dos tipos de variables:
- Las variables de contexto son aquellas generadas por el sistema que contienen información sobre el usuario y las sesiones de plática.
- Las variables personalizadas son aquellas para las que el usuario puede crear instancias. Contienen cualquier tipo de información utilizada para cualquiera de las tres formas en que las variables admiten el determinismo.
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 | ✓ | ✓ |
Ejemplo de caso de uso: Agente de solución de problemas
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.
Recuperación, configuración y uso de los pasos de solución de problemas
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.
- Acción 1: "Rellenar los pasos de resolución". Esta es la acción inicial, desencadenada por la primera introducción del agente al problema. Utiliza la generación aumentada de recuperación para extraer todos los pasos de resolución necesarios de una base de conocimientos indexada. La acción almacena el resultado derivado en una variable que se denomina "Pasos de resolución".
- Acción 2: "Utilizar durante la resolución de un problema". Esta es una acción basada en una solicitud que genera el siguiente paso de solución de problemas más probable que se utilizará durante el proceso de solución de problemas. Se le indica al agente que utilice esta acción mientras está resolviendo un problema.
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.
Uso de filtros para garantizar el orden de ejecución de las acciones
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.
- La acción “Pasos de resolución de problemas” solo se puede ejecutar si la variable "Pasos de resolución" está vacía.
- “Utilizar durante la resolución de un problema” solo se puede ejecutar si se rellena la variable “Pasos de resolución”.
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:
- Fundamentación dinámica persistente: las variables almacenan los pasos de solución de problemas, lo que garantiza que estén disponibles durante la plática, independientemente de la extensión o la cantidad de interacciones. Esto evita que el agente olvide el contexto.
- Flujo de datos: las variables facilitan el flujo de datos entre las acciones. La variable "Pasos de resolución", por ejemplo, almacena los pasos de solución de problemas recuperados a partir de la acción “Pasos de resolución de problemas” y los proporciona como entrada para la acción “Utilizar durante la resolución de un problema”.
- Determinismo: las variables se pueden utilizar como filtros para aplicar un orden de ejecución específico de la acción. Por ejemplo, la acción “Utilizar durante la resolución de un problema” se ejecuta solo si se rellena la variable “Paso de resolución”, lo que garantiza que la acción “Pasos de resolución de problemas” se ejecute primero.
Variables para conservar los resultados del modelo predictivo
En la era de la IA generativa, la IA predictiva sigue siendo de vital importancia, ya que forma la inteligencia fundamental que guía, mejora y contextualiza las capacidades generativas. Mientras que la IA generativa se centra en la creación de nuevo contenido, como texto, imágenes o videos, los modelos predictivos hacen predicciones sobre el futuro basándose en las entradas de los 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.
Cómo integrar los resultados del modelo predictivo en los flujos de trabajo de los agentes
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.
Ejemplos de casos de uso integrados en modelos predictivos
- Segmentación: realiza una clasificación de varias clases para la segmentación de clientes y utiliza el segmento resultante para filtrar ciertas acciones. Por ejemplo, reserva acciones premium para clientes de primer nivel.
- Probabilidad de derivación: predice la probabilidad de derivación para un caso de servicio. Si esta probabilidad supera un cierto umbral, posibilita la ejecución de acciones que resuelven el caso más rápido o derivan a agentes humanos más rápido.
- CPG: planifica una promoción solo si el aumento en las ventas (puntuación calculada por un modelo predictivo) supera un cierto umbral.
- Comercio: propón un producto solo si la propensión a comprar supera un determinado umbral.
Control de agentes de nivel 5: Acciones deterministas
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.
Flujos
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.
Acciones de Apex y API
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.
Control de agentes de nivel 6: Control determinista con Guionado de agente
Del razonamiento probabilístico al razonamiento determinista
En los niveles de determinismo del 1 al 5, agregamos estructura al entorno del agente de manera progresiva. Definimos lo que podía hacer (nivel 1, temas), luego, guiamos cómo se debía comportar (nivel 2, instrucciones), lo fundamentamos en la verdad (nivel 3, datos), gestionamos su estado (nivel 4, variables) y le dimos herramientas rígidas (nivel 5, acciones deterministas). No obstante, el motor central de toma de decisiones siguió siendo fundamentalmente probabilístico. El motor de razonamiento aún estaba decidiendo qué herramienta elegir o qué pregunta hacer a continuación; pero para esta decisión nos basamos completamente en el Modelo de lenguaje grande (LLM).
El nivel 6, Guionado de agente, cambia las bases de esta arquitectura. Introduce la capacidad de codificar de forma rígida el propio proceso de razonamiento.
Con el Guionado de agente, pasamos de solicitar el modelo a programar una secuencia de comandos del agente. Esto no significa regresar a los chatbots rígidos de antes. En cambio, nos referimos a él como razonamiento híbrido. Te permite introducir el poder creativo y conversacional del LLM entre las capas de lógica determinista e inmutable. Defines la ruta de ejecución más importante de manera explícita (los "imprescindibles") y dejas puntos de libertad específicos para que el LLM maneje la comprensión del lenguaje natural y la generación de respuestas.
A la hora de diseñar flujos de trabajo, es fundamental evitar el uso de agentes basados en LLM mediante comandos, solo para reemplazar la lógica determinista en la que los próximos pasos ya están claros y bien definidos. Si un proceso sigue una ruta predecible sin necesidad de un razonamiento complejo para decodificar las próximas acciones, la introducción de un modelo generativo agrega latencia, costos y un margen de error innecesarios. Los flujos programáticos tradicionales siguen siendo superiores para los procesos que son puramente deterministas y no necesitan razonamiento. Utilizar un LLM para enrutamiento simple o transiciones lineales es una opción de ingeniería excesiva que compromete la confiabilidad de un sistema que bien se podría manejar con un flujo de procedimientos estándar.
Como regla general, las soluciones de agentes deben tenerse en cuenta cuando el sistema se ocupa de entradas no estructuradas que se sintetizan a partir de fuentes dispares y de alta varianza (puede incluir las entradas conversacionales) antes de que se pueda tomar una decisión.
Pero ¿cómo se logra este nivel de control? Hay dos caminos distintos, diseñados tanto para el arquitecto empresarial como para el desarrollador de código profesional.
Dos formas de hacer que el Guionado de agente funcione
Llevar el determinismo de nivel 6 a tu agente no requiere estrictamente escribir código. Salesforce proporciona dos modalidades para generar el Guionado de agente subyacente, lo que democratiza el acceso al razonamiento determinista.
1. La ruta del generador (compilación de lenguaje natural)
Los analistas de negocios, los administradores y los profesionales low-code pueden acceder al nivel 6 directamente desde el Generador de agentes.
Incorporamos un lienzo de estilo de documento que sirve como interfaz de texto a guion. En lugar de escribir código, escribes la lógica del tema en un lenguaje estructurado y natural. El generador interpreta tu intención y la compila en el Guionado de agente en segundo plano.
- Tú escribes: "Primero, comprueba si el pedido tiene más de 30 días de antigüedad. De ser así, dile al usuario que no podemos aceptar devoluciones y finaliza la plática de manera amable. De no ser así, pregunta por el estado del artículo".
- El sistema compila esta narrativa en lenguaje natural automáticamente en las estructuras if/else necesarias, las comprobaciones de variables y los comandos end_conversation.
Esto te permite escribir la lógica en lenguaje natural y hacer que la plataforma la convierta en código, lo que garantiza que incluso quienes no son programadores puedan imponer límites rígidos y determinismo.
2. La ruta con prioridad para el código (secuencias de comandos directas)
Para los desarrolladores que buscan la máxima precisión, también puedes escribir el Guionado de agente directamente en el generador de agentes. El lienzo con la narrativa en lenguaje natural se puede voltear para ver la secuencia de comandos subyacente, de modo que el desarrollador pueda codificar el guion de forma directa Este enfoque también permite una experiencia de autoría híbrida: algunas instrucciones se escriben en lenguaje natural en el lienzo, mientras que otras se escriben en secuencias de comandos (o se modifican las existentes) directamente mediante código. Pasando de una a otra experiencia, verás que las dos modalidades siempre se mantienen una perfecta alineación.
Ambas modalidades desbloquean todo el potencial del nivel 6:
- Seguimiento detallado: puedes pasar por la ejecución de la secuencia de comandos para ver dónde cambiaron las variables o se tomaron las ramas.
- Manejo de bucle complejo: gestiona la lógica de reintentos sofisticada o los cambios de estado multivariables que son difíciles de describir en lenguaje natural.
- Control de versiones: trata el comportamiento de los agentes como código, compatible con las canalizaciones de Git y CI/CD para el control de versiones de los agentes.
La mecánica del Guionado de agente
Ya sea que generes Guionados de agente a través del generador o lo escribas a mano, el resultado es el mismo: El Guionado de agente se convierte en un gráfico de agente que ejecuta el motor de razonamiento Atlas.
Para dominar el nivel 6, se debe comprender lo que sucede en detalle. El Guionado de agente controla el comportamiento a través de estructuras programáticas específicas dentro de bloques de razonamiento. A diferencia de las solicitudes estándar, que son sugerencias para que el LLM las siga, estos son comandos que se ejecutarán como sea. Eso es antes del proceso de razonamiento, durante o después de este, y se presenta en diversos tipos de determinismo. Primero revisaremos algunos de estos patrones en general y proporcionaremos algunos ejemplos ligeros, luego, los ilustraremos con más ejemplos de planos arquitectónicos de agentes guionados.
1. Determinismo antes del razonamiento y después
En los niveles 1 a 5, esperábamos que el agente hiciera algo (realizara una acción) antes de un determinado paso del proceso o después. En el nivel 6, lo forzamos a hacerlo. Siempre se ejecutará todo lo que esté escrito en los bloques before_reasoning y after_reasoning, respectivamente antes y después de invocar el LLM para razonar según las instrucciones. Esto puede ser ejecutar otras acciones, hacer la transición a temas, establecer variables, etc.
Por ejemplo, mediante el comando run dentro de las instrucciones de un tema before_reasoning, puedes ejecutar una acción incluso antes de que se invoque el LLM para generar una respuesta. Esto garantiza que los datos estén disponibles de inmediato, lo que elimina la latencia del razonamiento o el riesgo de que el agente olvide llamar a la herramienta.
Esta es la estructura de la secuencia de comandos:
reasoning:
instructions: ->
before_reasoning :
# Determinista: Se ejecuta automáticamente al ingresar el tema.
# El LLM no tiene otra opción aquí. Simplemente recibe el resultado.
instructions
# Ahora, se solicita al LLM el resultado ya en contexto
| Hablar con un cliente. Su estado VIP es {!@variables.is_vip}.
# cualquier instrucción adicional (razonamiento normal) sigue adelante
Cualquiera sean las instrucciones que el agente necesite para el razonamiento.
2. Determinismo condicional (if/else)
Con el determinismo condicional, puedes utilizar la lógica de programación estándar para controlar el flujo. Esto es fundamental para los flujos de trabajo de cumplimiento en los que no se pueden omitir ni reinventar pasos.
Esta es la estructura de la secuencia de comandos:
reasoning:
instructions: ->
if @variables.is_vip == true:
# Evita la verificación de crédito de los VIP de manera determinista
run @actions.apply_auto_approval
| Informa al cliente que su préstamo se aprueba automáticamente debido al estado VIP.
else:
# Implica la verificación de crédito para todos los demás
run @actions.initiate_credit_check
| Dile al cliente que estamos revisando su calificación crediticia ahora.
En este ejemplo, el LLM nunca tiene la opción de alucinar la aprobación de un usuario no VIP. El motor toma la rama de forma determinista.
3. Determinismo de transición (@utils.transition)
Otro control poderoso es la capacidad de obligar al agente a salir del tema actual y entrar en otro. Esto evita que el agente se atasque o se desvíe hacia una conversación no relacionada.
Esta es la estructura de la secuencia de comandos:
if @variables.stock_level == 0:
# Entrega el tema "Pedido atrasado" de inmediato
@utils.transition to @topic.handle_backorder
Esta transición no es una sugerencia. Es una redirección rígida del flujo de ejecución que depende del valor de una variable. Ten en cuenta que, si bien la redirección es difícil y no negociable, se vuelve a producir un proceso de razonamiento normal dentro del tema que se fuerza en el agente.
Además, con el Guionado de agente, tienes la capacidad de forzar de forma explícita la transición de una acción a la siguiente inmediatamente después de completarla. Esta funcionalidad garantiza que el agente siga un flujo rígido y determinista, en lugar de depender de la toma de decisiones probabilística o autónoma en cada paso. El encadenamiento de estas acciones en una secuencia predefinida garantiza la ejecución de tareas específicas en un orden preciso, lo que te ofrece un control total sobre la lógica y el comportamiento del agente.
4. Determinismo de la gestión de estado de variables
El Guionado de agente te da acceso directo de lectura/escritura a la memoria a corto plazo del agente (variables). Puedes establecer variables de manera explícita en función de los resultados de la acción, lo que evita un juego de teléfono descompuesto en el que un LLM podría malinterpretar la salida de JSON de una herramienta.
Esta es la estructura de la secuencia de comandos:
# Vincular explícitamente el resultado de una acción a una variable
run @actions.check_inventory with sku=@variables.current_sku
set @variables.stock_level = @outputs.quantity_available
Planes de arquitectura: Ejemplos de Guionado de agente en la práctica
Para comprender realmente el poder del Guionado de agente, debemos mirar más allá de los comandos individuales y observarlos en conjunto. Los siguientes patrones de arquitectura (derivados de nuestra colección de recetas de Guionado de agente ) demuestran cómo el determinismo de nivel 6 resuelve desafíos empresariales complejos.
1. Contexto dinámico: Inyección dinámica de conocimiento de "latencia cero"
El problema: los agentes estándar suelen experimentar latencia de razonamiento. Esperan a que el usuario haga una pregunta, luego piensan qué herramienta usar e, incluso, pueden pedirle al usuario información que ya se podría haber recuperado y recién entonces, llaman a la acción. Esto crea una experiencia lenta e inconexa. Guionado de agente: determinismo previo al razonamiento.
Utilizamos el comando run para inyectar datos antes de que el LLM se despierte.
Ejemplo: el agente de clasificación de emergencias. Imagina a un agente que maneja un informe de corte de energía. En lugar de pedirle al usuario su dirección y esperar, en el momento en que se inicia la sesión, el guionado ejecuta automáticamente un comando get_current_location_by_IP and check_grid_status.
El resultado: el agente no inicia la conversación con la frase "¿En qué puedo ayudarte?", sino que da el primer paso con: "Veo que llamas desde el sector norte, donde hay un incendio confirmado en los transformadores. Ya agregué tu hogar a la lista de restablecimiento prioritario. ¿Tienes un generador de respaldo en funcionamiento?"
La lógica:
reasoning:
instructions: ->
run @actions.get_incident_status with zip=@user.zip
set @variables.is_outage = @outputs.active_incident
| Si {!@variables.is_outage}, reconoce el incidente específico de inmediato.
2. Fundamentación condicional
Las solicitudes largas (que dan al agente todas las reglas a la vez) conducen a una mayor probabilidad de alucinación en el proceso de razonamiento. El agente olvida la regla A porque está mirando la regla Z.
La solución de Guionado de agente: inyección de instrucciones justo a tiempo con fundamentación condicional a través de una combinación de generación aumentada de recuperación (RAG) y lógica condicional. Solo muestra al agente las reglas que se aplican al momento exacto de la plática.
Ejemplo: proporcionar reglas para ofertas no elegibles. ¿Por qué darle al agente las reglas para solicitar aumentos de crédito si la puntuación crediticia del cliente ni siquiera permite que comience?
La lógica:
if @variables.credit_score < 600:
# El agente está físicamente ciego a las instrucciones de "aumentar el crédito".
# Solo ve las instrucciones de "Asesoramiento de deudas" que se obtienen a través de la generación aumentada de recuperación (RAG)
| Concéntrate únicamente en explicar los recursos de reparación de crédito. Introduce $Debt_Counseling_Retriever.results
else:
| Estás autorizado a ofrecer un aumento límite de hasta $5.000.
La fundamentación condicional elimina la posibilidad de error porque quita la información que distrae por completo cuando no es necesaria.
3. Plática guiada
El problema: en una plática compleja de un agente (como una solicitud de hipoteca, una entrevista de selección de trabajo o una sesión técnica de solución de problemas), el agente tiene una lista de preguntas imprescindibles para obtener toda la información necesaria del usuario. Sin embargo, los usuarios suelen desviarse del tema. Un agente estándar puede seguir esta desviación y olvidarse de retomar las preguntas imprescindibles, lo que deja la aplicación o la plática incompleta.
En el corazón de este sistema, se encuentra la navegación con estado, que trata la plática como una lista de verificación rigurosa que se debe desactivar por completo antes de que pueda ocurrir cualquier transición.
A través de la navegación con estado, el agente se mueve entre los temas bajo la estricta guía del estado de la variable actual o permanece bloqueado dentro de un tema hasta que se cumplan ciertas condiciones específicas. Esto evita que el agente siga rutas inadmisibles, incluso cuando un usuario intenta irse por la tangente. Por ejemplo, en una solicitud de hipoteca de alto riesgo, si un usuario solicita el horario de apertura de la sucursal, el agente no solo intenta mantenerse en tema. También detecta la desviación y puede desencadenar una transición forzada a un tema de restablecimiento del cumplimiento. Si se bloquea al agente en una "sala de lógica" específica, se vuelve matemáticamente imposible que analice temas no aprobados o que salga de una sesión hasta que cada variable imprescindible se haya capturado con éxito.
Ejemplo: el inspector de mantenimiento. Un agente guía a un técnico por un proceso de control de seguridad de motores de aeronaves que consta de 10 puntos. El técnico dice: "Espera, también noté un rasguño en el fuselaje".
El comportamiento:
- el agente da cuenta del rasguño (lenguaje natural).
- Registra el rasguño en una variable (Gestión de estado).
- Se niega a cerrar la sesión o cambiar de tema hasta que confirma: "Registré el rasguño en el fuselaje, pero no podemos pasar a 'Exterior' hasta que confirmes la configuración del par en la válvula de admisión. ¿Qué valor indicó la lectura?"
La lógica:
if @variables.safety_check_complete == false:
# Evita que el usuario termine el tema
| Reconoce el comentario adicional del usuario y, luego, vuelve al campo en cuestión:
{!@variables.missing_field}.
@utils.stay_in_topic
Sin embargo, una plática guiada debe ser más que una lista secuencial de preguntas, si no el agente se parece mucho un "formulario disfrazado". Su principal valor radica en la clasificación inteligente: se usan preguntas de descubrimiento iniciales para dirigir al usuario al formulario o flujo de trabajo correcto.
La transición de un guionado simple a un Guionado de agente sólido se vuelve lógica cuando aumenta la complejidad. En lugar de solo preguntar, el agente comienza a hacer lo siguiente: Por ejemplo, el agente puede extraer pasos de solución de problemas de la documentación, navegar por políticas internas o ejecutar llamadas de API a sistemas externos para resolver problemas en tiempo real.
Elegir entre autonomía guiada y guiones con precisión
Con la introducción del Guionado de agente como nivel 6 en el marco de los niveles de determinismo, ahora tienes un espectro completo de control, desde la creatividad abierta de un tema de nivel 1 hasta la lógica rígida y basada en un código del Guionado de agente de nivel 6.
No obstante, tener un martillo no convierte a todos los problemas en clavos.
El error más común es pensar que "más alto es mejor", y los agentes ahora requieren control total en todas las cuestiones mediante un guion. Esto no es cierto. El verdadero arte de la arquitectura y el diseño de agentes radica en dimensionar correctamente el determinismo aplicando el control exacto y suficiente para garantizar la seguridad, sin sacrificar la flexibilidad conversacional que hace que la IA sea valiosa en primer lugar. No sobrescribas a tus agentes hasta el nivel en que se conviertan en chatbots glorificados.
En este capítulo, se proporciona un marco de decisión para ayudarte a determinar cuándo confiar en la autonomía guiada de los niveles 1 a 5 y cuándo aplicar la precisión programada del nivel 6. No encontrarás leyes estrictas, sino reglas generales pensadas para darte un marco contextual de cómo pensar en las diferentes opciones y niveles para el determinismo.
Para simplificar la decisión, podemos dividir los seis niveles en dos zonas estratégicas distintas:
Zona A: autonomía guiada de los niveles 1 a 5
- La filosofía: "confía, pero verifica". Le das al agente el objetivo, los datos y las herramientas (que pueden ser deterministas, ver nivel 5), pero dejas que el motor de razonamiento decida la mejor ruta para llegar a ese objetivo.
- El mecanismo: razonamiento probabilístico. El agente analiza la intención del usuario y selecciona de forma dinámica la mejor herramienta para el trabajo.
- Ideal para: descubrimiento, preguntas y respuestas generales, tareas de bajo riesgo, diversos ámbitos de servicio.
Debes confiar en los comportamientos estándar y probabilísticos de los niveles 1 al 5 en estos casos:
1. El camino correcto no siempre es el mismo
En muchos escenarios de plática, una ruta codificada de forma rígida es, en realidad, una desventaja porque la ruta conversacional correcta es variable. Para las interacciones dinámicas, como la planificación de compras personales o vacaciones, no existe una secuencia única correcta; un usuario puede priorizar el precio, la ubicación o las comodidades en el orden que elija. En estos casos, forzar un guion con estado crea una experiencia robótica frustrante, por lo que es más efectivo confiar en las instrucciones para definir la identidad y los objetivos del agente, al tiempo que permite al usuario liderar el flujo. Este enfoque también aumenta significativamente la velocidad de comercialización, ya que la creación de guiones complejos de nivel 6 con variables y ramas anidadas suele ser excesiva para tareas como los agentes internos de preguntas frecuentes de Recursos Humanos. Si basas el agente en Datos y generación aumentada de recuperación (RAG), puedes omitir la necesidad de un guion manual exhaustivo y dejar que el motor de recuperación maneje la plática de forma dinámica en función de tu base de conocimientos existente.
2. Ampliación a través del determinismo modular: Evitar la pesadilla de mantenimiento
Cuando el alcance de tu agente llega a una escala masiva, como manejar 500 consultas de soporte de TI diferentes con sus propios procesos, el desafío principal no es si puedes crear un solo Guionado de agente determinista, sino si deberías hacerlo. Intentar asignar cada posible permutación de 500 tareas en un Guionado de agente gigante crea una pesadilla de mantenimiento. Cada vez que cambia una política o se agrega un nuevo paso de solución de problemas, corres el riesgo de romper una red de lógica masiva e interconectada.
La solución es alejarse de un guion monolítico y pasar a acciones deterministas de nivel 5. En lugar de guionar toda la plática, creas flujos sólidos y aislados para las acciones de alto valor de primer nivel, como el restablecimiento de contraseñas o el desbloqueo de cuentas. Luego, permites que el motor de razonamiento actúe como controlador de tráfico, identifique la intención del usuario a partir de su fraseo único y lo enrute a la acción determinista adecuada. Este enfoque te brinda lo mejor de ambos mundos: la fiabilidad de un guion para tareas esenciales y una arquitectura flexible y escalable que no colapsa bajo su propio peso a medida que tu biblioteca de tareas crece.
Zona B: guiones precisos con el Guionado de agente de nivel 6
- La filosofía: "Sea lo que sea que hagas y los motivos que tengas, haz exactamente esto". Tú defines la ruta. El agente es la interfaz para ejecutar tu lógica. Combina la creatividad del agente entre las capas de lógica imprescindible.
- El mecanismo: razonamiento determinista. El "cerebro" sigue un gráfico precompilado; el LLM se utiliza solo para el razonamiento, la comprensión del lenguaje natural y la generación de respuestas cuando el guion lo permite.
- Es ideal para cumplimiento, transacciones financieras, árboles de diagnóstico, flujos de trabajo de alto riesgo, cumplimiento normativo e industrias altamente reguladas.
Ten en cuenta que, dentro de las pistas deterministas que se establecen en el nivel 6, todas las opciones de los niveles 1 a 5 siguen disponibles.
Debes pasar al Guionado de agente cuando "mayormente correcto" no sea lo suficientemente bueno.
1. Las puertas imprescindibles (seguridad y autenticación)
Si un usuario solicita transferir dinero, no puedes confiar en el LLM para que probablemente pida autenticación. Necesitas una garantía matemática de que el flujo de autenticación se ejecutará antes que el flujo de transacción.
- La solución del Guionado de agente: usa run @actions.verify_identity dentro de un bloque before_reasoning block o en la parte superior del guion para forzar el cumplimiento antes de que el LLM genere un token único.
2. Cumplimiento normativo
En industrias como la atención de la salud o las finanzas, los agentes deben leer descargos de responsabilidad de forma textual o hacer preguntas en pedidos exigidos por la ley.
- La solución de Guionado de agente: codifica la divulgación de forma rígida.
# El LLM no puede resumir ni "reescribir" esto. Se ve obligado a emitirlo.
| "Descargo de responsabilidad: Soy agente de IA. No puedo proporcionar asesoramiento financiero".
3. Dependencias complejas de varios pasos y secuencias de acciones obligatorias
Si el paso B requiere el resultado del paso A, y el paso C depende de un cálculo que se realiza en el paso B, es riesgoso confiar en un LLM para pasar estas variables a través del contexto de la solicitud en un juego de teléfono descompuesto. Además, cuando la ejecución de una determinada acción es estrictamente obligatoria después de otra acción, la secuencia debe estar bien establecida.
- Las soluciones del Guionado de agente: usa set @variables.x = @outputs.y para vincular datos de forma explícita entre cada paso, lo que garantiza una fidelidad perfecta. Usa run y enunciados @utils.transition para codificar la secuencia.
4. Prevención de la deriva de temas
En la resolución de problemas de alto riesgo (por ejemplo, "Mi marcapasos emite un pitido"), no quieres que el agente se distraiga si el usuario de repente pregunta: "¿Cómo está el tiempo?"
- La solución del Guionado de agente: usa @utils.transition para bloquear al usuario en el tema Protocolo de emergencia hasta que se resuelva el problema, lo que deshabilita de forma explícita la capacidad de desviarse del tema.
La arquitectura híbrida: lo mejor de ambos mundos
Las arquitecturas de agentes más maduras no eligen una u otra; utilizan el nivel 6 como esqueleto y los niveles 1 a 5 como músculos. De esta manera, el patrón que surge es el de una combinación determinista. Puedes usar el Guionado de agente para manejar el comienzo y el final esenciales de una plática, mientras dejas el medio abierto para un razonamiento flexible.
- Paso 1 (nivel 6): el Guionado de agente fuerza la clasificación y la autenticación.
- Resultado: se identifica al usuario de forma segura y se clasifica la intención.
- Paso 2 (niveles 1 a 5): el Guionado de agente transfiere a un tema estándar.
- Resultado: el agente utiliza la generación aumentada de recuperación (RAG) estándar y acciones, instrucciones y hasta variables para resolver el problema del usuario con flexibilidad.
- Paso 3 (nivel 6): el agente detecta que el problema está resuelto y regresa al Guionado de agente para las acciones de cierre.
- Resultado: el Guionado de agente fuerza la recopilación de puntuaciones de CSAT y el lenguaje de despedida compatible.
Tabla de resumen: Hoja de referencia del arquitecto
| Característica | Niveles 1–5 (autonomía guiada) | Nivel 6 (Guionado de agente) |
|---|---|---|
| Impulsor principal | Motor probabilístico (decide el LLM) | Gráfico determinista (decide el código) |
| Fuente lógica | Solicitudes en lenguaje natural | Lógica if/else, gestión de estados, lógica de transición |
| Ejecución de acciones | "Agente, aquí tienes una herramienta. Puedes usarla, si quieres". | "Agente, ejecuta esta herramienta. Ahora". |
| Memoria de contexto | Ventana de contexto implícita a través de LLM (excepto cuando se utiliza el nivel 4) | Explícito a través de variables mutables que se utilizan en todo el guion |
| Ejemplos de casos de uso | Búsqueda de conocimientos, compras, redacción creativa | Autenticación, pagos, cumplimiento, diagnósticos |
| Desarrollo del esfuerzo | bajo (principalmente solicitudes) | medio/alto (guiones/lógica) |
| Tolerancia al riesgo | media | baja (confianza cero) |
Recomendación final: comienza con los niveles 1 a 5 para conocer la velocidad y el descubrimiento, y supervisa tus registros. Cuando veas que el agente tiene dificultades para ser coherente, no sigue una secuencia o alucina parámetros, endurece selectivamente ese flujo de trabajo específico con el nivel 6.
Conclusión
El Guionado de agente es la última pieza del rompecabezas para llevar el determinismo a los agentes. Reconoce que, si bien la IA es probabilística, el negocio es determinista. La adopción del Guionado de agente (ya sea a través del lienzo que admite la creación de agentes en lenguaje natural o en código directo) no limita la inteligencia de tu agente; la enfoca. Creas un sistema en el que el arte de la plática se une a la ciencia de la ejecución de procesos, lo que garantiza que tus flujos de trabajo más importantes se ejecuten exactamente como se diseñaron, en todo momento.
El nivel 6 es también la comprensión de que autónomo no significa que sin control.
Durante años, la industria debatió sobre reglas o IA cuando se trata de tomar decisiones y optimizar los procesos. El campo de las reglas estrictas abogaba por la previsibilidad, mientas que el campo de IA abogaba por la flexibilidad. El Guionado de agente pone fin a debate y demuestra que la arquitectura correcta no es o, sino y.
Con la adopción del Guionado de agente creas agentes híbridos, es decir, sistemas que poseen la columna vertebral rígida del código y la mente flexible de un LLM. El futuro de la IA empresarial no se trata de modelos más grandes, si no de un mejor control. Con el Guionado de agente, ese control está finalmente en tus manos.
Preguntas frecuentes sobre el determinismo de la IA
Los seis niveles de determinismo de la IA son selección de temas y acciones sin instrucciones, instrucciones de los agentes, fundamentación de datos, variables de los agentes, acciones deterministas mediante flujos, Apex y API, y control de agentes con el Guionado de agente.
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.
Obtén más información sobre los agentes de IA y cómo pueden ayudar a tu empresa.
¿Todo listo para dar el siguiente paso con Agentforce?
Desarrolla agentes rápidamente.
Echa un vistazo más de cerca a cómo funciona el desarrollo de agentes en nuestra biblioteca.
Obtén orientación de expertos.
Lanza Agentforce con velocidad, confianza y ROI que puedes medir.
Habla con un representante
Cuéntanos cuáles son las necesidades de tu empresa y te ayudaremos a encontrar respuestas.