Revisão das respostas de um agente externo

Peça à XBASE para revisar a resposta de um agente externo antes de enviá-la ao contato, com os guardrails de saída configurados no agente.

Atualizado em

Um agente externo gera a resposta fora da XBASE. Com o escopo Revisar respostas do agente (guardrails) (guardrails:review), ele pede à XBASE a revisão da resposta antes de enviar, com os mesmos guardrails de saída configurados no agente.

Requisição

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

agentId é o id do agente externo na XBASE. Agente de outro workspace ou que não é externo responde 404.

CampoTipoObrigatórioRegra
turnKeytextosimId da mensagem do contato, até 128 caracteres. Repetir o mesmo turnKey identifica o mesmo turno
attempt1 ou 2sim2 quando o agente já refez a resposta uma vez
messagetextosimMensagem do contato, até 4.000 caracteres
replytextosimResposta que o agente quer enviar, até 8.000 caracteres
instructionstextonãoInstruções do agente, até 40.000 caracteres
recentConversationtextonãoTrecho recente da conversa, até 3.000 caracteres
sourcestextonãoResultados de ferramentas e buscas usados na resposta, até 20.000 caracteres
threadIdtextonãoConversa na XBASE, do mesmo 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": "Vocês entregam no sábado?",
    "reply": "Sim, entregamos todos os dias, inclusive domingo.",
    "threadId": "c1d7f0b2-…"
  }'

Resposta

Resposta 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…"
}
actionO que o agente faz
sendEnvia a resposta. Vem quando ela foi aprovada, quando a revisão ficou incerta, quando o guardrail só registra ou quando não há guardrail de saída ligado
retryPrimeira reprovação: refaça a resposta usando considerations e descarte a resposta barrada
send_with_tagSegunda reprovação leve: envie
holdSegunda reprovação grave: não envie a resposta. Envie holdingMessage e passe a conversa para a equipe

Fluxo recomendado

  1. O agente gera a resposta e chama a revisão com attempt: 1.
  2. Com send, envia. Com retry, refaz a resposta usando as considerations e chama de novo com attempt: 2 e o mesmo turnKey.
  3. Na segunda chamada, segue a action: send ou send_with_tag enviam; hold manda a holdingMessage e passa para a equipe.

Com threadId, a revisão aparece na conversa do Chatcenter.

Perguntas frequentes

Veja também

Nesta página