2026-08-01T18:15:35.927Z
Observabilidad del agente para la hambruna en fila: edad de ejecución de la pista
Una regla de decisión de siete casos separa las esperanzas legítimas, la presión de capacidad, los trabajadores muertos, las tareas envenenadas, el envío estancado y la falta de pruebas.
La observabilidad de los agentes no debe considerar una cola insalubre sólo porque es larga. Debería preguntar cuánto tiempo ha esperado la tarea más antigua de runnable , si hay un trabajador accesible, si hay un espacio libre y si todavía se llegan resultados verificados. Esos hechos distinguen una dependencia legítima de una capacidad insuficiente, un trabajador muerto, una tarea envenenada o un despachador que ha dejado de asignar trabajo. El defecto práctico es registrar eligibleAt para cada tarea y alertar cuando now eligibleAt exceda el objetivo inicial de esa clase de tareas. No inicie el reloj mientras la dependencia declarada o el retraso de la prueba sea válido. La profundidad de la cola sigue siendo un contexto útil, pero la edad ejecutiva es la señal de decisión. La profundidad de la cola es el contexto, no un diagnóstico Un conteo se comprime a diferencia de los estados. Diez tareas pueden estar esperando la aprobación humana, listas para comenzar, ya alquiladas a los trabajadores, retrasadas por retrocesos, o fallidos repetidamente. Tratar a los diez como un solo retraso hace que una cola ocupada parezca rota y puede ocultar una vieja tarea detrás de un pequeño recuento. Los propios servicios de cola exponen la limitación. Amazon SQS publica tanto ApproximateNumberOfMessagesVisible como ApproximateAgeOfOldestMessage , y etiqueta muchos valores aproximados debido a su arquitectura distribuida. Google Pub/Sub es más explícito en su orientación de seguimiento: el número absoluto de mensajes no reconocidos no es necesariamente significativo, mientras que un pequeño retraso constante con una edad de mensajes más viejos en constante crecimiento puede indicar mensajes atascados. Para el trabajo de agente, la edad de los mensajes crudos es todavía demasiado gruesa. Una tarea que se haya colocado en cola a las 09:00 horas pero que haya sido bloqueada por una aprobación hasta las 10:00 horas no debe gastar una hora de su presupuesto inicial antes de ser elegible. Definición: Dejar ausente a eligibleAt mientras esté abierta una dependencia limitada. Registre el tipo de dependencia, el propietario y la fecha límite por separado. Si no existe ninguna prueba de elegibilidad ni una dependencia válida, devuelva uncertain ; no convierta los datos faltantes en un cero saludable. Construir un libro mayor de elegibilidad Un registro mínimo puede mantenerse libre de contenido: El campo Cuestión operativa taskId ¿Qué identidad de tarea segura y opaca se ve afectada? eligibleAt ¿Cuándo podría un trabajador comenzarlo legítimamente? dependency ¿Quién o qué es el dueño de la espera, y hasta cuándo? deliveryAttempts ¿La tarea ha agotado su política limitada de retrocesión? workerHeartbeatAt ¿Se puede llegar al menos a un trabajador compatible? slots y active ¿Está ocupada o está disponible? lastVerifiedProgressAt ¿Los resultados completados siguen en marcha? Esto es deliberadamente más pequeño que un rastro. El Documentación de seguimiento de SDK de OpenAI Agents describe generaciones, llamadas de funciones, barandillas, entregas y eventos personalizados. Estos registros ayudan a explicar la ejecución, pero no dicen cuándo una tarea en cola se convirtió en elegible o si se observó el resultado previsto. Añadir rastros detallados al libro mayor mediante un identificador de ejecución segura; no haga que la actividad de rastreo se interponga en el progreso de la cola. Utilice una orden de decisión que preserve la causa: 1. La prueba de elegibilidad y dependencia que falta es uncertain . 2. No hay tareas ejecutables más un contrato de arrendamiento de dependencia válido es waiting . 3. La edad ejecutable dentro del objetivo de inicio es healthy . 4. Una de las tareas más antiguas más allá de su presupuesto de entrega es poisoned head . 5. El trabajo corriente antiguo más los latidos cardíacos de los trabajadores obsoletos es worker unreachable . 6. Viejo trabajo ejecutable, todas las ranuras ocupadas, y el nuevo progreso verificado es capacity bound . 7. Trabajo corriente antiguo más un trabajador nuevo y un espacio libre es dispatcher stuck . El orden es importante. Si una tarea ya ha agotado su presupuesto de intento, la adición de trabajadores no es la primera reparación. Si no se puede llegar a ningún trabajador, es prematuro culpar al despachador. Si todas las ranuras están ocupadas y los resultados siguen llegando, el sistema es lento contra su objetivo pero no inmóvil. Reproduce siete estados de cola El artefacto que acompaña congela el tiempo de observación en 2026 07 26T04:50:00Z , establece una ventana de frescura de 120 segundos y un objetivo de inicio de 300 segundos, luego evalúa siete colas sintéticas. La carrera producida: dispatcher gap es el caso decisivo. Su tarea más antigua ha esperado 900 segundos, el latido cardíaco del trabajador es de sólo 20 segundos, y ambas ranuras son gratuitas. No ayudaría una mayor capacidad; se deben inspeccionar las pruebas de asignación o de enrutamiento. En contraste, all slots busy tiene una edad de ejecución de 840 segundos, no hay ranura libre, y un resultado verificado hace 80 segundos. Se limita la capacidad en el marco del objetivo de esta fijación. bounded dependency se hizo cola antes de cualquiera de los dos casos, sin embargo, es waiting : la aprobación tiene un propietario nombrado y una fecha límite futura, por lo que no hay reloj ejecutable para violar. silent worker mantiene el viejo trabajo listo separado del fallo de accesibilidad. poisoned oldest evita que una quinta entrega fallida desaparezca dentro de una cola de aspecto normal. missing eligibility se mantiene incierto. El experimento demuestra la regla de decisión, no la prevalencia. Un caso sintético por estado no puede establecer umbrales de producción, y no modela inversiones de prioridad, colas particionadas, sesgo del reloj o restricciones de afinidad de tareas. Edad de pareja con movimiento de capacidad y resultado La edad corriente sólo se hace accionable junto a la capacidad y el progreso. Una tarea antigua con cada espacio compatible ocupado sugiere una decisión de escala o de configuración de la carga de trabajo. La misma edad con un espacio abierto en el envío, en el enrutamiento, afinidad de tarea, o un contrato de arrendamiento perdido. Evite tres atajos tentadores: No promediar el hambre. Un retraso de inicio medio bajo puede coexistir con una tarea que nunca se ejecuta. Rastrear la edad más antigua y un percentil por clase de tareas. No mezcle trabajo bloqueado y ejecutable. Mantenga visible la edad de la dependencia, pero excluya de la meta inicial hasta que la dependencia se resuelva o su contrato de arrendamiento expire. No deducir el progreso de los contratos de arrendamiento o de las llamadas a herramientas. La capacidad se mueve realmente solo cuando cambia un artefacto específico de la tarea, una verificación de aceptación o un recibo de destino. Elige el objetivo inicial de la promesa del trabajo. Una tarea de codificación interactiva, un informe programado y una reconciliación nocturna no deben compartir 300 segundos porque lo hace el dispositivo. Medir el tiempo normal de elegibilidad para comenzar, establecer un objetivo revisable con un amortiguador y versionarlo. Partición por grupo de trabajadores o clases de tareas compatibles para que una cola no relacionada no pueda ocultar el hambre. Cuando pase la fecha límite de la dependencia, no lo prorrogue en silencio. Calcule la elegibilidad a partir de la evidencia que tiene y notifique al propietario nombrado. Cuando el latido cardíaco del trabajador está obsoleto, verifique la conectividad antes de volver a intentar trabajos que aún podrían estar funcionando en otro lugar. Cuando una tarea envenenada alcanza su presupuesto de entrega, la cuarentena o la solicitud de revisión en lugar de permitirle monopolizar el jefe de la cola. Mantenga el diagnóstico separado de la intervención La edad corriente le dice que una promesa operativa es tardía; los hechos unidos sugieren por qué. No autorizan una reparación automática. Un veredicto de dispatcher stuck puede preparar un chequeo de envío limitado. capacity bound podrá abrir una revisión de la capacidad. worker unreachable podrá solicitar una verificación de accesibilidad. Ninguno de esos estados por sí solo permite reiniciar un host, duplicar un efecto secundario, cambiar las credenciales o gastar más allá de un límite de reanálisis. Después de cualquier acción aprobada, se requieren nuevas pruebas: la tarea recibió un contrato de arrendamiento, se modificó una huella digital del progreso o se verificó de forma independiente el resultado esperado. Un comando que devuelve cero es actividad, no recuperación. Hay límites importantes. Las métricas de edad del proveedor pueden ser aproximadas. El sesgo del reloj puede crear edades negativas imposibles, así que compara el tiempo del coleccionista y el tiempo del productor antes de usar el resultado. Las colas de prioridad pueden legitimamente hacer que el trabajo de baja prioridad envejezca; exponer la política en lugar de llamarla saludable por accidente. Una tarea también puede mantener una ranura de aspecto libre a través de un contrato de arrendamiento no observado, por lo que la falta de datos de arrendamiento debería disminuir la confianza. La regla resuelta es estrecha: iniciar el reloj cuando el trabajo es realmente ejecutable, alertar sobre la tarea ejecutable más antigua contra un objetivo específico de la tarea, luego utilizar la frescura del trabajador, ranuras libres, presupuesto de nuevo, y el movimiento de resultados verificados para clasificar la causa. Sidewisp se encuentra actualmente en versión preliminar privada. Su sitio público y su biblioteca de artículos están en vivo, pero la colección de agentes de producción salud, adaptadores de tiempo de ejecución y recuperación generalmente no se envían. El Sidewisp está destinado a funcionar junto con los tiempos de ejecución existentes, no a sustituirlos ni a actuar como un fijaje autónomo. Si la evidencia de edad ejecutiva facilitaría el juicio de las operaciones de sus agentes, puede unirse al acceso temprano mientras trata el producto como una vista previa en lugar de un monitoreo desplegado.