Smart Agent

El paso que conversa, decide y ejecuta

Este artículo es el tercero de la serie de Chatbot. El primero, Chatbot, explica el módulo, el lienzo y cómo se publica un agente. El segundo, Chatbot: los pasos del flujo, es el catálogo de todos los pasos. Este se dedica a uno solo, porque da para artículo propio: el Smart Agent y los dos pasos que lo acompañan.

Qué es un Smart Agent

Los demás pasos del flujo siguen un guion: el bot pregunta, el cliente responde, el flujo avanza por el camino que corresponda. Un Smart Agent no. Es un tramo de conversación abierta con un modelo de inteligencia artificial: tú le dices quién es y qué puede hacer, y él decide qué responder y cuándo actuar.

Lo que lo diferencia del paso ChatGPT es justamente eso último. El paso ChatGPT responde y ya. Un Smart Agent además ejecuta: puede pedirle el documento al cliente y guardarlo en una variable, consultar un saldo contra un sistema externo o pasar la conversación a un asesor, porque tiene funciones asignadas y sabe cuándo llamarlas.

Son tres pasos que trabajan juntos y siempre en el mismo orden:

Smart Agent
El que conversa. Lleva el prompt, los ejemplos, el tono y la lista de funciones que puede usar.
Smart Function
El camino que toma la conversación cuando el agente decide llamar una función. Cuelga del Smart Agent, y va uno por cada función.
Resultado Smart Function
Le cuenta al agente cómo terminó lo que hizo la función, para que responda en consecuencia. Es opcional.
Un flujo con Smart Agent, dos Smart Functions y un Resultado
El trío en el lienzo: un agente, sus funciones y un resultado

En el ejemplo, el 1 Smart Agent atiende al cliente. Tiene dos caminos: la 2 Smart Function que le pide el documento, y la 3 que consulta el saldo. De la segunda cuelga un 4 Resultado que le devuelve al agente el saldo consultado para que lo diga con sus palabras.

El Smart Agent funciona igual en un chatbot y en un voicebot. Lo único que no lo admite es el flujo de encuesta.

Antes de empezar

Un Smart Agent necesita dos cosas configuradas fuera del lienzo.

La Selección LLM del agente

El modelo que va a conversar se elige una vez para todo el agente, en el botón de engranaje de la barra superior, en Configuración General. Mientras esté vacío, el paso te lo dice y no te deja guardar.

El paso Smart Agent con el aviso de Selección LLM
Sin Selección LLM, el paso avisa y el botón Guardar queda apagado
Importante

La Selección LLM sale de las integraciones de inteligencia artificial de tu cuenta. Si el selector está vacío, primero hay que crear la integración en Configuración > Integraciones.

Las funciones

Las funciones no se crean aquí. Viven en Configuración > Agentes IA > Funciones y se explican en el artículo Funciones Inteligentes; las de tipo MCP, en el artículo Integraciones MCP. En el Smart Agent solo las escoges.

Nota

Una función inactiva no se le ofrece al agente. El paso sigue dibujado en el lienzo y el flujo se ve igual de bien, pero el modelo nunca la va a llamar porque no sabe que existe.

Cómo se arma el trío

Los tres pasos están en el mismo grupo del menú del lienzo, Agregar Smart Agent.

El submenú Agregar Smart Agent
El grupo Agregar Smart Agent abierto desde el paso de inicio
1 Smart Agent
Se puede colgar de casi cualquier paso, así que aquí sale disponible.
2 Smart function
Sale en gris porque solo se puede colgar de un Smart Agent, y este se está colgando del inicio.
3 Resultado Smart Function
No tiene restricción de padre, porque va al final de un camino que puede ser largo.

El orden de trabajo es: primero creas el Smart Agent y le asignas sus funciones, y después le cuelgas una Smart Function por cada una. Si lo haces al revés, el selector de la Smart Function te va a salir vacío.

El menú de pasos abierto desde un Smart Agent
Desde un Smart Agent lo único disponible es Smart function

De una Smart Function, en cambio, cuelga cualquier paso del catálogo: un mensaje, una integración, una condición, una acción o el Resultado.

El menú de pasos abierto desde una Smart Function
Desde una Smart Function el menú se abre completo
Buenas prácticas

El Smart Agent es uno de los pocos pasos que reparten varios caminos, así que puedes colgarle todas las Smart Functions que necesites y quedan como hermanas. Eso sí, la segunda se dibuja encima de la primera y parece que no hubiera pasado nada: usa Ordenar > Vertical del menú del flujo y el árbol se acomoda solo.

El paso Smart Agent

Es el paso más largo de configurar de todo el módulo, y el que más se nota cuando está bien escrito.

La ventana de configuración de un Smart Agent
La configuración de un Smart Agent, primera mitad
1 Título
El nombre que se ve en el lienzo. Ponle el papel que cumple, como "Asistente de soporte" o "Agente de cobranza".
2 Funciones
Las funciones que este agente puede llamar. Escribe para filtrar y haz clic para agregarlas. Son las únicas que después vas a poder escoger en las Smart Functions que le cuelgues.
3 Prompt
Obligatorio. Las instrucciones del agente: quién es, qué hace, qué no debe hacer y cuándo usar cada función. Admite hasta 50.000 caracteres y variables del chat. Los nombres de las funciones que ya asignaste se resaltan en el texto, así ves de un vistazo si las estás nombrando bien.
4 Diseñar prompt
Le pide a la inteligencia artificial que escriba el prompt por ti. Se explica en la sección siguiente.
5 Few-Shot Learning
Ejemplos de conversación, hasta 20.000 caracteres. Sirven para enseñarle el estilo de respuesta con casos concretos en vez de describirlo. Se le entregan pegados al final del prompt.
La sección Guardrails de un Smart Agent
La configuración de un Smart Agent, segunda mitad
1 Guardrails
Los tres campos que siguen. Audara además le aplica al agente un juego de reglas fijas que no se configuran aquí y que están explicadas en Cómo decide el Smart Agent.
2 Máximo palabras por respuesta
Un promedio, no un tope duro: el agente apunta a ese número y puede pasarse un poco si le hace falta para terminar la idea. Si lo dejas vacío, apunta a 50. En voicebot conviene bajarlo, porque una respuesta larga leída en voz alta se hace eterna.
3 Temperatura
Qué tan variadas son las respuestas, de 0 a 2. Con valores bajos responde casi siempre igual, y con valores altos improvisa más. Déjala en 1 salvo que tengas una razón: parte de los modelos del catálogo solo trabajan con su valor por defecto y la ignoran.
4 Tono
Normal, Formal, Empático, Amigable o Entusiasta. Le agrega al agente una instrucción de estilo con un ejemplo de cada tono. Es el ajuste más rápido para que un bot deje de sonar acartonado.

Diseñar el prompt

Escribir un buen prompt desde cero cuesta. El botón Diseñar prompt te deja describir en tus palabras lo que quieres y arma el prompt completo por ti.

La ventana Diseñar prompt
Describe lo que debe hacer el agente, en lenguaje normal

Haz clic en Generar prompt y la respuesta se va escribiendo en pantalla. Sale con secciones, con el rol, el tono y las instrucciones de cada función, y con los nombres de las funciones resaltados.

El prompt generado
El prompt generado. Usar prompt lo lleva al campo, Volver te deja pedir otro
Nota

Asigna las funciones antes de pedir el prompt. La ventana las conoce y escribe las instrucciones de cada una; si la abres con la lista vacía, te va a devolver un prompt genérico. Y ojo: Usar prompt reemplaza lo que hubiera escrito en el campo.

El paso Smart Function

Una Smart Function no es la función. Es el camino del flujo que se recorre cuando el agente decide llamarla: aquí dices cuál función es, qué hacer con lo que traiga y qué decirle al cliente mientras tanto.

La configuración de una Smart Function de captura
Una Smart Function apuntando a una función de Captura
1 Título
El nombre en el lienzo. Que se lea como la acción: "Tomar el documento", "Consultar el saldo".
2 Función
El selector solo muestra las funciones asignadas al Smart Agent del que cuelga este paso. Si te falta una, agrégala primero arriba.
3 Requerir confirmación
Solo aparece en funciones de tipo Captura. Obliga al agente a repetirle al cliente los datos que tomó y esperar que los confirme antes de ejecutar la función. Actívalo en todo lo que escriba o mueva algo de verdad.
4 Dependencias
Otras funciones del mismo agente que tienen que haber corrido con éxito antes que esta. Si el agente la llama antes de tiempo, se le rechaza la llamada y se le explica que primero use la otra. Sirve para el orden obvio: verificar al cliente antes de consultarle la cuenta.
5 Qué hace esta función (prompt)
De solo lectura. Es la descripción que escribiste en la función y es exactamente lo que el modelo lee para decidir cuándo llamarla. Si el agente la llama cuando no debe, o no la llama cuando debería, se arregla ahí y no en el prompt del agente.
6 Dato, Tipo y Variable
Solo en funciones de Captura. Por cada dato que la función captura, escribes el nombre de la variable del chat donde quieres guardarlo. El nombre se pasa a mayúsculas solo.
7 Mensaje al disparar función
Lo que el bot dice mientras la función trabaja, para que el cliente no sienta el silencio. Se manda una sola vez por pregunta, aunque el agente encadene varias consultas para responderla.

Cuando la función es de MCP

Una función de tipo MCP puede traer varias herramientas de un mismo servidor. El paso las lista de solo lectura, con su descripción y sus parámetros, para que veas qué es lo que va a poder ejecutar.

La configuración de una Smart Function de MCP
Una Smart Function de MCP, con la dependencia puesta y sus herramientas listadas
3 Herramientas MCP
Qué herramientas trae la función y qué parámetros pide cada una. Los Requeridos son los que el agente tiene que conseguir sí o sí antes de llamarla, normalmente preguntándoselos al cliente. Se configura en la función, no aquí.
Nota

Este paso te deja guardar sin escoger función. Si el flujo te queda con una Smart Function que no hace nada, revisa que el selector no haya quedado en blanco.

El paso Resultado Smart Function

Cuando la función termina, el agente retoma la conversación con lo que ella trajo. El paso Resultado Smart Function sirve para meterle una nota en el camino: decirle si lo que acaba de pasar salió bien o mal, y darle contexto para responder.

La configuración de un Resultado Smart Function
Un Resultado marcando el camino exitoso
1 Título
El nombre en el lienzo.
2 Tipo
Obligatorio. Exitoso o Fallido. Es lo que se le informa al agente, y también lo que cuenta para las Dependencias: una función que terminó en Fallido no habilita a las que dependen de ella.
3 Detalle
Texto libre que se le pasa al agente junto con el resultado. Admite variables del chat, así que es el lugar para entregarle lo que trajo la consulta y decirle qué hacer con eso.
Importante

El Resultado no evalúa nada: declara. Si pones un Resultado de tipo Exitoso, el agente va a recibir que salió bien, pasara lo que pasara. Para separar el caso bueno del malo, la bifurcación la hace una Condición sobre la variable que dejó la consulta, y pones un Resultado al final de cada rama.

Qué pasa después

Es la parte que más confunde, y son dos casos:

Smart Function sin nada colgando
El control vuelve solo al Smart Agent, que responde con lo que trajo la función. Es el caso más común y no hay que configurar nada.
Smart Function con pasos colgando
El flujo recorre esos pasos, incluido el Resultado si lo pusiste, y sigue con lo que cuelgue del último. Si no cuelga nada, ahí se acaba el camino y el agente no vuelve a tomar la conversación. Para devolvérsela, cuelga una Acción de tipo Ir a paso apuntando al Smart Agent.

Cómo decide el Smart Agent

El agente no llama funciones a voluntad. Audara le pone unas reglas fijas que no se configuran y que explican casi todo lo que uno ve al probar un bot:

No actúa en el primer mensaje
El agente no puede llamar una función antes de que el cliente haya escrito. Primero saluda y luego actúa. La regla es de la conversación, no del paso: un agente que recibe una conversación empezada por otro sí puede actuar de una.
No repite la misma función
No puede llamar dos veces la misma función sin que el cliente haya dicho algo en medio. Cuando lo intenta, casi siempre es porque está tratando de responder a través de la función en vez de usar lo que ya tiene.
Una a la vez, y con tope por pregunta
Ejecuta una función por turno, y puede encadenar hasta seis para responder una sola pregunta. Al llegar al tope contesta con lo que haya conseguido.
Respeta las dependencias
Si llama una función cuya dependencia no se ha cumplido, se le rechaza y se le dice que use primero la otra. No es un error que el cliente vea.
Confirma antes de lo importante
En las funciones con Requerir confirmación, tiene que haberle confirmado los datos al cliente en un mensaje aparte antes de ejecutarlas.
Buenas prácticas

Si el agente llama una función cuando no debe, o se queda corto y no la llama, lo primero que hay que revisar no es el prompt del agente sino la descripción de la función. Esa descripción es lo único que el modelo lee para decidir, y pesa más que cualquier instrucción del prompt.

Varios Smart Agents en un flujo

Un flujo puede tener varios Smart Agents, cada uno especializado en un tema, y pasarse la conversación entre ellos. Es como están armados los agentes grandes: uno recibe y clasifica, y de ahí manda a uno de información, uno de cuenta, uno de cancelaciones.

El traspaso se arma así: al agente que recibe le pones una función que detecte el cambio de tema, y debajo de esa Smart Function cuelgas una Acción de tipo Ir a paso apuntando al otro Smart Agent. El flujo salta y desde ahí conversa el nuevo.

Cada agente arranca con su propio contexto y sus propias funciones, así que no hereda las instrucciones del anterior. Lo que sí sabe Audara es que la conversación ya venía andando, y por eso el agente que recibe puede ejecutar una función en su primer turno sin volver a pedirle al cliente lo que ya dijo.

Buenas prácticas

Vale más un agente por tema, con pocas funciones cada uno, que un solo agente con quince funciones y un prompt gigante. Entre más funciones parecidas tenga a la vista, más se equivoca escogiendo.

Buenas prácticas

Ponle nombres que se lean solos
Tanto al paso como a la función. El lienzo muestra el título, no el contenido, y el nombre de la función es parte de lo que el modelo usa para entenderla.
Prompt corto, ejemplos aparte
El prompt para las reglas, en imperativo y sin rodeos. Los ejemplos de conversación van en Few-Shot, que para eso está.
Dile qué no hacer
La instrucción de no inventar datos y de ofrecer un asesor cuando no sepa algo es la que más problemas evita en producción.
Siempre un camino a un humano
Dale una función para entregar la conversación a un asesor y dile en el prompt cuándo usarla. Un agente sin salida deja al cliente dando vueltas.
Pruébalo antes de publicar
El botón Probar corre el flujo que estás viendo, sin publicar nada, y va marcando en el lienzo por qué paso va la conversación. Está explicado en el artículo Chatbot.