Skip to content

Agent delegation and teams

AgentLattice has two related but different coordination patterns. Keep them separate when you design an application:

  • Supervisor delegation is for one-shot child agents. A supervisor exposes another AgentLike as a model tool, waits for the child result in the tool call, and continues its own turn.
  • Mailbox team is for persistent teams. A lead coordinates named members through mailbox-backed work items, replies, status, persistence, and optional manual draining.

Both patterns use the same core invariant: every callable boundary is an AgentLike. The difference is lifecycle.

Pattern Use it when Main API
Supervisor delegation The parent needs a temporary specialist such as explore, plan, review, or implementation help for this turn. agentTool() with mode: "ask"
Mailbox team You want a durable organization with named members, inboxes, replies, nested teams, and resumable work. createTeam() and createTeamRunner()

If you only need the main agent to ask a temporary helper for one result, start with supervisor delegation. If work should live as routed messages that can be claimed, replied to, inspected, or persisted, use a mailbox team.