Files
deepseek-harness/packages/subagent/README.zh.md
2026-08-05 06:12:42 +08:00

3.5 KiB
Raw Blame History

subagent/subagent 能力家族

English | 中文

subagent子 agentseam 允许 agent智能体把工作委派给子 agent。与 bashllm 能力家族一样,这也是一种能力 seam能力 seam),但有一个关键差异:多个提供方实现在同一上下文中共存,并按名称注册,而不是采用 bash 的单实现形态。该注册表仿照大语言模型LLM适配器注册表。

package 角色 ctx 键
subagent/ Subagent 服务:具名提供方注册表、词汇、持久化描述符与可继续子 agent 编排 ctx.subagents
subagent-inprocess/ 共享进程内运行驱动器(不含提供方;每次运行使用一个清理 effect
subagent-spawn/ 进程内后端:支持冷恢复的全新子 agent (注册到 ctx.subagents
subagent-fork/ 进程内后端:以父 agent 已完成轮次的前缀作为初始内容、支持冷恢复的子 agent (注册到 ctx.subagents
subagent-acp/ 进程外后端:在 spawn 的子进程中运行并通过 ACPAgent Client Protocol驱动的一次性子 agent (注册到 ctx.subagents
subagent-codex/ 进程外后端:一个真实的 Codex app-server 进程,包含一个临时 thread 和一个轮次 (注册到 ctx.subagents
subagent-dsh-sdk/ 进程外后端:在 spawn 的子进程中运行的子 harness 运行时,经 TypeScript SDK 客户端走 stdio JSON-RPC 驱动 (注册到 ctx.subagents
tool-subagent/ 面向模型的 subagent 委派工具,基于 ctx.subagents (注册到 ctx.tools
tool-subagent-control/ 基于 ctx.subagents、可选且全局名称唯一的 send_messagelist_agents 工具 (注册到 ctx.tools
tool-subagent-report/ 子级作用域的 report 返回通道,用于可继续的进程内子级 (注册到每个子级作用域)

接口和继续执行编排位于 subagent/subagent/。一次性提供方 start 分发不依赖持久化;内部继续执行管理器把每个持久化可继续子 agent 作为一个 Session 加至多一个进程内 Activation 来拥有,不绑定任何 Task且只在 Agent 服务存在时存在,并按每项继续执行操作解析持久化。进程内 subagent-spawn / subagent-fork 后端共享 subagent-inprocess 驱动器(一个自身不含提供方的库:两者都依赖它,彼此不依赖)。进程外 subagent-acp / subagent-codex 后端则经由 subprocess/ seam spawn 其子进程,该 seam 拥有凭据清除、终止升级和整棵进程树的退出观测;subagent-dsh-sdk 则将进程创建和拆卸委托给拥有自身传输的 TypeScript SDK 客户端,同时复用该 seam 的凭据清除机制。测试只用包内 fixture测试前置数据替换外部或非确定性的产品边界。

设计理由见 .agents/notes/implemented/feature/2026-06-21-subagent-capability-seam.md.agents/notes/implemented/feature/2026-07-21-continuable-background-subagents.md.agents/notes/implemented/simplification/2026-07-26-merge-subagent-control-service.md