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.
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.
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.
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.
- 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.
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 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.
- 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.
- 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.
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.
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.
- 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.
- 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í.
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.
- 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.
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.
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.
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.