The unit of leverage in 2026 is not a clever prompt. It is the harness: the loop, tools, memory, permissions, budgets, and verification that turn a model call into a system that ships.
| Layer | Question | Failure mode if ignored |
|---|---|---|
| Prompt engineering | What should I say? | Brittle one-shots |
| Context engineering | What should the model see? | Lost-in-the-middle, cache thrash |
| Harness engineering | What system wraps the model? | Unbounded loops, unsafe tools |
| Loop engineering | When do we act / verify / stop? | Infinite vibes, fake "done" |
Assign looping, branching, sequencing, and stop conditions to code. Invoke the LLM where reasoning or generation is needed. "LLM-as-orchestrator for everything" produces token explosion and control-flow hallucination.
The model does not grade its own exam alone. Done means tests pass, types check, lints clean, or an explicit human gate. Lint messages should be actionable enough to be the next prompt.
Subagents earn their keep for (a) true parallelism and (b) context isolation. Each child gets a rebuilt scoped context and least-privilege tools. Results return as structured summaries, not transcript dumps. Cap depth and spawn count.
For consequential decisions: run independent lenses on the same evidence, persist first-round analyses, then synthesize. Preserve dissent. Lenses are methods (first-principles, ship-density, scale-product) — never celebrity impersonations.
Every loop declares: success signal, max turns, no-progress detector, and escalation path. "The model said it was done" is not a stop condition.
Finish the whole asked task. Do not quietly widen, narrow, or transform it. If the ask seems wrong, say so in one sentence and continue with the ask unless blocked.
Before first tools: one sentence. Mid-flight: only on important finds or direction changes. Finish: lead with outcome.
PLAN → concrete steps + done-definition + verify command
EXECUTE → smallest reversible slice
VERIFY → external gate (test/lint/type/diff)
→ fail? feed structured error back into EXECUTE
→ pass? next slice or STOP
- Provider — model API abstraction
- Agent loop — call → inspect → tool → append → repeat
- Tool registry — schema-validated, permissioned tools
- Context manager — budgets, compaction, handoff artifacts
- Sandbox — isolated execution
- Permissions — approve/block matrix + hooks
| Signal | Move |
|---|---|
| Single file / clear ask | Single agent |
| Multi-step feature | PEV |
| Consequential product/arch tradeoff | Warroom council |
| Wide independent investigation | Swarm (capped) |
| Unattended long-horizon | Full harness + budgets + hooks |