Technology & AI

Hermes Agent Adds Asynchronous Subagents, So the Delegated Task No Longer Blocks the Parent Dialog

Nous Research posted a change to Hermes Agent. Its agent tool can now use subagents equally. According to the announcement, the submitted function no longer blocks the parent conversation.

Hermes Agent is an open source personal agent from Nous Research. A parent agent can spawn child agents, called subagents, to carry out work. So far, that team has kept you waiting.

The update was announced on X by Nous Research and co-founder Teknium. Existing users activate it by activating it hermes update.

What are Subagents

The shipping tool is delegate_task. Introduces a subagent, which is a child agent on its own. Each child gets their own chat, terminal session, and tool set.

Only the last snapshot returns to the parent. The parent context never sees intermediate tool calls or child logic. That keeps the parent context window small.

Isolation is strong. Subagents start with a completely new conversation. They have no information about the parents’ history. The parent must pass on everything goal again context fields.

Subagents inherit the parent’s API key, provider configuration, and authentication pool. That validation pool enables core rotation at rate limits. You can move subagents to a cheaper model by using config.yaml.

What Stopped It, and What Changed

At the source, delegate_task it is compatible. The parent blocks within the tool call until all children have finished. Your conversation stays strong during that wait.

That design prevented several workflows. You could not start a long agent and continue to work. You couldn’t check in when running or direct it mid-flight.

Nous built an unobstructed path in the open. Issue #5586 adds i async_delegation a set of tools. It exposes the background agent and returns a task_id immediately. The declaration confirms that async subagents are now available.

Async tools cover the full lifecycle:

  • delegate_task_async β€” reveal background agent, return a task_id
  • check_task β€” non-blocking status and recent releases
  • steer_task β€” submit a report to an active task
  • collect_task β€” block until done, then return the full result
  • cancel_task β€” stop the active task
  • list_tasks – all synchronized operations in the session

Background agents act as threads within a process. They also use the same AIAgent machines, guarantees, and tools as delegate_task.

Synchronous vs Asynchronous Delegation

SizeIt is synchronized delegate_taskConsensus messengers (async_delegation#5586)
Parent discussionBlocks until all children finishReturns a task_id immediately; the conversation is always free
Control while runningNothing – waitCheck the status, direct, collect, or cancel for each job
The executionThe parent waits inside the tool callThreads behind the process
Content costsOnly the last snapshot is returnedOnly the last snapshot is returned
IsolationA new discussion for each childA new discussion for each child
It’s very goodA quick fan-out awaitsThe long tasks you do next to the chat
StrengthIt is not rigid in all curvesOne session; ACP (#4949) directs conversion




Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button