Hermes エージェントが非同期サブエージェントを追加、親チャットのブロックを解消
本文の状態
日本語全文を表示中
詳細モードで約7分の本文を読めます。
同じ出来事の情報源
この情報源を基点に整理
MarkTechPost
Nous Research はオープンソースの個人エージェント「Hermes Agent」を更新し、委任ツールで子エージェント(サブエージェント)を非同期実行可能にした。これにより、委任された作業が親チャットの実行をブロック不再するようになった。
Source Article
元記事を日本語で読む
本文に関係しない購読案内、埋め込み通知、サイト内プロモーションは除いています。
Nous Research は Hermes Agent に変更を適用しました。その委任ツールは、サブエージェントを非同期で実行できるようになりました。発表によると、委任された作業によって親チャットがブロックされることはなくなりました。
Hermes Agent は Nous Research が提供するオープンソースのパーソナルエージェントです。親エージェントは、作業を広げるために「サブエージェント」と呼ばれる子エージェントを生成できます。これまで、この委任機能によりユーザーは待たされることがありました。
このアップデートは、Nous Research と共同創設者の Teknium によって X で発表されました。既存のユーザーは hermes update を実行することでこれを有効にできます。
Hermes Agent は非同期サブエージェントをサポートしました!
あなたのエージェントがサブエージェントを生成して作業を広げたり実行したりするために使用する既存の委任ツールは、もはやチャットをブロックしません!
利用するには hermes update を実行し、お楽しみください! pic.twitter.com/6hN94wpRLW
— Teknium
image (@Teknium) 2026 年 6 月 15 日
サブエージェントとは何か
委任ツールは delegate_task です。これは、孤立した子エージェントであるサブエージェントを生成します。各子エージェントには独自の会話、ターミナルセッション、およびツールセットが用意されます。
最終的なサマリーのみが親に返されます。親のコンテキストは、子の中間的なツール呼び出しや推論を一切見ることができません。これにより、親のコンテキストウィンドウを小さく保つことができます。
隔離は厳格です。サブエージェントは完全に新しい会話から開始します。親の履歴に関する知識は一切持ちません。親はすべての情報をゴールフィールドとコンテキストフィールドを通じて渡す必要があります。
サブエージェントは、親エージェントの API キー、プロバイダー設定、および認証情報プールを継承します。この認証情報プールにより、レート制限時にキーのローテーションが可能になります。config.yaml を通じて、サブエージェントをより安価なモデルにルーティングすることもできます。
何がブロックされていたのか、そして何が変わったのか
ソースコードでは、delegate_task は同期処理です。親プロセスはツール呼び出し内でブロックされ、すべての子プロセスが完了するまで待機します。その間、チャットはフリーズした状態になります。
この設計により、いくつかのワークフローが阻害されていました。長時間実行されるエージェントを開始しても、その後に作業を続けることができませんでした。また、実行中のタスクを確認したり、飛行中(実行中)に操作を修正したりすることもできませんでした。
Nous は、非ブロッキングパスをオープンソースで実装しました。Issue #5586 により、async_delegation ツールセットが追加されました。これはバックグラウンドエージェントを起動し、即座に task_id を返すものです。発表文書により、非同期サブエージェントが利用可能になったことが確認されています。
非同期ツールは、ライフサイクル全体をカバーしています:
delegate_task_async — バックグラウンドエージェントの起動と task_id の返却
check_task — 非ブロッキングなステータス確認および直近の出力取得
steer_task — 実行中のタスクへのメッセージ注入
collect_task — 完了まで待機し、その後完全な結果を返却
cancel_task — 実行中のタスクの停止
list_tasks — セッション内のすべての非同期タスクの一覧表示
バックグラウンドエージェントは、プロセス内スレッドとして実行されます。delegate_task と同じ AIAgent マシンリー、認証情報、およびツールセットを再利用します。
同期処理と非同期処理の比較
次元 | 同期処理 (delegate_task) | 非同期処理 (async_delegation, #5586)
---|---|---
親チャット | すべての子が完了するまでブロックされる | task_id を即座に返却; チャットは自由な状態のまま
実行中の制御:なし — タスクごとにステータスを確認、誘導、収集、またはキャンセルするまで待機
実行:親プロセスはツール呼び出し内で待機
コンテキストコスト:最終サマリーのみが返される
分離:子ごとの新規会話
適した用途:即座に扇状に展開し、結果を待つ場合
耐久性:ターン間での耐久性なし(単一セッション;ACP (#4949) がターン跨ぎに対応予定)
リサイズリスナー:
============================================================ -->
コード:子プロセスの起動と誘導
同期バッチは、子プロセスを並列に起動し、すべての完了を待機します。並行処理数は、デフォルト値が3である delegate.max_concurrent_children によって制限されます。
コピー コード コピー済み別のブラウザを使用する
同期:親プロセスはすべての子プロセスの完了を待つ
delegate_task(tasks=[
{"goal": "トピック A の調査", "toolsets": ["web"]},
{"goal": "ビルドの修正", "toolsets": ["terminal", "file"]},
])
#5586 番のイシューから提供される非同期ツールセットは、即座に制御を返します。
コピー コード コピー済み別のブラウザを使用する
非同期 (async_delegation ツールセット、#5586 番のイシュー)
t1 = delegate_task_async(goal="トピック A の調査")
t2 = delegate_task_async(goal="トピック B の調査")
check_task(t1["task_id"]) # status, without blocking
steer_task(t2["task_id"], "Use post-2024 sources only")
results = [collect_task(t["task_id"]) for t in (t1, t2)]
使用例と具体例
作業中の長期的なリサーチ。市場スキャン用のサブエージェントを開始し、メインのチャットでドラフト作成を続けながら実行させます。
並列的なアプローチの評価。3 つの検索バックエンドを検証するために 3 つのサブエージェントを起動します。それぞれが独立して動作するため、評価結果が相互に干渉することはありません。
背景でのコーディングタスク。複数ファイルのリファクタリングをサブエージェントに委任し、その間に他のファイルを自分でレビューします。
実行状況の監視。TUI には /agents オーバーレイ(エイリアスとして /tasks)が搭載されており、実行中および完了したサブエージェントのライブツリーを表示します。
重要なポイント
Hermes Agent は非同期サブエージェントをサポートするようになり、委任ツールはもともと親チャットをブロックしなくなりました。
ブロッキングしない委任機能は、issue #5586 で追跡されている async_delegation ツールセットを通じて提供されています。
非同期ツールは、タスクのライフサイクル全体(spawn, check, steer, collect, cancel, list)をカバーしています。
サブエージェントは独立して動作し、最終的なサマリーのみが返されるため、親コンテキストは小さく保たれます。
これはプロセス内・単一セッションで実行され、既存のユーザーは hermes update コマンドでこれを有効化できます。
出典
Teknium on X — 非同期サブエージェントの発表:https://x.com/Teknium/status/2066619275989991861
Nous Research on X: https://x.com/NousResearch/status/2066619860852134384
Hermes Agent ドキュメント、サブエージェント委任:https://hermes-agent.nousresearch.com/docs/user-guide/features/delegation
Hermes Agent のドキュメント、委任と並列作業:https://hermes-agent.nousresearch.com/docs/guides/delegation-patterns
GitHub イシュー #5586、ブロッキングされないバックグラウンドエージェントの委任(async_delegation ツールセット):https://github.com/NousResearch/hermes-agent/issues/5586
GitHub イシュー #4949、永続的な ACP バックグラウンドサブエージェント(#5586 で言及)
NousResearch/hermes-agent リポジトリ:https://github.com/NousResearch/hermes-agent
「Hermes Agent が非同期サブエージェントを追加し、委任された作業が親チャットをブロック不再」という記事は、MarkTechPost によって最初に公開されました。
原文を表示
Nous Research has shipped a change to Hermes Agent. Its delegate tool can now run subagents asynchronously. Per the announcement, delegated work no longer blocks the parent chat.
Hermes Agent is an open-source personal agent from Nous Research. A parent agent can spawn child agents, called subagents, to fan out work. Until now, that delegation made you wait.
The update was announced on X by Nous Research and co-founder Teknium. Existing users enable it by running hermes update.
Hermes Agent now supports asyncronous subagents!
The existing delegate tool, which your agent uses to spawn subagents to fan out and do work, no longer blocks your chat!
To access now, hermes update, and enjoy! pic.twitter.com/6hN94wpRLW
— Teknium
image (@Teknium) June 15, 2026
What are Subagents
The delegation tool is delegate_task. It spawns a subagent, which is an isolated child agent. Each child gets its own conversation, terminal session, and toolset.
Only the final summary returns to the parent. The parent’s context never sees the child’s intermediate tool calls or reasoning. That keeps the parent’s context window small.
Isolation is strict. Subagents start with a completely fresh conversation. They have no knowledge of the parent’s history. The parent must pass everything through the goal and context fields.
Subagents inherit the parent’s API key, provider configuration, and credential pool. That credential pool enables key rotation on rate limits. You can route subagents to a cheaper model through config.yaml.
What Was Blocking, and What Changed
In source, delegate_task is synchronous. The parent blocks inside the tool call until every child completes. Your chat stays frozen during that wait.
That design prevented several workflows. You could not start a long agent and keep working. You could not check in on a run or steer it mid-flight.
Nous built the non-blocking path in the open. Issue #5586 adds an async_delegation toolset. It spawns a background agent and returns a task_id immediately. The announcement confirms async subagents are now available.
The async tools cover the full lifecycle:
delegate_task_async — spawn a background agent, return a task_id
check_task — non-blocking status plus recent output
steer_task — inject a message into a running task
collect_task — block until done, then return the full result
cancel_task — stop a running task
list_tasks — all async tasks in the session
Background agents run as in-process threads. They reuse the same AIAgent machinery, credentials, and toolsets as delegate_task.
Synchronous vs Asynchronous Delegation
DimensionSynchronous delegate_taskAsynchronous delegation (async_delegation, #5586)
Parent chatBlocks until all children finishReturns a task_id immediately; chat stays free
Control while runningNone — you waitCheck status, steer, collect, or cancel per task
ExecutionParent waits inside the tool callBackground in-process threads
Context costOnly the final summary returnsOnly the final summary returns
IsolationFresh conversation per childFresh conversation per child
Best forQuick fan-out you wait onLong tasks you run alongside the chat
DurabilityNot durable across turnsSingle-session; ACP (#4949) targets cross-turn
resize listener:
============================================================ -->
Code: Spawning and Steering
A synchronous batch spawns children in parallel and waits. Concurrency is capped by delegation.max_concurrent_children, which defaults to 3.
Copy CodeCopiedUse a different Browser
Synchronous: the parent waits for all children
delegate_task(tasks=[
{"goal": "Research topic A", "toolsets": ["web"]},
{"goal": "Fix the build", "toolsets": ["terminal", "file"]},
])
The async toolset from issue #5586 returns control immediately.
Copy CodeCopiedUse a different Browser
Asynchronous (async_delegation toolset, issue #5586)
t1 = delegate_task_async(goal="Research topic A")
t2 = delegate_task_async(goal="Research topic B")
check_task(t1["task_id"]) # status, without blocking
steer_task(t2["task_id"], "Use post-2024 sources only")
results = [collect_task(t["task_id"]) for t in (t1, t2)]
Use Cases With Examples
Long research alongside work. Start a subagent on a market scan. Keep drafting in the main chat while it runs.
Parallel approach evaluation. Spawn three subagents to test three search backends. Each stays isolated, so evaluations do not cross-contaminate.
Background coding tasks. Delegate a multi-file refactor to a subagent. Review other files yourself while it works.
Monitoring runs. The TUI ships an /agents overlay, aliased /tasks. It shows a live tree of running and finished subagents.
Key Takeaways
Hermes Agent now supports asynchronous subagents; the delegate tool no longer blocks the parent chat.
Non-blocking delegation ships via the async_delegation toolset, tracked in issue #5586.
Async tools cover the lifecycle: spawn, check, steer, collect, cancel, and list tasks.
Subagents stay isolated; only the final summary returns, keeping the parent context small.
It runs in-process and single-session; existing users enable it with hermes update.
Sources
Teknium on X — announcement of asynchronous subagents: https://x.com/Teknium/status/2066619275989991861
Nous Research on X: https://x.com/NousResearch/status/2066619860852134384
Hermes Agent docs, Subagent Delegation: https://hermes-agent.nousresearch.com/docs/user-guide/features/delegation
Hermes Agent docs, Delegation & Parallel Work: https://hermes-agent.nousresearch.com/docs/guides/delegation-patterns
GitHub issue #5586, non-blocking background agent delegation (async_delegation toolset): https://github.com/NousResearch/hermes-agent/issues/5586
GitHub issue #4949, persistent ACP background subagents (referenced in #5586)
NousResearch/hermes-agent repository: https://github.com/NousResearch/hermes-agent
The post Hermes Agent Adds Asynchronous Subagents, So Delegated Work No Longer Blocks the Parent Chat appeared first on MarkTechPost.
今日のまとめ
AIデイリーブリーフで今日の重要ニュースをまとめ読み