Caso de uso
Decisions API para enrutamiento de solicitudes
Enrutar es una decisión finita: qué cola, qué prioridad, humano o automatización. Una llamada de decisión devuelve la elección más la probabilidad de cada opción, así puedes autoasignar los casos seguros y mandar el resto a triaje.
Actualizado
Por qué el enrutamiento encaja de forma natural
Enrutar hace una pregunta finita — cuál de mis colas se encarga de esto — y es exactamente lo que un endpoint de decisiones responde de forma nativa. Sin parsear el nombre de una cola desde texto generado ni ingeniería de prompts para que no invente una quinta cola.
La misma llamada puede llevar varias preguntas sobre el mismo ticket, así que cola, urgencia y un indicador de revisión se resuelven en un solo viaje por 1 crédito.
- Asignación de cola: billing, platform, account, other
- Prioridad: un score ordenado de bajo a bloqueante
- Escalación: un chequeo noul de si un humano debe mirar primero
Escribe los criteria como descripciones de cola
Cada opción de una pregunta choice lleva una breve descripción de qué pertenece ahí. Escríbelas como si briefearas a un nuevo analista de triaje — esas descripciones son tu política de enrutamiento.
Incluye siempre una opción 'other' o 'unclear'. Darle al modelo una salida honesta evita que tickets ambiguos acaben en la cola equivocada con aparente seguridad.
Una llamada: cola más urgencia
Envía el texto del ticket como state y haz dos preguntas: un choice para el equipo responsable y un score para la urgencia. La respuesta te da answers.team.choice, answers.urgency.score y una probabilidad por opción en ambas.
Choice + score en una petición
// Route a ticket: ask for team + urgency in one call,
// then gate the automation on confidence.
const res = await fetch("https://decisions-api.net/api/v1/decisions", {
method: "POST",
headers: {
Authorization: "Bearer YOUR_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "decisions-1",
state: "Payments fail with a 500 since your last deploy. Enterprise plan customer.",
questions: {
team: {
type: "choice",
instructions: "Which queue should handle this request?",
criteria: {
payments: "Billing, charges, or payment failures.",
platform: "Deploys, infrastructure, or API errors.",
account: "Login, SSO, or permissions.",
other: "Unclear or out of scope.",
},
},
urgency: {
type: "score",
instructions: "How urgent is this for the customer?",
criteria: ["can wait", "normal queue", "needs attention today", "blocking revenue"],
},
},
}),
});
const { answers } = await res.json();
// Illustrative response: answers.team -> { choice: "payments", confidence: 0.84 }
// answers.urgency -> { score: 3, confidence: 0.79 } (0 = lowest level)
if (answers.team.confidence >= 0.8 && answers.team.choice !== "other") {
assignToQueue(answers.team.choice, { priority: answers.urgency.score });
} else {
assignToQueue("human_triage", { note: "low confidence" });
}Condiciona la autoasignación a la confianza
La distribución de probabilidades es lo que hace seguro automatizar el enrutamiento. Un punto de partida razonable: aplica el enrutamiento cuando la confianza sea 0.8 o más, y manda todo lo demás a una cola de triaje humano.
Ajusta el umbral con tu propio historial de tickets — el valor correcto depende de cuánto te cuesta un ticket mal enrutado frente a uno retrasado.
Enruta solicitudes entre modelos
El mismo patrón elige qué modelo debe responder. Haz una pregunta choice con opciones como fast_model (solicitudes factuales cortas o de formato), strong_model (razonamiento de varios pasos, código, contexto largo) y human (legal, reembolsos, o cualquier cosa que un modelo no debería responder solo). Cada opción vuelve con una probabilidad, así que ves cuán reñida estuvo la asignación.
Aplica la misma puerta: cuando la confianza es baja, enruta la solicitud a una persona o a una ruta más segura en lugar de fiarte de la opción ganadora — la probabilidad de la segunda opción te dice cuán ajustada fue la decisión.
Coste y volumen
Una llamada exitosa cuesta 1 crédito, preguntes 1 o 6 preguntas. Para un backlog de tickets históricos, la herramienta batch del dashboard ejecuta la misma forma de petición sobre un CSV o JSONL.
FAQ
¿A cuántas colas puedo enrutar?
Una pregunta choice admite de 2 a 8 opciones. Si enrutas a más colas, divide la decisión: una primera llamada elige el departamento y una segunda elige el equipo dentro.
¿Puedo enrutar por urgencia en la misma llamada?
Sí — añade una pregunta score con descripciones de niveles ordenadas. Una llamada puede llevar hasta 6 preguntas, así que cola, urgencia y un indicador de escalación se resuelven juntos.
¿Qué pasa con un ticket ambiguo?
La respuesta incluye una probabilidad por opción. Cuando las dos primeras están cerca — digamos 0.45 contra 0.42 — trata el ticket como ambiguo y enrútalo a triaje humano en vez de confiar en el ganador.
¿Funciona con tickets en otros idiomas?
Escribe el state y las descripciones de opciones en el idioma de tus tickets, y mantén las claves de opción en ASCII para que tu código de enrutamiento sea legible.
¿Puede elegir qué LLM responde una solicitud?
Sí — convierte los modelos en las opciones de una pregunta choice y describe en qué es bueno cada uno. Enruta los casos de baja confianza al modelo más fuerte.
Enruta un ticket ahora
Una decisión de prueba gratis para visitantes nuevos — pega un ticket real en el playground y lee las probabilidades.