Guardrails

Los guardrails permiten definir reglas de comportamiento defensivo del agente: qué temas o respuestas debe evitar, cuántas violaciones tolera por conversación y por cliente, y qué mensaje mostrar cuando se viola una regla.

La whitelist de términos permitidos es a nivel workspace y se gestiona aparte — ver Whitelist de guardrails .

Obtener Guardrails

GET https://api.platica.mx/v1/agents/{agentId}/guardrails

Parámetros de URL

ParámetroTipoDescripciónRequerido
agentIdstringIdentificador único del agente

Respuesta

{
  "enabled": true,
  "rules": [
    "No prometas reembolsos automáticos",
    "No menciones precios fuera de la lista oficial"
  ],
  "message": "Lo siento, no puedo ayudarte con eso.",
  "conversationStrikeThreshold": 3,
  "clientStrikeThreshold": 5
}

Campos de la respuesta

CampoDescripción
enabledSi los guardrails están activos
rulesLista de reglas en lenguaje natural (máximo 20)
messageMensaje que se envía al cliente cuando se viola una regla
conversationStrikeThresholdMáximo de violaciones permitidas en una sola conversación (1-10)
clientStrikeThresholdMáximo de violaciones permitidas históricamente por cliente (1-10)

Actualizar Guardrails

Todos los campos son opcionales — sólo se actualizan los presentes en el body.

PATCH https://api.platica.mx/v1/agents/{agentId}/guardrails

Parámetros de URL

ParámetroTipoDescripciónRequerido
agentIdstringIdentificador único del agente

Cuerpo de la solicitud

{
  "enabled": true,
  "rules": [
    "No prometas reembolsos automáticos",
    "No menciones precios fuera de la lista oficial"
  ],
  "message": "Lo siento, no puedo ayudarte con eso.",
  "conversationStrikeThreshold": 3,
  "clientStrikeThreshold": 5
}
ParámetroTipoDescripciónValidación
enabledbooleanActivar/desactivar guardrails
rulesarray de stringsReglas en lenguaje naturalMáximo 20 entradas, cada una no vacía
messagestringMensaje al cliente cuando se viola una reglaMáximo 500 caracteres
conversationStrikeThresholdintegerMáximo de violaciones por conversaciónEntero entre 1 y 10
clientStrikeThresholdintegerMáximo de violaciones por clienteEntero entre 1 y 10

Respuesta

{
  "status": "success",
  "message": "Agent guardrails updated successfully",
  "data": {
    "enabled": true,
    "rules": [
      "No prometas reembolsos automáticos",
      "No menciones precios fuera de la lista oficial"
    ],
    "message": "Lo siento, no puedo ayudarte con eso.",
    "conversationStrikeThreshold": 3,
    "clientStrikeThreshold": 5
  }
}

data siempre refleja el estado completo de los guardrails tras el merge, no sólo los campos actualizados.