Add new ToolKind: SubAgent #690
Replies: 2 comments
-
|
Is there a plan for this? [22:12:23.736] ← IN |
Beta Was this translation helpful? Give feedback.
-
|
I'm thinking about this proposal. Currently in a local draft state, will do a draft pull request this week Elevator pitch
ACP currently has sessions, tool calls, and session lifecycle work that are close to what subagents need, but it does not define a standard way to:
This RFD proposes:
Subagents are modeled as child ACP sessions. This proposal standardizes runtime interoperability only. It does not define an on-disk subagent manifest format, directory layout, or vendor-specific prompt syntax. Status quo
ACP already provides a solid runtime model for sessions, prompt turns, tool calls, streamed session updates, and session enumeration. That is enough to represent much of subagent execution, but the protocol still lacks a typed subagent runtime surface. Without standardized fields, implementations must surface subagent information through implementation-specific
Existing implementations already converge on the same broad runtime model: a delegated specialist run has its own context, its own execution history, and often its own configurable instructions or tool restrictions. What differs across implementations is mostly authoring format, storage, and product-specific UI. ACP should standardize the runtime surface that interoperable clients need, while remaining agnostic to subagent definition files, naming conventions, and product-specific authoring workflows. What we propose to do about it
Standardize a session-scoped subagent catalog, per-prompt delegation hints, and explicit linkage between a subagent tool call and a child session. The proposal is scoped to runtime interoperability only:
Agents advertise support with Shiny future
Clients can render delegated specialist work in a standard way, expose a portable “choose subagent” UX when supported, and manage delegated runs through the existing ACP session lifecycle. Agents can continue to implement local, remote, built-in, project-defined, or otherwise custom subagent systems, while exposing a single interoperable runtime surface to ACP clients. Security and permissions remain explicit. A child subagent session does not create a new privilege model; approvals, sandboxing, and filesystem or tool access continue to be governed by the existing implementation. Implementation details and plan
Goals / Non-goalsGoals
Non-goals
Schema changesThe following optional capability is added to The following optional property is added to The following The following optional property is added to The following The following optional property is added to The following optional properties are added to Clients MUST send Clients MUST request Capability advertisement exampleField definitions
|
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Please support the new SubAgent tool kind and let the UI to render the parallel subagent tool calls in isolation or in hierarchical UI.
Beta Was this translation helpful? Give feedback.
All reactions