2026-08-01T20:01:32.377Z
Supervisión de agentes para la cancelación: Captura del trabajo infantil huérfano
Construye un recibo de cancelación que demuestre que los agentes infantiles y el trabajo externo realmente se detuvieron uniendo linaje, reconocimientos, plazos de gracia y evidencia de efecto.
Una solicitud de cancelación no es prueba de que un agente de AI se detuvo. Tratar la cancelación como verificada solo cuando cada descendiente conocido haya completado antes de la solicitud o haya reconocido la parada, no aparezca ningún efecto secundario monitoreado después de un plazo de gracia limitado, y cualquier trabajo externo tenga un estado reconciliado. Si un niño sigue llamando a herramientas, escribiendo artefactos o gastando fichas después de esa fecha límite, usted está huérfano de trabajo. El primitivo práctico de monitoreo de agentes es un recibo de cancelación : un registro que se une a la solicitud de los padres, el linaje descendiente, los reconocimientos, la ventana de gracia, el último efecto observado, la cobertura y el veredicto final. Resulta que hemos enviado cancelación en una reclamación inspectable que puede ser stopped , orphaned , o uncertain . La cancelación es un protocolo, no un botón. Las API de cancelación generalmente comienzan comunicando intenciones. Node.js describe a AbortController como una utilidad que señala la cancelación en API basadas en Promise seleccionadas; su AbortSignal notifica a los observadores después de que se llame a abort() . La bandera abortada demuestra que el controlador disparó. Si cada operación en aguas subterráneas observó la señal, dejó de crear efectos y reconcilió el trabajo remoto es una pregunta separada. La corriente Documentación de tareas asyncio de Python hace que otro límite sea visible. La cancelación de una tarea eleva la CancelledError en la próxima oportunidad, y la limpieza rutinaria pertenece a la try/finally . La misma documentación dice que TaskGroup cancela las tareas restantes después de un fallo de no cancelación y espera las tareas agrupadas cuando el contexto salga. La concurrencia estructurada da a los trabajos relacionados una vida útil propia; las tareas separadas fire and forget requieren sus propias referencias y disciplina del ciclo de vida. Incluso un proceso local terminado no retira un correo electrónico, elimina un objeto cargado, cancela un lote del lado del proveedor o detiene a un niño que corre en otro host. Kubernetes también documenta a Gracioso término de Pod como un ciclo de vida en etapas con un período de gracia, y advierte que una fase Pod es solo un resumen de alto nivel en lugar de una máquina de estado integral. La analogía es limitada, pero útil: un comando del ciclo de vida y un efecto externo final son pruebas diferentes. Para las operaciones de los agentes, rastrear tres momentos: 1. Solicitado: la empresa matriz o el operador emitió la cancelación con una razón y autoridad. 2. AReconoció: cada descendiente accesible observó la solicitud y entró en el cierre. 3. Verificado: el plazo de gracia pasó sin un nuevo efecto supervisado, y se reconcilió el trabajo externo. Saltar el tercer momento crea una falsa recuperación. El padre se ve tranquilo mientras un niño separado continúa el comportamiento que pretendías dejar de hacer. Construir un recibo de cancelación en torno al linaje y los efectos No puedes auditar descendientes que no puedas nombrar. Dar a cada niño un identificador de ejecución estable y conservar su identificador de origen o raíz a través de las entregas, colas y límites del anfitrión. Las identificaciones de rastreo son útiles para el transporte, pero el contrato de seguimiento también requiere la identidad operativa de los puestos de trabajo de los proveedores y los efectos secundarios. Un recibo mínimo puede utilizar estos campos: El campo Pruebas requeridas rootRunId El alcance de la cancelación de los padres descendantRunIds Todos los niños conocidos en el momento de la solicitud, más los niños descubiertos durante el cierre cancelRequestedAt Fuente timestamp, razón, actor y referencia de autoridad cancelAckAt Reconocimiento por descendiente, no un booleano agregado graceDeadlineAt El último tiempo aceptable para los efectos del cierre lastEffectAt Última llamada de herramienta, mutación de artefacto, reclamo de cola, llamada de modelo o efecto específico de tarea effectCoverage complete , partial o unavailable con frescura de origen externalJobState Recibo del proveedor, estado de cancelación o desconocido explícito verdict stopped , orphaned o uncertain , más las pruebas decisivas No almacenar las instrucciones o las cargas útiles de herramientas primas sólo para probar el linaje. Las identidades de ejecución opacas, las identidades de trabajo del proveedor, las clases de operación, los sellos de tiempo y los digestos de artefactos canónicos suelen ser suficientes. Reescribir secretos sobre el anfitrión. Utilice un orden de decisión conservador: A nivel familiar, cualquier descendiente huérfano hace la cancelación orphaned . De lo contrario, cualquier descendiente incierto lo convierte en uncertain . Sólo una familia completamente detenida gana stopped . La cobertura precede a la seguridad. Un trabajo de proveedor que aceptó una solicitud de cancelación pero no expone ninguna señal de estado o efecto permanece incierto; una observación faltante nunca debe convertirse en nada ocurrió. Prueba el recibo contra cinco familias de cancelación El artefacto que acompaña evalúa cinco familias sintéticas de padres hijos que contienen seis descendientes. Cada familia tiene un veredicto anticipado y una ventana de gracia de cinco segundos. Cinco segundos es un valor fijo, no una recomendación de producción. El informe ejecutable reprodujo todos los veredictos esperados: clean lineage contiene dos descendientes. Se reconocen en uno o dos segundos, y ninguno produce un efecto monitoreado después del plazo de cinco segundos. already finished no necesita un reconocimiento porque su hijo completó antes de que se solicitara la cancelación. Ambas familias son stopped . post deadline effect es el caso adversario. Su hijo reconoce en un segundo, pero aparece otro efecto herramienta nueve segundos después de la solicitudcuatro segundos después de la fecha límite. Un monitor que registra sólo cancelAckAt reportaría éxito. El recibo devuelve orphaned . missing ack no tiene ni un canal de reconocimiento ni un canal de efecto silencioso: su trabajador independiente produce un efecto después del plazo. También es orphaned . external unknown reconoce rápidamente, pero la cobertura de efectos del proveedor externo no está disponible, por lo que el veredicto sigue siendo uncertain . El accesorio demuestra que la regla distingue esos casos artesanales. No estima la frecuencia con que ocurre el trabajo huérfano en la producción ni valida un período de gracia universal. Instrumento de los límites donde ocurren los efectos Comience con vidas estructuradas dentro de un proceso. Prefiere un grupo de tareas o un alcance equivalente que posea descendientes, propaga la cancelación y espera el cierre. Pasar una señal de cancelación en las solicitudes de modelo, llamadas a herramientas, colas y subprocesos locales cuando la API lo admite. Un niño que engendra otro niño debe registrarlo con el mismo linaje raíz antes de comenzar el trabajo. Luego los efectos de inventario que pueden sobrevivir al control local: los lotes del proveedor y los trabajos de fondo; mensajes en fila ya reclamados por un trabajador; los subprocesos y las sesiones remotas; cargas, compromisos, mutaciones de bases de datos y mensajes públicos; las llamadas de modelo o de herramienta medidas ya aceptadas antes de la salida. Para cada clase de efectos, defina la condición de parada observable más fuerte. Un subproceso local puede exponer el tiempo de salida y la identidad de PID. Un trabajo de proveedor necesita su propio recibo de cancelación y estado del proveedor de terminal. Una subida puede ser irreversible después de cometer; el monitoreo puede verificar que no apareció una versión posterior del objeto, pero no puede pretender que la primera subida se haya desactivado. Elige la ventana de gracia del comportamiento de cierre real. Medir la latencia de reconocimiento y la latencia de efecto por separado, luego agregar desviación del reloj explícita y amortiguadores de transporte. Una herramienta de red puede reconocer inmediatamente mientras un servidor completa una solicitud ya aceptada. Ese intervalo pertenece al recibo. Mantenga el tiempo del evento y el tiempo de ingestión. Un paquete de telemetría que llega tarde puede parecer un trabajo post cancelación incluso cuando su sello de tiempo de origen es anterior a la fecha límite. Clasificar utilizando el sello de tiempo de la fuente de confianza cuando esté disponible, mantener el retraso de ingestión y regresar incierto cuando los relojes o los pedidos no puedan ser reconciliados. Por último, prueba los caminos infelices: el controlador nunca lee la señal de cancelación; un coroutine se encuentra cancelado y continúa trabajando; falta un niño en el linaje raíz; la tarea local se detiene, pero continúa el trabajo de un proveedor remoto; un evento tardío llega después de la ventana de seguimiento; la API de estado externo no está disponible. Repite esos dispositivos antes de adjuntar alerta o acciones de recuperación al veredicto. Responder al trabajo huérfano sin ampliar la autoridad Un veredicto de orphaned es evidencia para la investigación, no un permiso general para matar procesos o efectos invertidos. Muestre al descendiente, el último efecto, la autoridad de cancelación, la gracia pasada, y la acción más segura y limitada. Un niño local reversible puede ser elegible para un intento de parada aprobado. Un trabajo de proveedor remoto necesita su operación de cancelación soportada. Un mensaje público, una escritura destructiva o un cambio de credenciales pueden requerir a una persona y una acción compensatoria. No elimines el problema porque un segundo comando de cancelación regresó con éxito. Solo se limpie después de que el descendiente deje de producir el efecto de control y se reconcilia el estado externo pertinente. Si la cobertura sigue siendo parcial, mantenga el veredicto incierto y diga qué señal falta. El método también tiene límites. El linaje puede ser incompleto, los identificadores pueden ser reutilizados incorrectamente, los relojes pueden deslizarse, y algunos efectos secundarios no tienen estado consultable. Una ventana tranquila sólo cubre los efectos que usted instrumentó. No puede probar la ausencia de un niño desconocido. La regla de funcionamiento es estrecha: enviar cancelación a través del linaje de propiedad, recoger el reconocimiento por hijo, observar los efectos específicos de la tarea a través de una ventana de gracia limitada, reconciliar trabajos externos y preservar lo desconocido. Eso es suficiente para atrapar la parada falsa más peligrosa: un padre tranquilo con un niño que todavía actúa. 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 como un sistema de reposición de los tiempos de ejecución o de fijación autónoma. Si la integridad de la cancelación es una señal de salud que necesita, puede unirse al acceso temprano sin tratar la vista previa como una reclamación de monitoreo desplegada.