Fieldnotes / engineering

Engineering
with agents.

Practical guides for teams learning to delegate software work.

A useful first pass

Begin with tool design, permissions, and evaluations. Then bring one small, repeatable task into your team’s workflow.

18 concepts

Short guides · Practical exercises

01

Harness engineering

Build the working environment that lets an agent act, check its work, and hand back inspectable evidence.

Start here
02

Loop engineering

Design the decision between tool calls: continue only with usable feedback, stop on success or a limit, and hand off blockers with evidence.

Start here
03

Context engineering

Give an agent the goal, constraints, evidence, and current state it needs for its next decision—and check what survives a handoff.

Start here
04

Tool design

Design tool contracts that let an agent distinguish evidence, absence, and failure before it acts.

Start here
05

Memory architecture

Design what an agent remembers, who may change it, and how each run checks whether recalled advice still applies.

Start here
06

Orchestration patterns

Choose who does each part, what must finish first, and who accepts the combined result. Start with a small workflow whose failures you can explain.

Start here
07

Guardrails and permissions

Delegate investigation without handing the agent deployment authority. Evaluate proposed actions, then enforce permissions where tools execute.

Start here
08

Agent evals

Use repeatable tasks and explicit checks to decide whether an agent change improves useful work without breaking behavior the team already relies on.

Start here
09

Human-in-the-loop

Human-in-the-loop means reserving a consequential decision for a person, then enforcing that decision at the point where an agent can change the world.

Start here
10

Observability and tracing

Make delegated work inspectable: follow one agent task through its model and tool calls before changing prompts or blaming a dependency.

Start here
11

Load balancing

Choose where new work goes using signals that match the work; equal call counts can hide very unequal demand.

Reference
12

Cache-aside

Cache-aside lets application code reuse a stored result, then fetch and cache missing data. A hit proves presence, not freshness.

Reference
13

Queues and backpressure

Bound waiting work and make the producer respond when capacity runs out. A queue buys time; it does not make an overloaded tool faster.

Reference
14

Idempotency

Make retries of one intended action safe before giving an agent a tool that creates or changes shared state.

Start here
15

Replication and consistency

A successful write and a fresh read are separate promises. Make agent tools explicit about both before letting an observation trigger another action.

Reference
16

Timeouts and retries

Give agent tool calls a shared deadline and a limited retry allowance; report uncertainty when either runs out.

Start here
17

Canary deployments

Release an agent-assisted change to a small production cohort, then use evidence to decide whether exposure should grow.

Reference
18

OAuth PKCE

Keep each browser login tied to its own verifier when connecting an agent host to a protected tool service.

Reference