The Engineering Layers
Five Layers of Control
Between 2023 and 2026 the industry named five successive disciplines: prompt, context, harness, loop and graph engineering. They are not a sequence of replacements. Each one contains the ones inside it, and a graph still needs good prompts. What actually changes is the unit of control: from the words in a single call, outward to the organisation of many agents. Each layer got named at the point the layer below it stopped being where the leverage was.
Climbing outward widens the unit of control and raises the cost of being wrong.
What Each Layer Controls
The useful column is the last one. Every layer was named because of a specific limit in the one before it, and that limit is the test for whether you need to climb.
| Layer | You Control | Signature Artefacts | The Limit That Exposed the Next Layer |
|---|---|---|---|
| Prompt 2023 | The words in a single call: instructions, examples, output format | System prompts, few-shot examples, output schemas | The model lacks information it was never given, and a human has to read every output for the pattern to hold |
| Context 2024 to 2025 | Everything the model sees at inference time, treated as a managed budget | Retrieval pipelines, memory stores, context-window budgets, summarisation | Knowing is not acting. Good information does not tell a system what to do or how to recover |
| Harness 2025 to 2026 | The environment around the model: tools, permissions, tests, linters, docs | Agent instruction files, skills, custom linters, pre-commit sensors, tool servers | A good environment still hosts one worker doing one thing at a time |
| Loop 2026 | How the agent iterates: observe, act, verify, repeat, and when to stop | Scheduled automations, run-until-done goals, stop conditions, state that outlives a session | One loop carries one context and one toolset, so cross-domain and parallel work breaks it |
| Graph 2026 | How many agents are organised: routing, specialisation, fan-out and join | Planner and worker nodes, parallel branches, synthesis joins, human gates | Not yet obvious, which is usually a sign the layer is still young rather than final |
What Each Layer Renamed
Every layer has a direct pre-LLM ancestor, and saying so is not a dismissal. The naming is doing real work, because applying an old discipline to a non-deterministic component genuinely changes it. But knowing the ancestor tells you where the existing literature is, and most of these problems were solved once already by people who wrote it down.
| Layer | Prior Art | What Genuinely Changed |
|---|---|---|
| Prompt | Few-shot learning, API contract design, and plain technical writing | The contract is expressed in prose and enforced statistically, so it can be misread rather than failing cleanly |
| Context | Information retrieval, ranking, caching and working-set management | The working set is bounded, priced per token, and degrades in quality rather than overflowing |
| Harness | IDEs, build systems, linters and continuous integration | The environment shapes a non-deterministic worker, so guides and sensors substitute for training and review |
| Loop | Control theory, supervisory control, and the OODA loop | The controller and the plant are the same statistical component, so the loop can fail to notice it is stuck |
| Graph | Workflow orchestration, dataflow, the actor model, and supervision trees | Nodes are non-deterministic and can misreport success, so routing has to tolerate a node lying about its own state |
Two Different Things Called Graph
The fifth layer is the one where the vocabulary collides. Two distinct structures share the word, they solve different problems, and a system can want both or either.
A topology of agents and steps. A planner assigns work, branches run in parallel, a join synthesises the result, and a gate can pause for a human. This is what agentic frameworks mean by graph.
On this site: Graph State Machine
An ontology: entities, relationships and constraints modelling a domain so it can be queried and reasoned over. Mature long before language models, and rediscovered through retrieval augmentation once embeddings alone proved insufficient for multi-hop questions.
On this site: Knowledge Graphs
Conflating them causes real errors. A team that needs a domain model builds an orchestration DAG and still cannot answer questions about its own data. A team that needs parallel execution builds an ontology and still runs everything sequentially.
Choosing a Layer
Each layer outward costs more to build, more to debug and more to explain. The discipline is staying at the innermost layer that still works, and letting the failure mode tell you when to move.
| Question | If Yes | Stop At |
|---|---|---|
| Does a human read every output? | Mistakes stay cheap, so nothing downstream has to catch them | Prompt |
| Does the model just need to know more? | Retrieval and memory close the gap without changing control flow | Context |
| Does it need to act on a real environment? | Tools, permissions and sensors matter more than another prompt revision | Harness |
| Can done be checked mechanically? | A verifiable stop condition is what makes autonomous iteration safe | Loop |
| Does the work split into real specialities? | Parallelism pays, or a reviewer needs authority independent of the maker | Graph |
| None of the above? | The layer you are on is not the problem, and climbing will not fix it | Stay put |
Related pages by layer: Prompt Engineering, Context Management and Agent Memory, Harness Engineering, Agentic Loops, Graph State Machine and Agentic Patterns, plus Knowledge Graphs for the semantic sense of the word.
