El agente Hermes agrega subagentes asincrónicos, por lo que el trabajo delegado ya no bloquea el chat principal

Nous Research ha enviado un cambio al Agente Hermes. Su herramienta de delegado ahora puede ejecutar subagentes de forma asincrónica. Según el anuncio, el trabajo delegado ya no bloquea el chat principal.

Hermes Agent es un agente personal de código abierto de Nous Research. Un agente principal puede generar agentes secundarios, llamados subagentes, para distribuir el trabajo. Hasta ahora esa delegación te hizo esperar.

La actualización fue anunciada en X por Nous Research y el cofundador Teknium. Los usuarios existentes lo habilitan ejecutando la actualización de Hermes.

¿Qué son los subagentes?

La herramienta de delegación es delegar_task. Genera un subagente, que es un agente secundario aislado. Cada niño tiene su propia conversación, sesión terminal y conjunto de herramientas.

Sólo el resumen final regresa a los padres. El contexto de los padres nunca ve las llamadas o el razonamiento de las herramientas intermedias del niño. Eso mantiene pequeña la ventana de contexto de los padres.

El aislamiento es estricto. Los subagentes comienzan con una conversación completamente nueva. No tienen conocimiento de la historia de los padres. El padre debe pasar todo a través de los campos de objetivo y contexto.

Los subagentes heredan la clave API, la configuración del proveedor y el grupo de credenciales de los padres. Ese grupo de credenciales permite la rotación de claves en los límites de tarifas. Puede enrutar subagentes a un modelo más económico a través de config.yaml.

Qué estaba bloqueando y qué cambió

En el código fuente, delegado_task es sincrónico. El padre bloquea dentro de la llamada a la herramienta hasta que todos los hijos la completen. Tu chat permanece congelado durante esa espera.

Ese diseño impidió varios flujos de trabajo. No se podía iniciar un agente durante mucho tiempo y seguir trabajando. No podías registrarte mientras corrías ni dirigirlo en pleno vuelo.

Nous construyó el camino sin bloqueos al aire libre. El número 5586 agrega un conjunto de herramientas async_delegation. Genera un agente en segundo plano y devuelve un task_id inmediatamente. El anuncio confirma que los subagentes asíncronos ya están disponibles.

Las herramientas asíncronas cubren el ciclo de vida completo:

delegado_task_async: genera un agente en segundo plano, devuelve un task_id check_task: estado sin bloqueo más salida reciente steer_task: inyecta un mensaje en una tarea en ejecución Collect_task: bloquea hasta que termine, luego devuelve el resultado completo cancel_task: detiene una tarea en ejecución list_tasks: todas las tareas asíncronas en la sesión

Los agentes en segundo plano se ejecutan como subprocesos en proceso. Reutilizan la misma maquinaria, credenciales y conjuntos de herramientas de AIAgent que delegar_task.

Delegación síncrona versus asincrónica

DimensiónDelegue_task sincrónicoDelegación asincrónica (async_delegation, #5586)Chat de padresBloquea hasta que todos los niños terminenDevuelve un task_id inmediatamente; el chat permanece libreControl mientras se ejecutaNinguno: usted esperaVerifique el estado, dirija, recopile o cancele por tareaEjecuciónEl padre espera dentro de la llamada de la herramientaSubprocesos en proceso en segundo planoCosto del contextoSolo regresa el resumen finalSolo regresa el resumen finalAislamientoConversación nueva por niñoConversación nueva por niñoMejor paraDespliegue rápido que esperasTareas largas que ejecutas junto con el chatDurabilidadNo es duradero entre turnosSesión única; ACP (#4949) apunta a giro cruzado