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
AgentLikeas 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.