Hermes Agent 新增异步子代理,委托任务不再阻塞主对话
Nous Research 为开源个人代理 Hermes Agent 推出异步子代理功能,委托任务不再阻塞主对话。本文详解 async_delegation 工具集、子代理隔离机制及同步/异步对比,并分析对中文开发者的实际意义。
一句话看懂
Nous Research 为 Hermes Agent 新增异步子代理,委托任务不再阻塞主对话,用户可同时进行多项任务。
详细发生了什么
Nous Research 宣布其开源个人代理 Hermes Agent 的 delegate 工具现在支持异步运行子代理。此前,父代理通过 delegate_task 生成子代理后必须等待所有子任务完成,主对话会冻结。新功能通过 issue #5586 引入的 async_delegation 工具集实现,包括 delegate_task_async(立即返回 task_id)、check_task(非阻塞状态查询)、steer_task(向运行中的任务注入消息)、collect_task(阻塞直到完成并返回结果)、cancel_task 和 list_tasks。子代理完全隔离,拥有独立的对话、终端会话和工具集,仅将最终摘要返回给父代理,保持父代理 context window 小巧。异步子代理作为进程内线程运行,复用相同的 AIAgent 机制、凭证和工具集。现有用户通过 hermes update 启用。
中文圈视角
对中文开发者而言,Hermes Agent 的异步子代理功能直接解决了多任务并行时的效率痛点。例如,在编写代码时,可以同时让子代理进行市场调研或文档搜索,主对话不受影响。不过,Hermes Agent 目前需通过 GitHub 安装,对国内用户可能面临网络访问问题。国产替代方案如 Dify 或 FastGPT 也支持类似的工作流编排,但 Hermes Agent 的子代理隔离机制更严格,适合需要独立环境的任务(如多模型对比测试)。此外,异步子代理的 steer_task 功能允许在任务运行中动态调整指令,这在中文场景的自动化报告生成或批量数据处理中非常实用。值得注意的是,该功能目前为单会话设计,跨会话持久化需等待 ACP(issue #4949),中文用户可关注后续进展。
几条值得记住的细节
- 异步子代理通过
delegate_task_async生成,立即返回 task_id,主对话不阻塞。 - 子代理完全隔离,父代理 context 仅接收最终摘要,避免窗口膨胀。
- 并发子代理数量上限默认 3,可通过
delegation.max_concurrent_children配置。 - 子代理继承父代理的 API key 和 provider 配置,但可通过 config.yaml 路由到更便宜的模型。
- 终端 TUI 提供
/agents或/tasks覆盖层,实时查看运行和完成的子代理树。
一句话总结
Hermes Agent 的异步子代理让你在等待长任务时继续工作,大幅提升多任务并行效率。