Summarize this article with:
-
Anthropic removed over 80% of Claude Code's system prompt for Claude 5 generation models
-
Context engineering (how you structure input for AI models) matters more than prompt engineering for production apps
-
Provider-agnostic patterns let you reuse the same context structure across Claude, GPT, Gemini, and open-weight models
-
The key insight: less context often produces better results with newer, more capable models
-
Multi-provider gateways let you test context patterns against different models without changing infrastructure
Context engineering is the practice of structuring everything an AI model receives, from system instructions and user messages to tool definitions and retrieved documents, so the model produces the best possible output. It is the production-grade successor to prompt engineering, and in 2026 it is where most output quality is won or lost.
On July 24, 2026, Anthropic published "The New Rules of Context Engineering for Claude 5 Generation Models," revealing that they removed over 80% of Claude Code's system prompt for their most advanced models. This finding has implications that extend far beyond Claude.
What Is Context Engineering?
Most developers think of "prompt engineering" as writing clever instructions. Context engineering is broader and more practical. It covers everything that goes into the model's context window (the total text the model can see at once, including system prompts, conversation history, tool descriptions, and retrieved documents):
-
System prompt: the hidden instructions that define the model's behavior
-
Tool definitions: descriptions of functions the model can call
-
Retrieved context: documents or data pulled from a database via RAG (Retrieval-Augmented Generation, where the model looks up relevant documents before answering)
-
Conversation history: previous messages in the chat
-
User message: the actual question or task
The total context is often 10 to 50 times larger than the user's actual question. How you structure this context determines output quality more than the question itself.
Anthropic's 80% Reduction: What It Means
Anthropic's blog post revealed a counterintuitive finding: for Claude 5 generation models, shorter and simpler system prompts produce better results than long, detailed ones. The team removed over 80% of Claude Code's system prompt and saw quality improve.
This contradicts years of prompt engineering advice that told developers to be as detailed and explicit as possible. The explanation is straightforward: newer models are better at inferring intent from minimal instructions. Over-specifying behavior creates conflicts and confusion in the model's reasoning.
The Inverted Context Principle
The practical takeaway is what we can call the "inverted context principle": as model capability increases, the optimal amount of context decreases. Here is how this plays out across model generations:
| Model Generation | Optimal Context Strategy | System Prompt Size |
|---|---|---|
| GPT-3.5 / Claude 1 (2023) | Detailed, explicit instructions | 2000-5000 tokens |
| GPT-4 / Claude 3 (2024) | Structured but concise | 800-2000 tokens |
| GPT-5 / Claude 5 (2026) | Minimal, principle-based | 200-800 tokens |
Five Provider-Agnostic Context Patterns
These patterns work across Claude, GPT, Gemini, and open-weight models. They are based on Anthropic's research and validated against other providers.
Pattern 1: Progressive Disclosure
Do not dump all context into the first message. Instead, start with minimal instructions and let the model ask for more information when it needs it. This works because modern models are better at identifying what they need.
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["EDENAI_API_KEY"],
base_url="https://api.edenai.run/v3",
)
# Start with minimal context
response = client.chat.completions.create(
model="anthropic/claude-opus-4-8",
messages=[
{"role": "system", "content": "You are a code reviewer."},
{"role": "user", "content": "Review this function: def add(a, b): return a + b"}
],
)
Pattern 2: Deferred Tool Loading
Anthropic's Claude Code uses "ToolSearch" to keep tool definitions out of context until the model needs them. Instead of listing all 50 available tools in every request, the model sees a search function and loads specific tools on demand. This reduces context size and improves focus.
You can implement this pattern by defining tools in tiers: always-available tools (3 to 5 core functions) and on-demand tools loaded only when the model's task requires them.
Pattern 3: Structured Retrieval Over Bulk Dumping
When using RAG, do not dump the top 10 retrieved documents into context. Instead, structure the retrieval:
-
Summarize each document in one sentence
-
Rank by relevance score
-
Include only the top 3 to 5 most relevant passages
-
Let the model request full documents when needed
Pattern 4: Role-Based Context Layers
Different tasks need different system prompts. Instead of one universal prompt, maintain a library of role-specific prompts that you swap based on the task:
-
Code review: minimal instructions, focus on correctness
-
Content writing: tone and audience guidelines
-
Data analysis: output format and metric definitions
-
Translation: domain terminology and style guide
Pattern 5: Context Budget Management
Every model has a context window limit. Even with large windows (200K tokens or more), using the full window degrades quality. Set a budget (for example, 30% of the maximum) and stay within it. Monitor your actual token usage and trim context that does not contribute to output quality.
Testing Patterns Across Providers
The value of provider-agnostic patterns is that you can test the same context structure against multiple models. This reveals which patterns work universally and which are model-specific.
Here is how to test a context pattern against multiple providers using Eden AI:
import os, json, urllib.request
from concurrent.futures import ThreadPoolExecutor
url = "https://api.edenai.run/v3/chat/completions"
headers = {
"Authorization": "Bearer " + os.environ["EDENAI_API_KEY"],
"Content-Type": "application/json"
}
models = [
"anthropic/claude-opus-4-8",
"openai/gpt-5.6",
"google/gemini-2.5-pro",
]
def test_model(model):
payload = {
"model": model,
"messages": [
{"role": "system", "content": "You are a code reviewer. Be concise."},
{"role": "user", "content": "Review: def calc(x): return x * 2 + 1"}
],
"max_tokens": 200
}
data = json.dumps(payload).encode()
req = urllib.request.Request(url, data=data, headers=headers, method="POST")
with urllib.request.urlopen(req) as resp:
result = json.loads(resp.read())
return model, result["choices"][0]["message"]["content"]
# Test all models in parallel
with ThreadPoolExecutor(max_workers=3) as pool:
results = list(pool.map(test_model, models))
for model, output in results:
print(model + ": " + output[:100])
This parallel test shows how the same minimal context produces different outputs across providers. You can then adjust your context patterns based on real results, not assumptions.
Common Context Engineering Mistakes
Mistake 1: Copying Prompts Between Models
A system prompt optimized for GPT-4 may be too verbose for Claude 5 or too vague for Gemini. Always test prompts against each provider you use in production.
Mistake 2: Ignoring Context Window Overhead
Tool definitions, conversation history, and retrieved documents all consume context window space. A model with a 200K token window that receives 150K tokens of context may produce worse output than the same model with 20K tokens of focused context.
Mistake 3: Static Context in Dynamic Applications
Hardcoding context in your application means you cannot adapt when models improve. Store context templates in configuration so you can update them without deploying new code.
Conclusion
Context engineering has evolved from the "write detailed prompts" advice of 2023. Anthropic's research with Claude 5 shows that less is often more. The five provider-agnostic patterns described here (progressive disclosure, deferred tools, structured retrieval, role-based layers, and context budgets) work across every major model.
The key is to test your context patterns against multiple providers regularly. A multi-provider gateway makes this easy. You can find them at Eden AI.
Login to the platform to test it yourself.

.jpg)
.png)

.jpeg)