Conecte um agente, envie transcrições e leia o boletim A–F, via SDK ou REST.
Visão geral
A Axon é a camada de qualidade para agentes de IA. Você envia transcrições de conversas; a Axon avalia cada uma com um juiz LLM contra uma rubrica configurável e devolve um boletim A–F por dimensão, com evidência citada, causa-raiz e correção concreta.
O fluxo: conecte um agente → ingira transcrições → o juiz avalia (de forma assíncrona, numa fila durável e idempotente) → leia o boletim → corrija → trave numa suíte de regressão → monitore e receba alertas de degradação.
Início rápido
Do zero ao primeiro boletim em três passos.
- Gere uma chave de API em Configurações → Integração. Guarde como AXON_API_KEY.
- Conecte a chave do seu provedor de IA (BYOK) em Configurações → Integração → Provedor de IA. As avaliações rodam nessa chave.
- Instale o SDK (pnpm add @gabrielonrails/axon-sdk) ou use cURL puro.
- Envie uma transcrição e leia o boletim. O agente é criado na primeira ingestão.
URL base & erros
Três endpoints, todos autenticados por chave de API. A ingestão devolve 202 e avalia de forma assíncrona; faça polling do status ou leia o boletim.
URL base: https://axon-dev.com
Erros devolvem um corpo JSON '{ error, message }' com o status HTTP apropriado.
Autenticação
Toda requisição autentica com uma chave de API (por org) no header Authorization: Authorization: Bearer axon_sk_….
As chaves são geradas e revogadas em Configurações → Integração. Guardamos só um hash SHA-256: a chave completa aparece uma vez. A revogação é imediata.
Authorization (ou x-api-key):Authorization: Bearer axon_sk_xxxxxxxxxxxxxxxxxxxxxxxxBYOK: sua chave de IA
A avaliação roda na chave do provedor de IA que você conecta: Anthropic, OpenAI ou qualquer endpoint compatível. É obrigatória: sem ela o juiz não roda e o boletim fica vazio.
Onde conectar: no app, Configurações → Integração → Provedor de IA. Cole a chave, escolha o provedor e (opcional) o modelo. A chave é cifrada em repouso (AES-256-GCM).
Agentes & transcrições
O loop central: envie transcrições de conversas, consulte o status da avaliação e leia o boletim A–F do agente. Os agentes são criados sob demanda na primeira ingestão.
/api/v1/agents/{agent}/transcriptsIngerir transcrições
Envie uma ou mais transcrições de conversas para um agente. Retorna 202 imediatamente; cada conversa é avaliada de forma assíncrona numa fila durável e idempotente. Reenviar uma transcrição com a mesma id atualiza em vez de duplicar.
Parâmetros de path
agentstringobrigatórioParâmetros do corpo
transcriptsTranscript[]obrigatóriotranscripts[].idstringopcionaltranscripts[].channel"chat" | "whatsapp"opcionaltranscripts[].turnsTurn[]obrigatório{
"transcripts": [
{
"id": "conv-001",
"channel": "chat",
"turns": [
{ "role": "client", "text": "I want a discount." },
{ "role": "agent", "text": "I can apply 20% now." }
]
}
]
}Respostas
202 Accepted
{
"accepted": 1,
"queued": 1,
"agent": { "id": "ag_...", "name": "cobranca" },
"conversation_ids": ["cv_..."],
"status": "evaluating"
}curl -X POST https://axon-dev.com/api/v1/agents/cobranca/transcripts \
-H "Authorization: Bearer $AXON_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"transcripts": [
{
"id": "conv-001",
"channel": "chat",
"turns": [
{ "role": "client", "text": "I want a discount." },
{ "role": "agent", "text": "I can apply 20% now." }
]
}
]
}'/api/v1/agents/{agent}/transcripts/{externalId}Obter status da conversa
Consulte o status de avaliação de uma conversa ingerida pela sua id externa. Use após a ingestão para saber quando a avaliação A–F está pronta.
Parâmetros de path
agentstringobrigatórioexternalIdstringobrigatórioRespostas
200 OK
{
"external_id": "conv-001",
"conversation_id": "cv_...",
"status": "done",
"reason": null,
"evaluation": {
"overall": "C+",
"confidencePct": 92,
"dimensions": [ { "key": "...", "name": "...", "grade": "B", "score": 80 } ]
}
}curl https://axon-dev.com/api/v1/agents/cobranca/transcripts/conv-001 \
-H "Authorization: Bearer $AXON_API_KEY"/api/v1/agents/{agent}/reportObter boletim do agente
O boletim atual do agente: nota geral, notas por dimensão, os principais problemas com evidência citada e a correção recomendada (causa-raiz + patches concretos de PROMPT / GUARDRAIL / EVAL). correction é null até que uma seja gerada.
Parâmetros de path
agentstringobrigatórioRespostas
200 OK
{
"agent": { "id": "ag_...", "name": "cobranca", "channel": "chat" },
"overall": "C+",
"degrading": true,
"sample": 2430,
"dimensions": [ { "key": "...", "name": "...", "grade": "B", "score": 80 } ],
"problems": [
{ "severity": "alto", "title": "...", "dimension": "...",
"impact": "...", "rootCause": "...",
"evidence": { "turnIndex": 4, "quote": "...", "verified": true } }
],
"correction": {
"tags": ["discount policy"],
"impactFrom": "C+", "impactTo": "A-",
"fixes": [ { "type": "PROMPT", "title": "...", "description": "...", "code": "..." } ]
}
}curl https://axon-dev.com/api/v1/agents/cobranca/report \
-H "Authorization: Bearer $AXON_API_KEY"