Class SequentialAgent

java.lang.Object
com.google.adk.agents.BaseAgent
com.google.adk.agents.SequentialAgent

public class SequentialAgent extends BaseAgent
An agent that runs its sub-agents sequentially.

Composition with LlmAgents: a SequentialAgent does not transfer control back to a parent LlmAgent. Use it as the root or transferred-to agent and place any follow-up LlmAgent as the next sibling. Upstream publishes via outputKey and downstream reads via {key} placeholders in its instruction:

var draft =
    LlmAgent.builder()
        .name("draft")
        .model("gemini-flash-latest")
        .instruction("Draft a summary.")
        .outputKey("draft")
        .build();
var reviewer =
    LlmAgent.builder()
        .name("reviewer")
        .model("gemini-flash-latest")
        .instruction("Polish the draft: {draft}")
        .build();
var pipeline =
    SequentialAgent.builder().name("pipeline").subAgents(draft, reviewer).build();
  • Method Details

    • builder

      public static SequentialAgent.Builder builder()
    • runAsyncImpl

      protected io.reactivex.rxjava3.core.Flowable<Event> runAsyncImpl(InvocationContext invocationContext)
      Runs sub-agents sequentially.

      When resumability is enabled, on resume execution fast-forwards to the sub-agent being resumed (completed ones are not re-run) and pauses on a pending long-running call; when disabled, sub-agents simply run in order (matches Python ADK v1 with resumability off). Temporary, event-based.

      Specified by:
      runAsyncImpl in class BaseAgent
      Parameters:
      invocationContext - Invocation context.
      Returns:
      Flowable emitting events from sub-agents.
    • runLiveImpl

      protected io.reactivex.rxjava3.core.Flowable<Event> runLiveImpl(InvocationContext invocationContext)
      Runs sub-agents sequentially in live mode.
      Specified by:
      runLiveImpl in class BaseAgent
      Parameters:
      invocationContext - Invocation context.
      Returns:
      Flowable emitting events from sub-agents in live mode.
    • fromConfig

      public static SequentialAgent fromConfig(SequentialAgentConfig config, String configAbsPath) throws ConfigAgentUtils.ConfigurationException
      Creates a SequentialAgent from configuration.
      Parameters:
      config - the agent configuration
      configAbsPath - The absolute path to the agent config file.
      Returns:
      the configured SequentialAgent
      Throws:
      ConfigAgentUtils.ConfigurationException - if the configuration is invalid