Home / PHP / Laravel’s AI SDK adds sub-agents

Laravel’s AI SDK adds sub-agents

Laravel’s AI SDK now lets you hand off agents as tools to other agents, turning the SDK into a proper orchestration layer.

Real apps rarely live in one prompt. A general support agent needs different instructions, tools, and often a different model when answering a refund question vs. a billing one. Sub-agents make that delegation a first-class concept instead of a router you hand-roll.

How it works

Return an agent from another agent’s tools() method. The parent delegates a specific task and uses the sub-agent’s response while answering the original prompt.

public function tools(): iterable
{
return [
new RefundsAgent,
];
}

Each sub-agent carries its own:

  • Instructions and system prompt
  • Tools (a RefundsAgent gets LookupOrder; the parent doesn’t need it)
  • Provider and model — pin a sub-agent to Anthropic with #[Provider(Lab::Anthropic)] while the parent runs on OpenAI
  • Configuration like temperature, max steps, or timeout

Finer control: Implement CanActAsTool on the sub-agent to define the name() and description() the parent sees. Skip it and Laravel falls back to the class basename and a generic description.

One catch: Each sub-agent invocation runs in isolation — it does not receive the parent’s conversation history. The parent has to pass a clear, self-contained task description.

Read the sub-agents docs for the full API.

Tagged:

Leave a Reply

Your email address will not be published. Required fields are marked *