Prompts y Comportamiento
Configurar el prompt y comportamiento del agente IA
El prompt del agente se organiza en secciones — bloques de texto que definen la identidad, reglas, conocimiento y estilo del agente. Las secciones se combinan para formar el prompt completo que el modelo de IA recibe.
Estructura de Secciones
{
"sections": {
"identity": "Eres Sofia, asistente virtual de Universidad America Latina...",
"rules": "1. Siempre saluda al contacto por su nombre\n2. No inventes informacion...",
"knowledge": "Licenciaturas disponibles: Derecho, Administracion, Contaduria...",
"tone": "Amable, profesional, con emojis moderados",
"closing": "Al finalizar, pregunta si hay algo mas en lo que puedas ayudar"
}
}Las secciones son flexibles — puedes usar cualquier nombre de seccion. Las mas comunes son:
| Seccion | Uso |
|---|---|
identity | Nombre, rol, personalidad del agente |
rules | Reglas de comportamiento, restricciones |
knowledge | Informacion del negocio, productos, FAQ |
tone | Estilo de comunicacion |
closing | Como cerrar conversaciones |
escalation | Cuando y como transferir a un humano |
Configuracion Avanzada de Chat
Ademas de las secciones de texto, sections.chat acepta parametros que ajustan el comportamiento del agente en WhatsApp y webchat.
curl -X PATCH "https://api.mirlo.com/v1/members/organizations/{organization_id}/members/{agent_id}/agent-config" \
-H "X-API-Key: sk_live_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"sections": {
"chat": {
"temperature": 0.7,
"context_messages": 50,
"context_days": 7,
"split_long_messages": false
}
}
}'| Campo | Tipo | Rango | Default | Descripcion |
|---|---|---|---|---|
temperature | number | 0 - 1 | 0.7 | Creatividad del agente, mismo concepto que sections.voice.temperature. Nota: no todos los modelos de IA lo soportan — verifica el modelo configurado para tu organizacion antes de asumir que tiene efecto. |
context_messages | number | 0 - 100 | 50 | Cantidad de mensajes previos que el agente recibe como contexto de la conversacion. Usa 0 para que el agente empiece cada respuesta sin historial. |
context_days | number | 1 - 30 | 7 | Ventana de tiempo: solo se consideran mensajes de los ultimos N dias. Se ignora si context_messages es 0. |
split_long_messages | boolean | - | false | En WhatsApp, los mensajes cortos se leen mejor. Si es true, el agente envia una respuesta larga como varios mensajes separados en vez de uno solo. |
Crear o Reemplazar Configuracion
Reemplaza completamente la configuracion del agente.
curl -X POST "https://api.mirlo.com/v1/members/organizations/{organization_id}/members/{agent_id}/agent-config" \
-H "X-API-Key: sk_live_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"sections": {
"identity": "Eres un asistente de ventas de Mirlo...",
"rules": "Responde siempre en espanol...",
"knowledge": "Plan Basico: $199/mes, Plan Pro: $499/mes..."
},
"voice": "female",
"agent_type": "generic",
"business_category": "sales"
}'Body
| Campo | Tipo | Requerido | Descripcion |
|---|---|---|---|
sections | object | Si | Secciones del prompt (key-value) |
tools | object | No | Configuracion de herramientas |
voice | string | No | ID de voz para llamadas |
agent_type | string | No | Tipo de agente. Default: generic |
business_category | string | No | Categoria: sales, support, etc. |
notifications | object | No | Notificaciones por herramienta |
call_transfers | array | No | Reglas de transferencia de llamadas |
Actualizar Parcialmente
Actualiza solo los campos proporcionados sin afectar el resto.
curl -X PATCH "https://api.mirlo.com/v1/members/organizations/{organization_id}/members/{agent_id}/agent-config" \
-H "X-API-Key: sk_live_tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"sections": {
"identity": "Eres un asistente de soporte tecnico...",
"knowledge": "FAQ actualizado: Como resetear mi contrasena..."
}
}'Solo se actualizan las secciones incluidas. Las demas se mantienen sin cambio.
Buenas Practicas
Separar el conocimiento del comportamiento
{
"sections": {
"identity": "Eres Ana, asistente de Universidad X",
"rules": "No compartas precios sin antes preguntar la carrera de interes",
"knowledge": "Carreras: Derecho ($2,500/mes), Medicina ($4,000/mes)..."
}
}Esto permite actualizar el conocimiento (precios, horarios, productos) sin tocar el comportamiento.
Usar reglas claras y numeradas
{
"sections": {
"rules": "1. Nunca inventes informacion que no este en tu conocimiento\n2. Si no sabes la respuesta, transfiere a un humano\n3. No compartas informacion de otros contactos\n4. Responde en el idioma del contacto"
}
}Definir criterios de transferencia
{
"sections": {
"escalation": "Transfiere a un humano cuando:\n- El contacto pide hablar con una persona\n- La consulta requiere acceso a sistemas internos\n- El contacto esta molesto o frustrado\n- Han pasado mas de 3 intercambios sin resolver"
}
}