Skip to content

Agent Engineering

A dedicated track for everything involved in shipping autonomous AI systems — not scattered across modules, but organized as one engineering discipline.

flowchart TB
  subgraph Loop["1 · Agent Loop"]
    P[Perceive] --> R[Reason]
    R --> A[Act]
    A --> O[Observe]
    O --> P
  end
  subgraph Runtime["2 · Harness"]
    Perm[Permissions]
    Term[Termination]
    State[State]
  end
  subgraph Cap["3 · Capabilities"]
    Mem[Memory]
    Tools[Tools / MCP]
    RAG[RAG]
  end
  subgraph Scale["4 · Orchestration"]
    Sup[Supervisor]
    Work[Workers]
    Hand[Handoffs]
  end
  subgraph Quality["5 · Quality"]
    Trace[Tracing]
    Eval[Evals]
    Mon[Monitoring]
  end
  Loop --> Runtime
  Runtime --> Cap
  Cap --> Scale
  Runtime --> Quality

Read in order

# Topic Page Also in courses
1 Agent loop The Agent Loop Course 07 L1–3
2 Memory Memory Systems Course 07 L5
3 Tools & MCP Tools & MCP Course 08 L3–4
4 Harness engineering Harness Engineering Course 08
5 Orchestration Orchestration Course 09
6 Observability & tracing Observability & Tracing Course 08 L6, Course 12
7 Agent evals Agent Evals Course 13 L4

What is harness engineering?

Harness engineering is the discipline of building the runtime around an LLM agent — not the model, not the prompt alone, but the system that makes agents reliable:

Primitive What it does
Loop Perceive → reason → act → observe until done
State Checkpoint conversation, tool results, plan
Tools Sandboxed execution, schemas, MCP servers
Permissions Allowlists, human-in-the-loop, budget caps
Termination Max steps, success criteria, timeout
Observability Spans per step, token/cost attribution
Evals Trajectory regression, tool-call correctness

Inspired by Awesome Harness Engineering and Agents Towards Production.

Quick reference

I need to… Go to
Understand ReAct Agent Loop
Persist context across sessions Memory
Connect to APIs / filesystem Tools & MCP
Make a coding agent safe Harness Engineering
Run multiple specialists Orchestration
Debug a failed run Observability
Gate a release Agent Evals