mirlo

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:

SeccionUso
identityNombre, rol, personalidad del agente
rulesReglas de comportamiento, restricciones
knowledgeInformacion del negocio, productos, FAQ
toneEstilo de comunicacion
closingComo cerrar conversaciones
escalationCuando 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
      }
    }
  }'
CampoTipoRangoDefaultDescripcion
temperaturenumber0 - 10.7Creatividad 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_messagesnumber0 - 10050Cantidad de mensajes previos que el agente recibe como contexto de la conversacion. Usa 0 para que el agente empiece cada respuesta sin historial.
context_daysnumber1 - 307Ventana de tiempo: solo se consideran mensajes de los ultimos N dias. Se ignora si context_messages es 0.
split_long_messagesboolean-falseEn 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

CampoTipoRequeridoDescripcion
sectionsobjectSiSecciones del prompt (key-value)
toolsobjectNoConfiguracion de herramientas
voicestringNoID de voz para llamadas
agent_typestringNoTipo de agente. Default: generic
business_categorystringNoCategoria: sales, support, etc.
notificationsobjectNoNotificaciones por herramienta
call_transfersarrayNoReglas 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"
  }
}

En esta pagina