Skip to main content

Module delegate

Module delegate 

Source
Expand description

Model-driven, transport-agnostic agent delegation. The default path for autonomous agent-to-agent collaboration. See the crate-level “Two paths for agent-to-agent delegation” section. Agent delegation primitives — the default path for agent-to-agent collaboration.

A delegate is another agent-shaped capability exposed as a normal Tool. The parent agent’s model still decides when to call it; the runtime merely provides an implementation. This keeps delegation agentic while letting hosts run child agents in-process when that is cheaper than MCP or another remote transport.

Because the surface is Tool, delegation is symmetric across transports: a child agent registered in-process today can be moved behind an MCP server tomorrow with no change to the parent — the parent emits the same tool call.

For deterministic, no-LLM routing by signal tag (e.g. an overseer fanning one specialist out per partition), see crate::coordinator::CoordinatorAgent instead.

Structs§

DelegateRegistry
Registry of in-process delegate executors provided by the host.
DelegateTool
Tool wrapper around a delegate executor.
InProcessAgentDelegate
Delegate executor that drives another Agent in the same process.

Traits§

DelegateExecutor
Async implementation behind a delegate tool.

Type Aliases§

DelegateName
Stable key for a delegate executor. Manifests usually reference this through delegates[].agent; when omitted, delegates[].name is used.