Agentes IA

Revisión de las respuestas de un agente externo

Pide a XBASE que revise la respuesta de un agente externo antes de enviarla al contacto, con los guardrails de salida configurados en el agente.

Actualizado el

Un agente externo genera la respuesta fuera de XBASE. Con el alcance Revisar respuestas del agente (guardrails) (guardrails:review), le pide a XBASE que revise la respuesta antes de enviarla, con los mismos guardrails de salida configurados en el agente.

Solicitud

POST https://api.xbase.app/api/external/v1/agents/{agentId}/output-review

agentId es el id del agente externo en XBASE. Un agente de otro workspace, o que no es externo, responde 404.

CampoTipoObligatorioRegla
turnKeytextosíId del mensaje del contacto, hasta 128 caracteres. Repetir el mismo turnKey identifica el mismo turno
attempt1 o 2sí2 cuando el agente ya rehízo la respuesta una vez
messagetextosíMensaje del contacto, hasta 4.000 caracteres
replytextosíRespuesta que el agente quiere enviar, hasta 8.000 caracteres
instructionstextonoInstrucciones del agente, hasta 40.000 caracteres
recentConversationtextonoFragmento reciente de la conversación, hasta 3.000 caracteres
sourcestextonoResultados de herramientas y búsquedas usados en la respuesta, hasta 20.000 caracteres
threadIdtextonoConversación en XBASE, del mismo workspace
curl -X POST https://api.xbase.app/api/external/v1/agents/$AGENT_ID/output-review \
  -H "Authorization: Bearer $XBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "turnKey": "msg-8812",
    "attempt": 1,
    "message": "¿Entregan el sábado?",
    "reply": "Sí, entregamos todos los días, incluso el domingo.",
    "threadId": "c1d7f0b2-…"
  }'

Respuesta

Respuesta 200:

{
  "verdict": "rejected",
  "triggered": ["grounding"],
  "severity": "grave",
  "action": "retry",
  "considerations": {
    "fixed": ["A resposta afirma algo que não está nas instruções."],
    "feedback": { "problemas": ["…"], "afirmacoes_sem_base": ["…"], "orientacao": "…" }
  },
  "holdingMessage": null,
  "reviewId": "4e0b…"
}
actionQué hace el agente
sendEnvía la respuesta. Viene cuando fue aprobada, cuando la revisión quedó incierta, cuando el guardrail solo registra o cuando no hay guardrail de salida activado
retryPrimer rechazo: rehaz la respuesta usando considerations y descarta la respuesta bloqueada
send_with_tagSegundo rechazo leve: envíala
holdSegundo rechazo grave: no envíes la respuesta. Envía holdingMessage y pasa la conversación al equipo

Flujo recomendado

  1. El agente genera la respuesta y llama a la revisión con attempt: 1.
  2. Con send, la envía. Con retry, rehace la respuesta usando las considerations y llama de nuevo con attempt: 2 y el mismo turnKey.
  3. En la segunda llamada, sigue la action: send o send_with_tag envían; hold envía el holdingMessage y pasa la conversación al equipo.

Con threadId, la revisión aparece en la conversación de Chatcenter.

Preguntas frecuentes

Ver también

En esta página