Skip to main content

Agent Harness

The model proposes the next move. The harness makes that move executable, bounded, observable, and recoverable.

Minimum Responsibilities

LayerResponsibility
Loopalternate model turns, tool calls, results, and stopping conditions
Contextselect instructions, history, files, and retrieved evidence
Toolsvalidate arguments, execute calls, return structured results
Policyenforce scope, permissions, approvals, budgets, and safety boundaries
Statepreserve task progress, artifacts, and resumable checkpoints
Reliabilitytimeouts, retries, idempotency, cancellation, and failure reporting
Observabilitytraces, logs, token/cost data, and tool-call evidence
Evaluationtest outcome quality on representative tasks

An agent that merely loops until the model says “done” has orchestration, but not a dependable harness.

Practical Design Order

  1. Define the outcome and an external success check.
  2. Expose the smallest useful tool set.
  3. Separate read-only actions from writes and irreversible actions.
  4. Preserve artifacts and evidence outside the conversational transcript.
  5. Add time, token, retry, and concurrency limits.
  6. Trace model turns and tool calls with sensitive-data controls.
  7. Replay representative tasks before changing the default model or reasoning level.

Model-Agnostic Rule

The harness owns quality gates; the model is a replaceable component. A more capable model may reduce retries or instruction complexity, but it does not remove the need for evidence, permissions, and end-to-end checks.

That is why model selection belongs in a dated Model & API Radar, while this note changes only when the architecture itself changes.