Skip to main content
A pipeline composes several agents: the developer settles their order and the conditions that move work between them before the run starts, and nothing changes it afterwards. To a caller it looks exactly like one agent, taking inputs and streaming events back. A pipeline takes on three things:
Every agent’s events leave through the same reply_stream. A developer rendering them needs reply_id to tell which agent an event belongs to; it matches that agent’s agent.state.reply_id.
The pipeline module is experimental. Its interfaces may change in later releases.

Interface

PipelineProtocol names one capability: take inputs, stream events.
PipelineProtocol
Agent already satisfies it, an agent being a pipeline of one. So a pipeline goes wherever an agent goes:
Accepting either
launch_console in the console was widened this way, so a developer can hand a pipeline straight to the terminal.

Implementations

AgentScope ships one pipeline so far:

Further Reading

Goal Pipeline

Keep an executor working until a verifier accepts the result.

Console

Run a pipeline in the terminal and answer its authorization prompts.

Planning

Let the model keep its own task list, which pipelines complement.

Human in the Loop

Authorize tools and resume after an interruption on a single agent.