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.
Las ideas que debes retener
Una tool call no es el efecto externo
Conviene separar al menos cuatro eventos:
Separa cuatro tipos de estado
Llamar a todo «contexto» oculta fallos importantes. Un agente realtime suele tener, como mínimo, estas capas:
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:
Ve directamente a una sección
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.