Todos los vídeos Agentes de voz 2:19

Tools y estado durable

La conversación comunica el resultado observado. Una frase no crea una reserva.

Los enlaces con ?t= abren el vídeo en un segundo concreto.

Resumen del vídeo

Las ideas que debes retener

01

Una tool call no es el efecto externo

Conviene separar al menos cuatro eventos:

02

Separa cuatro tipos de estado

Llamar a todo «contexto» oculta fallos importantes. Un agente realtime suele tener, como mínimo, estas capas:

03

El contrato mínimo de una acción

Antes de ejecutar una tool que modifica el mundo, define un identificador estable y una política explícita:

Momentos clave

Ve directamente a una sección

  1. Solicitar no es ejecutar
  2. Cuatro estados. Cuatro autoridades.
  3. Callarse no deshace una reserva
  4. El resultado llega a otro turno
  5. Timeout no significa fracaso
  6. Async necesita un responsable
Leer transcripción revisada

Vídeo sin narración. Esta transcripción reproduce el texto visual del vídeo; no atribuye una voz inexistente.

Solicitar no es ejecutar

El modelo propone una tool. La aplicación valida identidad, permisos y precondiciones.

Sólo después admite op_42 y el sistema externo puede confirmar el efecto.

La conversación comunica el resultado observado. Una frase no crea una reserva.

Cuatro estados. Cuatro autoridades.

Contexto, sesión, workflow durable y sistema de registro son almacenes distintos.

Un reinicio pierde datos efímeros, pero op_42 debe seguir siendo localizable.

Recupera el estado durable y consulta el efecto externo, no una frase anterior.

Callarse no deshace una reserva

El usuario dice «espera» mientras op_42 sigue en curso. El audio debe detenerse.

Cancelar la generación o su espera local no demuestra que el proveedor cancelara el efecto.

Si el registro confirma la reserva, reconcíliala. No anuncies una cancelación inexistente.

El resultado llega a otro turno

T12 pidió las 21:00. T13 corrige a las 21:30 antes de recibir el resultado.

La confirmación tardía de op_42 sigue describiendo una reserva real a las 21:00.

Persiste el hecho y comprueba relevancia. No lo presentes como éxito de la nueva petición.

Timeout no significa fracaso

Se pierde la respuesta después de enviar op_42. El efecto queda UNKNOWN para la aplicación.

Con una API idempotente, el reintento conserva la clave y consulta la misma operación.

Dos intentos no crean dos efectos. Sin ese contrato, primero hay que reconciliar.

Async necesita un responsable

op_42 pertenece a un workflow durable, no al await de un agente temporal.

Un handoff cambia el interlocutor activo; la operación conserva identidad y deadline.

Un update de progreso no es el resultado final. El responsable debe cerrar o reconciliar.