Skip to lesson
supraj.dev THE ENGINEERING HANDBOOKS
LEARN / BUILD / VERIFY2026 edition · checked 06 Oct

CHAPTER 20 / 30 · Connect and coordinate

Delegate through a narrow specialist contract

Use agents as tools when specialization adds measurable value, and control the authority passed downstream.

4 min read + practiceWorked exerciseInterview practice

The mechanism

An agent can call another agent as a tool. The parent decides when to delegate; the specialist runs its own loop and returns a result. Current Strands documentation supports direct agents in the tool list, an as_tool() customization path and explicit wrappers. The pattern is useful when a specialist has a focused task or a distinct tool set.

Delegation does not create new permission. ParcelOps can ask a runbook specialist to explain a synthetic procedure, but the specialist should not gain deployment credentials merely because the parent asked a broad question. Give each specialist the minimum data and tools needed for its contract.

Parent task
Narrow delegation input
Specialist loop
Evidence-bearing result

A worked specialist arrangement

Configuration only; invoking the parent can make multiple model calls. Both agents use the explicit model from chapter 3. The specialist has no write tools.

from strands import Agent

specialist = Agent(
    model=model,
    name="incident_explainer",
    system_prompt=("Explain only supplied synthetic incident evidence. "
                   "Return uncertainties and do not claim remediation."),
    tools=[],
    callback_handler=None,
)
coordinator = Agent(
    model=model,
    system_prompt=("Use incident_explainer for a focused explanation when useful. "
                   "Preserve evidence IDs and distinguish proposals from actions."),
    tools=[specialist],
    callback_handler=None,
)

This is an orchestration example, not evidence that two agents outperform one. The specialist may add latency and tokens without improving the answer. Compare it against a single agent with the same evidence and output contract before adding more roles.

A result should carry uncertainty and source references, not just confident prose. The coordinator must not upgrade “the specialist suspects a carrier issue” into “the carrier caused the failure.” Preserve the distinction between observed evidence, interpretation and recommended next steps across the handoff.

Practice: define the handoff boundary

Offline. Write a delegation request containing the incident ID, selected fixture facts, the question and the allowed output. Exclude credentials, unrelated session history and private records. Then write the specialist’s expected result with evidence references and unresolved questions.

Expected observation: a smaller handoff can improve clarity while reducing accidental data exposure. However, removing necessary context can produce an incorrect answer, so selection must be tested. Add a case where the specialist receives insufficient evidence and should return “unknown” instead of fabricating a cause.

For an optional live experiment, compare one-agent and specialist configurations on the same small fixture set. Record task success, unsupported claims, tool calls, tokens and end-to-end latency. Keep the prompt and model configuration stable across variants. A single appealing answer is not a measured benefit.

Troubleshooting and trade-offs

Recursive delegation can create loops or runaway cost. Bound depth, invocation work and total task time in the application design. A parent’s limits may not automatically represent a global budget across every nested invocation; verify the scope and collect total usage.

Stateful specialists reused across unrelated tasks can leak context. Decide whether they are per-request, per-session or safely isolated by the documented invocation mechanism. Test that decision with two synthetic tenants. A specialist’s friendly name is not an isolation boundary.

Interview practice

When is an agent-as-tool pattern worth its overhead?

When a focused specialist or tool boundary improves measured task quality, maintainability or permission separation enough to justify additional latency and cost. Compare against a simpler baseline.

What should a parent preserve from a specialist result?

Evidence references, uncertainty, scope and completion status. It should not turn a suggestion into an executed action or an unverified interpretation into an established fact.

Completion check

Write a specialist contract and a single-agent baseline. Explain the authority, state lifetime and budget of the child. Define a measurement that could persuade you to remove the extra agent.

Sources and version notes

Checked 6 October 2026. Python examples target strands-agents==1.58.0 unless labelled otherwise. Live documentation can change; compare your installed version before adapting an example.

YOUR NEXT STEP

Make the understanding yours.

Use the completion check above. Mark this chapter when you can explain the mechanism and its limits.

Self-assessed reading progress. This does not certify that a lab ran or a system is secure.