13 min read

Context Engineering Is the Invisible Discipline Shaping AI

In 1999, while most people were learning what Google was, researchers at Georgia Tech were working on a different problem. They were trying to teach software how to understand a situation, not just a command. That problem sits under almost every serious AI product now, even if the industry keeps staring at the prompt box.

Prompt engineering became the visible story because it looks dramatic. You type words, the machine responds, magic happens, screenshots get posted. Context engineering is quieter. It deals with everything the machine needs before your words can mean anything useful at all.

That includes history, permissions, state, memory, tools, surrounding documents, interface cues, and the thousand tiny signals people barely notice because humans are very good at filling gaps. Machines are not. Even the impressive ones.

The result is a strange cultural mismatch. Everyone talks about clever prompts as if the frontier is copywriting for robots. Meanwhile, the real leverage sits in a deeper layer: how information is collected, shaped, ranked, compressed, and delivered so a model can act coherently inside a situation. This is not a new craft. It is an old one that suddenly matters to everyone.

The myth of novelty

The phrase may feel fresh, but the underlying discipline is not. In 2001, Anind K. Dey offered a definition of context that still holds up: any information that characterizes the situation of an entity. That entity might be a person, a place, or an object relevant to an interaction. It is a broad definition on purpose, because context is broad in practice. The machine usually needs more than the explicit request.

Two years earlier, Dey and collaborators had already built the Context Toolkit at Georgia Tech. Its goal was not to impress people with clever language generation. It was to help software sense, represent, and use situational information without every developer rebuilding the same plumbing from scratch. The toolkit introduced abstractions for gathering raw signals, interpreting them, and distributing them to applications that could adapt their behavior.

If that sounds distant from modern AI, look again. A coding assistant in 2025 does a remarkably similar job. It inspects your repository, reads the file tree, notices recent edits, checks terminal output, pulls issue context, consults documents through MCP servers, and tries to infer what matters before generating a single useful token. The surface has changed. The problem has not.

Gemini CLI, Claude Code, Cursor, and the rest are often described as model products. They are, but only partly. They are also context pipelines with a language model attached. Their usefulness depends less on beautiful prose in the prompt than on whether they can assemble the right slice of reality at the right moment.

Every major interface shift has had a hidden context shift beneath it. Graphical interfaces translated clicks, window focus, cursor position, and selection state into meaning. Mobile computing added location, motion, time, and proximity. Search engines learned that the same query means different things depending on language, history, and intent. Modern LLM systems simply made the dependency impossible to ignore, because now the machine must operate across much larger, fuzzier tasks.

This is why the “prompt engineering” story feels incomplete. It captures the visible input, then mistakes that surface for the whole system. A prompt is the sentence you type. Context is the room the model walks into.

Recent work, including the 2025 SII-GAIR paper, pushes this wider framing more explicitly. The interesting shift is not linguistic style. It is system design. The model is only as capable as the environment that prepares its attention.

Entropy reduction is the real job

The cleanest way to think about context engineering is entropy reduction. People communicate by leaving a lot unsaid. We rely on shared history, physical surroundings, institutional habits, and common sense. When a colleague says, “Can you send the version we used last quarter?” you do not parse that as an abstract language puzzle. You infer which document, which audience, which formatting conventions, and which version history probably matter.

A model cannot do that unless the missing pieces are somehow present or inferable. It does not have your office politics, your team habits, your customer memory, or your tacit assumptions unless you provide a path toward them. Even when a model guesses correctly, that guess is only useful when the surrounding constraints keep it anchored.

This is why so many disappointing AI interactions are not actually failures of intelligence. They are failures of setup. The system lacks the project conventions, the current state, the hidden constraints, or the relevant past. Then people blame the model for being stupid, when in reality the model was asked to act inside an informational fog.

Consider a simple coding request: “Fix the login bug.” To a human teammate, that sentence rides on a pile of context. Which bug? Which branch? Are we patching fast or refactoring cleanly? What counts as acceptable risk? Which authentication provider is involved? Are tests failing in CI or only locally? A strong human engineer will ask some of these questions. A strong AI system also needs answers, but it needs them in a machine-usable form.

That preprocessing of intention is the hidden labor. You are not only describing what you want. You are reducing uncertainty around what would count as success.

Strangely, smarter models do not remove this problem. They move it. As models become better at recovering intent from sloppy wording, users stop micromanaging syntax and start asking for larger outcomes. “Draft the board memo.” “Refactor the service.” “Plan the trip.” “Handle my inbox.” The prompt gets shorter, while the missing situational burden gets heavier. You spend less effort composing instructions and more effort exposing reality.

There is a kind of inverse relationship here. The more capable the model becomes, the less you need to script each step. But the more you can trust it with complex work, the more the surrounding context determines whether its judgment lands or drifts. Intelligence raises the ceiling on delegation, and delegation raises the price of bad context.

That is why context engineering matters more as models improve. It is not scaffolding for weak systems. It is alignment work for strong ones.

The four eras of context engineering

Era 1.0: context as translation

The first era treated context as a translation problem. Human activity had to be converted into machine-legible signals. Graphical interfaces did this constantly. Clicking a button meant one thing if a certain window was active, another if a text field had focus, and something else if a modal dialog was blocking the page. The input event alone meant very little. State gave it meaning.

Ambient and ubiquitous computing pushed this further. Context-aware systems began using location, identity, nearby devices, motion, and time to decide what software should do. The Context Toolkit came out of that world. Its abstractions were built to separate raw sensor collection from higher-level interpretation, because nobody wanted every app developer reinventing the same brittle logic.

The assumptions were modest by current standards. Systems were rule-based, narrow, and often awkward. Still, the core insight was durable: intelligence depends on the situation frame, not just the explicit command. That remains true whether the machine is interpreting badge scans or a hundred-page product spec.

Era 2.0: context as instruction

This is the era most people recognize. LLMs made context feel linguistic because the main interface was text. The new craft seemed to be writing better prompts. Then the first wave of real products taught a harsher lesson. Good wording helps, but a model cannot reason over information it never receives.

So the industry started building retrieval systems, memory buffers, tool calling, session state, agent traces, document ranking, repo mapping, and model context protocols. In other words, it reinvented context engineering around a larger and more flexible machine.

RAG is a good example. On paper it sounds like a retrieval trick. In practice it is a design statement: store external knowledge, fetch only the relevant parts, preserve freshness, and keep the model grounded in the right local reality. That is context engineering. Prompt templates sit inside it, but they are not the whole game.

The same is true for coding agents. “Vibe coding” works when the environment carries its share of the burden. The model needs architecture files, test results, linters, diffs, issue history, dependency graphs, and permission boundaries. Without that, vibe coding becomes a polite name for gambling in production.

Era 3.0: context as scenario

The next step is already visible in agent systems that plan, simulate, revise, and coordinate over time. Here, context is no longer just background information. It becomes a scenario the machine has to inhabit.

A useful agent must understand not only the current state but also plausible future states. If it changes this file, which tests will break? If it emails this customer, what commitment does it create? If it books this flight, what does that imply for the hotel, the calendar, and the visa timing? The relevant context now includes consequences.

This starts to look less like document stuffing and more like situational modeling. The system needs durable representations of goals, subgoals, role boundaries, risks, and likely branches. Humans do this almost automatically. We carry tiny simulations in our heads. We anticipate objections, imagine dependencies, and fill in causal chains. Machines need explicit help.

That help will not come only from larger context windows. Bigger windows are useful, but raw accumulation is not understanding. What matters is which facts become active, which remain latent, and how the system updates its scenario as the world changes.

Era 4.0: context as world

The fourth era is more speculative, but the trajectory is visible. Eventually, the best systems will not merely receive context. They will build world models robust enough to infer missing structure better than many users can articulate it.

That sounds grand, but the practical version is simple. A future assistant may know that your request is underspecified, that your stated goal conflicts with your past preferences, that your team always routes approvals through a certain person, and that the safest path requires an extra verification step you forgot to mention. It will not just read the room. It will reconstruct the room from traces.

This is where people start reaching for phrases like semantic environments or ambient intelligence. The common idea is that software stops feeling session-bound and starts feeling situationally continuous. The machine carries a coherent model of your tasks, tools, relationships, and habits across time.

There are obvious hazards. Systems can infer the wrong thing. They can become eerie, invasive, or overconfident. They can trap users inside stale assumptions. Better contextual understanding is not automatically better judgment. Still, the direction is clear. The center of gravity shifts from single-turn instruction following toward durable situational comprehension.

What builders need to change now

If you are building with LLMs today, the shift in mindset is practical. Stop treating the prompt as the unit of design. Treat context as the unit of design.

Collection shapes the ceiling

Most teams underinvest in gathering the right inputs. They connect a model to a chat box, maybe add retrieval, and assume the rest will sort itself out. It rarely does. Useful systems need access to structured records, unstructured documents, tool outputs, user preferences, environmental state, and permission-scoped histories.

MCP matters here because it turns ad hoc integrations into a cleaner context supply chain. A model connected to your code host, docs, tickets, logs, and internal tools can work from something closer to a living workspace instead of a dead prompt. The hard part is not the connector alone. It is deciding what is relevant, safe, and timely enough to surface.

Management decides cost and coherence

Once context is collected, it has to be shaped. This is where many teams discover that context windows are not infinite in any meaningful product sense. Even when a model can technically accept enormous inputs, latency, cost, ranking quality, and attention dilution become real constraints.

You need policies for compression, summarization, deduplication, ordering, freshness, and forgetting. You need to know which facts deserve verbatim inclusion and which can be abstracted. You need memory hierarchies, not giant transcripts.

This is also where KV caching stops being an implementation footnote. In long-running agent workflows, the ability to reuse prior computation can decide whether a system feels responsive or sluggish, affordable or absurd. Context is not just a semantic problem. It is a systems problem with bandwidth and memory bills attached.

A surprising amount of product quality now depends on these invisible mechanics. If every turn forces a model to reprocess bloated histories, performance degrades. If summaries drift, the agent starts reasoning over its own distortions. If cache invalidation is sloppy, the system acts on stale assumptions. The old joke about computer science having only a few hard problems keeps surviving for a reason.

Usage is where context becomes action

The final layer is use. Context is only valuable when it changes behavior. A system should choose better tools, ask better clarifying questions, rank options differently, or refuse unsafe actions because the surrounding information is richer.

This is why evaluation gets tricky. A model might produce polished language while using context poorly. It may ignore the most relevant retrieved document, overweight an outdated preference, or miss the one line in a policy that changes the answer. Strong systems need tests that evaluate contextual judgment, not just surface fluency.

The teams that get ahead here will look less like prompt poets and more like environment designers. They will obsess over what enters the model, what persists, what gets compressed, and what the system can prove before acting.

The semantic layer ahead

Long-term memory is often described as storage. That framing is too thin. Useful memory changes behavior because the system has learned something, not because it hoarded text.

A real memory layer will digest interactions into usable structure. It will turn repeated preferences into defaults, recurring workflows into reusable procedures, and sprawling histories into compact representations that can be reactivated when needed. Some people call this self-baking: the system gradually cooks raw experience into a more actionable internal form.

That creates a harder problem than simple recall. A good memory system must preserve coherence over months and years. It must know when yesterday's fact overrides last year's preference, when a relationship changed, when a project ended, and when forgetting is healthier than remembering. Lifelong context coherence is not about storing everything forever. It is about keeping the right story of the world updated without turning it into mush.

This is where privacy, trust, and product design collide. Users will tolerate persistent memory only if they can understand its boundaries and correct its mistakes. A machine that remembers badly is often worse than one that forgets.

The discipline hiding in plain sight

What looks like a new frontier is really an old discipline becoming impossible to ignore. The Georgia Tech researchers working on context-aware computing were early, not irrelevant. They were naming the substrate long before language models made it fashionable.

The industry will keep talking about better models, because model progress is real and dramatic. But the products that actually hold up under daily use will be the ones that reduce uncertainty with care. When you type a prompt, the useful question is whether the system is clarifying the situation for the model or merely dumping your own ambiguity into a larger window.

End of entry.

Published April 2026