Un turno del chat

El cliente escribe un mensaje. Siguen siete pasos. El modelo decide uno de ellos. El código decide el resto.

“Vi en mi estado de cuenta un cargo de 320 pesos mexicanos de Cafe Central del 12 de junio y no lo reconozco.”
“não reconheço uma cobrança de 320 no Cafe Central em 12 de junho”
Datos de demostración: Cafe Central, 320 MXN. Los valores los generó el equipo.

1. Enmascaramiento

El código decide

El código enmascara los identificadores personales por patrón. También rechaza una solicitud de revelar las instrucciones, antes de cualquier llamada al modelo.

Entra
El texto del cliente.
Sale
El mismo texto, con los identificadores personales enmascarados. El modelo nunca ve el id del cliente.

Qué puede detener el turno

  • Rechazar Una solicitud de revelar las instrucciones recibe un rechazo. El código registra el intento.

Evidencia: sentinel-ai-core/app/privacy · docs/build/decisions/004-pii-lifecycle.md

2. Enrutador de intención

El modelo etiqueta

Un LLM con instrucciones etiqueta la intención. No decide nada más. Si el modelo falla, la línea base de palabras clave responde el turno.

Entra
El texto enmascarado.
Sale
Una etiqueta de intención: cargo, falta información, fuera de alcance o persona. En este ejemplo: cargo.

Qué puede detener el turno

  • Aclarar Etiqueta «falta información»: no hay datos suficientes. El sistema pregunta.
  • Rechazar Etiqueta «fuera de alcance»: el sistema no actúa.
  • Traspasar Etiqueta «persona»: el cliente pide un asesor.

Evidencia: docs/build/decisions/016-router-models.md · evidence/evaluation-runs/2024Q4-eval-v8/summary.json

3. Búsqueda de cargos

El código decide

Una herramienta ligada a la sesión lee los cargos. El código reduce la lista con las palabras del cliente.

Entra
La cuenta de la sesión y las palabras del cliente: monto, comercio, fecha.
Sale
Los cargos candidatos de esta cuenta. En este ejemplo: una coincidencia, Cafe Central, 320 MXN (datos de demostración).

Qué puede detener el turno

  • Aclarar Varios candidatos, o ninguno para la fecha: el sistema muestra los cargos y pregunta cuál.
  • Traspasar Tres búsquedas fallidas se traspasan sin ejecutar ninguna acción.

Evidencia: sentinel-ai-core/app/tools · docs/build/conversation.md

4. Motor de políticas

El código decide

El código revisa el plazo, el estado, el monto y la regla de fraude. Una pregunta posterior de por qué recibe esta decisión guardada.

Entra
Los datos del cargo y la política del país.
Sale
Una decisión con un id de regla: permitir, rechazar o traspasar. En este ejemplo: permitir.

Qué puede detener el turno

  • Rechazar Fuera del plazo, o un estado que no se puede disputar.
  • Traspasar Un monto alto, o una señal de fraude. Decide una persona.

Evidencia: docs/build/decisions/021-dispute-policy-sources.md · docs/rationale/policy-sources.md

5. Confirmación

El código decide

El sistema no abre nada antes de que el cliente confirme. Una confirmación abre solo el cargo del cuadro que vio el cliente.

Entra
El cargo permitido.
Sale
Un cuadro de confirmación con los datos verificados. El cliente confirma o no.

Qué puede detener el turno

  • Aclarar El cliente no confirma, o menciona otro cargo. El cuadro se cierra y no se abre nada.

Evidencia: docs/build/conversation.md

6. Apertura del caso

El código decide

Una herramienta escribe el caso. El sistema cuenta solo una acción que la herramienta confirma. Un tiempo de espera agotado no es un éxito.

Entra
El cargo confirmado.
Sale
Un registro de caso en el almacén de casos.

Qué puede detener el turno

  • Traspasar Un paso que falla no se informa como hecho. El paquete para el asesor lo registra.

Evidencia: sentinel-ai-core/app/models/dispute_case.py · docs/architecture/mocks.md

7. Relectura

El código decide

El código vuelve a leer el caso del almacén. El sistema dice que el caso existe solo después de esta lectura.

Entra
La referencia del caso.
Sale
El número de caso, mostrado al cliente.

Qué puede detener el turno

  • Nada detiene este paso. Es el final del turno.

Evidencia: docs/architecture/specification.md

Cada parada es un tipo de respuesta: Aclarar le pregunta al cliente, Rechazar declina, Traspasar registra un ticket para un asesor. Mira la página de la conversación.