client.agentEvaluations.evaluate, para los canales con una conversación real (VOICE_AI,EMAIL,WHATSAPP): ejecuta un guion de turnos contra el agente y transmite el resultado de cada uno a medida que ocurre.client.agentTemplates.preview, para los canales sin conversación (SMS,VOICE_PRERECORDED): renderiza el mensaje o guion contra una cuenta de ejemplo, sin transmisión ni turnos.
@qcobro/common antes de enviar la petición: una entrada inválida lanza un
ValidationError y nunca llega a la red.
Evalúa un agente ya creado
Para un agenteVOICE_AI, EMAIL o WHATSAPP que ya existe, pasa su agentTemplateId junto
con los escenarios que quieres ejecutar. evaluate devuelve un iterable asíncrono: consúmelo
con for await.
Evalúa una definición antes de crearla
Para iterar sobre un agente que todavía no existe, pasayaml en lugar de agentTemplateId.
El YAML reúne en un solo documento la definición del agente y sus escenarios, así que no
hace falta crear nada para probar un cambio de systemPrompt.
Evaluar una definición en YAML no crea ninguna plantilla de agente. Es la forma de probar
un guion antes de decidir si vale la pena crearlo.
Da forma a los escenarios
Cada escenario tiene unaaccount (los datos de una cuenta de ejemplo: nombre, montos, días
de atraso) y una lista ordenada de turns. Cada turno lleva el mensaje simulado del cliente
(input) y, si quieres comprobar algo puntual, una expectativa opcional (expected). Un
turno sin expected igual se ejecuta y se transmite, solo que no se evalúa nada en él.
Lo que puede llevar expected depende del canal:
string
Para
EMAIL/WHATSAPP: la acción que debería tomar el agente en ese turno (reply,
ignore, resolve o escalate).string
Para
EMAIL/WHATSAPP: el resultado que debería registrar el agente (por ejemplo
PAYMENT_PROMISE), cuando el turno debería capturar uno.object
Para
VOICE_AI: { type: "EXACT" | "SIMILAR", response }. Compara la respuesta generada
por el agente contra response, de forma exacta o por similitud.array
Para
VOICE_AI: acciones puntuales que el agente debería ejecutar en ese turno (por
ejemplo, terminar la llamada), como [{ tool: "hangup" }].Lee los eventos
evaluate transmite un evento por cada turno a medida que se ejecuta, luego un evento por
escenario terminado, y por último un resumen del run completo.
Previsualiza un canal estático
SMS y VOICE_PRERECORDED no tienen conversación que evaluar: solo envían un mensaje o guion
fijo. Para esos canales, preview renderiza el texto contra una cuenta de ejemplo, sin
transmisión.
evaluate, acepta una definición en YAML sin crear (solo los campos de SMS o
VOICE_PRERECORDED, sin scenarios):
Siguientes pasos
CLI de QCobro
agents:eval y agents:preview envuelven estos mismos métodos desde la terminal.Referencia del SDK
Los tipos y métodos exportados, incluido
AgentEvaluationsResource.Crear plantillas de agente
Cómo se crean y configuran los agentes que luego evalúas o previsualizas.
Validación y errores
Captura los fallos de validación del cliente y lee el detalle por campo.