Saltar al contenido

Evaluación de calidad con IA ​

English version: Automatic (AI) evaluations.

Desde core v0.106.0 la plataforma puede puntuar por sí sola una llamada grabada, de modo que las llamadas que ningún supervisor llega a escuchar reciban una primera pasada. Es una clase de evaluación aparte: evaluator_kind vale automatic (el de una persona, human). Los nombres de campo y los enums salen de openapi/dialer-v1.yaml vendorizado (info.version: 0.106.0); donde la spec calla, la afirmación describe el comportamiento de core en el tag v0.106.0. La guía completa de calidad, con formularios, disputas y reportes, está en Gestión de calidad (Quality management, en inglés).

Qué evalúa y qué no ​

  • Qué evalúa. Cada criterio de un formulario de puntuación, contra la transcripción redactada de la llamada. El modelo sólo devuelve una respuesta por criterio; nunca una nota. Core calcula score_bp, passed y auto_failed con la misma puntuación que para una persona. El weight y el critical de los criterios no se envían al modelo.
  • Contra qué formulario. El formulario vivo más antiguo del tenant, en su versión vigente. No hay mapeo campaña-formulario: toda grabación elegible se evalúa contra ese formulario.
  • Qué no hace. El resultado es una sugerencia para el evaluador y una cifra en un reporte; nunca cambia la disposición de una llamada: el job sólo escribe una fila de evaluación. No se escribe si las respuestas del modelo no cubren todos los criterios o no caben en su criterio (no se inventa un «no aplica»). Nunca pisa a una persona: si la grabación ya tiene una evaluación de ese formulario, no se hace otra automática. Las grabaciones de llamadas con agente de voz con IA (ai_used) quedan excluidas.
  • La persona gana siempre. La primera evaluación humana de una grabación cuya evaluación vigente es automática la sustituye, sin que quien llama envíe supersedes_id. La fila automática se conserva (la tabla sólo añade).
  • El agente puede disputarla igual que una humana. La disputa nunca se resuelve sola: la resuelve un evaluador elegible, y si la ajusta, su evaluación humana sustituye a la automática. La vista del agente (QmAgentEvaluation) no lleva evaluator_kind: el agente no sabe de qué clase era.

Quién la recibe ​

Deben cumplirse todas, o no se evalúa y no se gasta nada:

CondiciónDetalle
PlanTier scale o enterprise (el derecho :qa). Cualquier otro tier, también uno desconocido, no lo tiene.
Flag del tenantqm_enabled encendido (sin él, las escrituras de calidad responden 403 qm_not_enabled). Una migración lo enciende por segmento para scale y enterprise; un override por tenant, que sólo escribe Dialer Digital, gana al segmento en los dos sentidos.
Grabaciónavailable, con el audio sin purgar, con agente, sin ai_used, con transcripción guardada y sin evaluación previa de esa grabación y formulario.
ProveedorUn proveedor de pago configurado para análisis en la celda. El proveedor local no sirve esta tarea y el job termina sin gastar.

El job se encola al guardar la transcripción de la grabación (Inteligencia post-llamada describe la elegibilidad de la transcripción).

El freno de gasto (fail-closed) ​

La evaluación pasa por el mismo freno de gasto que la transcripción y el análisis, con function: "qa". El job pide una reserva antes de llamar al modelo y la liquida después con el consumo real de tokens. Todo lo que no sea una reserva concedida termina el job sin gastar y sin reencolar; un libro que no se puede leer hace fallar el intento sin gastar. La salida del modelo se acota a 2 048 tokens. El tope, los motivos de denegación y las reglas fail-closed están en Inteligencia post-llamada y se aplican sin cambios. Para un cliente de la API el efecto visible de una denegación es que no aparece ninguna evaluación automática.

Cómo se distinguen en los reportes y listados ​

evaluator_kind es un campo de QmEvaluation (human o automatic; evaluator_user_id es null en automatic). Los dos reportes (GET /v1/qm/reports/agents y /v1/qm/reports/campaigns) agrupan por agente (o campaña), formulario y evaluator_kind: la nota de una persona y la pasada automática son filas distintas y nunca se promedian juntas. Aceptan el filtro opcional evaluator_kind=human|automatic (cualquier otro valor es 400).

En el dashboard (v0.51.0), una evaluación automática se rotula «Automática» en el panel de calidad de la grabación (apps/web/src/routes/recordings/QmEvaluationPanel.tsx), y el reporte de la página de calidad muestra la clase de cada fila y se filtra por ella (apps/web/src/routes/quality/QualityPage.tsx).

Nada de esta documentación es asesoría legal: confirma siempre tu postura de cumplimiento con tu propio abogado.