Blast radius is a budget, not a vibe
Once an agent can edit files, call APIs, or touch prod-adjacent
systems, “be careful” is not a control. Risk has two factors:
how often something goes wrong, and
how bad it is when it does. Model training and
classifiers mostly attack the first. Containment attacks the
second—and that’s the lever that stays honest as capability
climbs.
First principle: supervision is a probabilistic
filter on intent; containment is a hard bound on reach. Humans
approve almost everything under prompt fatigue. Models find paths
nobody wrote down. External content injects instructions through
tools and files. If credentials never enter the sandbox, they
can’t leave it—regardless of who “meant” what.
Design the loop so the agent is powerful
inside a small world: writable workdir, allowlisted
binaries, denied secrets, egress only to named hosts, and a
separate approval record for anything that crosses the perimeter
(merge, deploy, customer message, spend). Pair that with session
hygiene from long-running harness practice: incremental progress,
clean artifacts for the next shift, and stop conditions that don’t
depend on the model declaring victory.
Checklist
-
Write the blast-radius budget in one sentence (what must remain
impossible even if the agent is wrong or injected).
-
List secrets and networks the run must never see; keep them
outside the sandbox.
-
Prefer default-deny tools + explicit allowlist over “full shell
with good intentions.”
-
Cap retries, spend, and wall-clock before the first call—not
after the invoice.
-
Separate “agent green” checks from human-playable / product-taste
gates.
-
Log tool I/O and approvals outside the chat transcript so audits
aren’t archaeology.
For your next agent task, name three actions that should be
physically unreachable, then verify the sandbox/policy actually
blocks them—not just a prompt that says please don’t.
Further read:
How we contain Claude
·
Effective harnesses for long-running agents
·
Demystifying evals for AI agents