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

THE CRAFT OF AGENT ENGINEERING

Reason with models.
Act through tools.
Verify what happened.

Build agents you can explain. Thirty substantial lessons connect the Strands loop to tool contracts, state, human approval and operational evidence.

INSIDE ONE REQUESTA small loop.
A deliberate boundary.
  1. 01
    Receive the taskTrusted identity · clear scope
  2. 02
    Choose a stepModel reasons over context
  3. 03
    Check the authorityValidate · authorize · execute
  4. 04
    Verify the evidenceObserve · respond · record
Start with a bounded request.

The operator asks about one synthetic incident. The application supplies authenticated identity.

1 / 4

Conceptual walkthrough. No model, tool or cloud resource runs here.

30connected chapters
68interview questions
5learning stages
1synthetic capstone
Start offline. Add live inference deliberately.Every lab states its scope. Model calls, judge models and cloud services can incur charges. Examples and expected observations are separate from executed tests. The book does not run an agent in your browser.
Python 1.58.0 · TypeScript 1.19.0

Official release baseline checked 6 October 2026. The current documentation calls the core library the Strands Harness SDK. Package names remain strands-agents and @strands-agents/sdk.

One system, built in stages

ParcelOps is a fictional incident assistant using synthetic records. Begin with a read-only lookup, then study state, coordination and deployment without inventing completed experiments.

From the first loop to a defensible system.

Read in order, revisit one mechanism, or use the interviews to test your reasoning.

STAGE 01 · 6 CHAPTERS

Understand the loop

  1. 01An agent is a loop with authority
  2. 02Choose the SDK, harness and runtime
  3. 03Make the first model call explicit
  4. 04Messages, prompts and trusted context
  5. 05Your first narrow, testable tool
  6. 06Ask for an object, then verify its meaning
STAGE 02 · 6 CHAPTERS

Design reliable tools

  1. 07Design tool contracts around decisions
  2. 08Make repeated actions safe
  3. 09Stream progress without inventing completion
  4. 10Retries, limits and cancellation
  5. 11Observe and intercept the loop with hooks
  6. 12Translate the design to TypeScript
STAGE 03 · 6 CHAPTERS

State, context and control

  1. 13State is not a tenant boundary
  2. 14Persist sessions and recover deliberately
  3. 15Manage the context window with measurable trade-offs
  4. 16Memory needs ownership, provenance and deletion
  5. 17Bind human approval to the exact proposed action
  6. 18Test the boundaries an attacker would cross
STAGE 04 · 6 CHAPTERS

Connect and coordinate

  1. 19Connect MCP tools without inheriting blind trust
  2. 20Delegate through a narrow specialist contract
  3. 21Use graphs when order is part of correctness
  4. 22Bound autonomous handoffs in a swarm
  5. 23Package reusable behavior without expanding authority
  6. 24Understand what a sandbox actually isolates
STAGE 05 · 6 CHAPTERS

Operate with evidence

  1. 25Evaluate the outcome and the path taken
  2. 26Observe a request from prompt to verified outcome
  3. 27Choose a deployment that matches the workload
  4. 28Build the ParcelOps evidence assistant
  5. 29Measure improvements without manufacturing a result
  6. 30Write an evidence-backed engineering report

BEFORE YOU START

A familiar language.
A narrower capability.

Bring basic Python, JSON and terminal familiarity. The main path uses Python 3.10+; the TypeScript bridge follows the official Node.js 22+ prerequisite. Use a supported patched runtime and a disposable project.

No cloud account is needed for the offline capstone. Optional inference requires an approved provider, explicit model selection and a budget.

Keep these distinctions close

  • Tool selection is different from authorization.
  • Valid JSON can contain an unsupported claim.
  • Cancellation does not reverse completed effects.
  • Session, context and memory solve different problems.
  • A passing fixture test is not a production benchmark.

BUILD WITH EVIDENCE

The offline ParcelOps lab

A standard-library exercise with deterministic checks. No model calls, network access or incident-system writes.

Download the lab ↓

CONNECT THE MECHANISMS

The scenario interview

Eight cases covering authority, recovery, evaluation and operational decisions.

Open the interview →

Sources, experiments and limits

This edition was checked against the official Strands documentation, Python 1.58.0 and TypeScript 1.19.0. Version-sensitive statements link to primary sources within each chapter. Experimental context strategies are labelled, and Python/TypeScript differences are called out where they affect behavior.

The handbook replaces the earlier single-page Strands guide as the Library entry. It does not carry forward unsupported performance or adoption claims. Benchmark and article chapters provide honest methods and blank templates until actual evidence exists.

Reading progress stays in this browser, separately from the Docker handbook. Everyone starts fresh. Completion marks are your own learning checklist and do not certify lab execution.