Agentic Context Engineering
What it is
Agentic Context Engineering (ACE) is the practice of deciding what an agent sees at each step of its reasoning. In an LLM, context is everything supplied before generation — the model’s short-term memory. For an agent that plans, calls tools, and runs for many turns, that window is not fixed; it has to be rebuilt every loop. ACE is the discipline of rebuilding it well, so the agent stays truthful, efficient, and on-goal.
Context typically holds four things: the current task instructions, prior turns, retrieved data and tool results, and summaries of earlier state. Everything the model does downstream is shaped by what made it into that window.
The drift problem
Over a long session, context degrades. Stale data piles up, the user’s goal shifts mid-task, and token limits force truncation. The result is drift — the agent contradicts itself, repeats work, or acts on information no longer relevant. ACE counters drift by keeping only the most relevant, validated, task-aligned information in each cycle, and discarding the rest.
Context layers
Structuring context into layers keeps the right information at the right scope.
| Layer | Purpose | Example |
|---|---|---|
| Immediate | Current instructions, recent dialogue | The active prompt |
| Working | Active plan, retrieved documents, tool calls | A code snippet plus its reference spec |
| Long-term (memory) | Summarized history for recall | A prior project summary |
| External | Live world knowledge via APIs or databases | Current weather, CRM records |
Principles
- Relevance over recency. Include what reasoning requires, not everything that came before. Retrieve or summarize on demand.
- Refresh every cycle. Reshape the window at each Plan → Act → Reflect loop rather than appending forever.
- Compact aggressively. Replace verbose logs with compressed summaries that keep the meaning and drop the tokens.
- Layer explicitly. Keep system rules, session state, step parameters, and memory distinct.
- Verify before injecting. Validate retrieved documents and API responses before they enter the window, so the model doesn’t reason over false dependencies.
The context loop
Agents maintain a closed loop that mirrors reasoning:
1. Gather → 2. Compact → 3. Compose → 4. Reflect → 5. Rebuild → (repeat)
| Phase | What happens | Typical methods |
|---|---|---|
| Gather | Collect current instructions and evidence | Search index, RAG, logs |
| Compact | Compress past messages and outputs | Summarization, embeddings |
| Compose | Assemble the prompt for the next action | Merge instructions + retrieved snippets |
| Reflect | Check for errors and relevance drift | Compare output against the goal |
| Rebuild | Write working memory for the next step | Re-summarize and store |
Structuring techniques
Layered prompt design. Mark context sections explicitly so the model parses them cleanly:
<system_context>
You are ResearchAgent, specialized in summarizing peer-reviewed papers concisely.
</system_context>
<user_query>
Summarize this article about AI protein modeling.
</user_query>
<retrieved_data>
Title: A transformer protein structure model.
Abstract: ...
</retrieved_data>
<task_constraints>
Output under 200 words, bullet format. Include one key insight and one limitation.
</task_constraints>
Prioritization. When sources compete for limited space, score them by recency, semantic similarity, or confidence and keep only the top-ranked items.
Vector retrieval. Index messages, documents, and task outputs as embeddings; fetch only the chunks most similar to the current step rather than replaying the whole history.
Delimiters and tagging. Consistent tags (<context>, <plan>, <memory>, <output>) keep sections traceable — especially when several agents share a workspace.
Compaction and memory
- Rolling window. Keep the last N turns plus a running summary; replace older detail with concise meta-summaries.
- Episodic memory. Group context into episodes per task, each holding goals, outcomes, and a simplified reasoning chain.
- Auto-summarization. Use a secondary model to condense reasoning logs into short narrative form.
- Cross-session persistence. Store embeddings in a vector database (for example Chroma, Pinecone, or Redis) and retrieve only the relevant snapshots when a new session opens.
Multi-agent context
When agents collaborate, context design becomes a communication protocol.
| Operation | Approach | Benefit |
|---|---|---|
| Shared memory | A central vector store all agents can read | Persistent cross-task knowledge |
| Context passing | Each agent hands the next a structured summary | Less redundancy and overload |
| Subagent isolation | Subagents hold only local, ephemeral context | No cross-contamination of goals |
| Reflection logs | A supervisor reviews task traces | Quality control across the swarm |
Evaluating context
Periodic checks keep reasoning stable. Track these signals over time:
| Metric | What it measures | How to check |
|---|---|---|
| Relevance | Information matches the current intent | Semantic similarity above a threshold |
| Noise ratio | Redundant tokens crowding the window | Signal tokens vs. total tokens |
| Hallucination risk | Unverified or contradictory content | Flag conflicts across sources |
| Drift | Topic or tone shift since the last cycle | Embedding distance beyond a limit |
| Compression | Tokens saved vs. meaning kept | Summary compared against the original |
Failures and fixes
| Failure | Symptom | Fix |
|---|---|---|
| Overflow | Older data truncated | Summaries or vector recall |
| Relevance drift | Irrelevant info repeated | Re-summarize with explicit goals each iteration |
| Contradictory prompts | Conflicting instructions | Enforce hierarchy: System > User > Tool |
| Noise accumulation | Logs swamp the window | Token thresholds and cleanup passes |
| Memory hallucination | False references retrieved | Validate before reuse |
Context engineering vs. prompt engineering
Prompt engineering defines what to ask; context engineering defines what the agent remembers and reasons over.
| Discipline | Focus | Example |
|---|---|---|
| Prompt engineering | The instruction to the model | “Summarize this PDF in four sentences.” |
| Context engineering | The supporting information around it | Supplying prior project summaries and key quotes |
Prompts are instructions; context is memory plus environment. Together they let an agent reason consistently across a long task.
Implementation notes
- Start small. Begin with minimal context; grow it only as the workflow demands.
- Automate compaction. Run summarizers between steps rather than by hand.
- Score by recency and relevance. Fetch only task-relevant data.
- Keep layers separate. System, context, and memory stay structurally distinct.
- Add reflection checkpoints. Summarize the outcome and update memory after each major step.
- Watch token size. Bloated context costs latency and money; audit it.
Common use cases
| Application | Role of context engineering |
|---|---|
| Research agents | Maintain literature summaries and evolving hypotheses without duplication |
| Code assistants | Hold project architecture and prior logic while generating new files |
| Support bots | Persist account history and prior resolutions |
| Workflow orchestration | Pass compact step-memories between planning and execution agents |
| Productivity agents | Recall goals, notes, and progress transparently |
Building a persistent memory layer
The hardest context-engineering problem is durable memory — letting an agent carry state across sessions instead of starting blank each time. Two worked implementations in this collection:
- Custom LLM Memory Layer — extract, embed, retrieve, and maintain memories with DSPy and a vector database.
- Self-Organizing Agent Memory — a fuller, runnable SQLite implementation using memory cells and scene consolidation.
Key takeaways
- ACE manages what an agent sees, remembers, and uses at each reasoning step.
- Good context balances recency, relevance, and compression.
- The gather → compact → rebuild loop creates a self-maintaining reasoning cycle.
- Layered prompts, vector retrieval, and prioritization prevent overflow and drift.
- ACE bridges prompt engineering and memory architecture — the spine of a reliable agent.
- Evaluate context with metrics; unmeasured context degrades silently.

