BlogAgentic AIContext EngineeringLLM Architecture

Context Engineering: What Prompt Engineering Becomes

A bigger window did not solve the problem. Why context is a budget, what the evidence shows and does not, and NKK's layer stack and triage matrix, with a ledger and scorecard to apply them.

Author
NKK Innovations Research Team
Published
Reading time
14 min read
Blog

Key takeaways

  • Vendor docs say accuracy and recall degrade as tokens grow. In NoLiMa, GPT-4o fell from 99.3% to 69.7% at 32K tokens once literal overlap was removed.
  • 'Context rot' is several mechanisms, not one law: position bias, length itself, distractors and error compounding. Causes are unsettled, but the practical advice converges.
  • Four levers (write, select, compress, isolate) each trade tokens for risk. In one Anthropic cookbook probe a summary kept 3 of 3 high-level facts and 0 of 3 obscure ones.
  • Our own NKK models, a layer stack and a triage matrix (plus a ledger and scorecard): stable layers first, volatile layers cleared first, exact-value facts externalised, not summarised.
  • Persistent context is an attack surface, and public evidence on enterprise outcomes is limited. Measure token share by layer on your own tasks before tuning.

Million-token windows are now routine [1], and the vendors who sell them warn against filling them. Anthropic's own documentation says that "more context isn't automatically better" [1]. Our thesis is simple: the unit of design is no longer the prompt but the window, and the window is a budget that has to be spent, aged and cleared on purpose. Prompt engineering does not vanish. It becomes one layer in a larger system, which is why the accurate verb is "subsumes", not "replaces".

The evidence for a budget view is uneven but consistent in direction. Two results, from different tasks and setups, show it: accuracy falls when retrieval is not literal [2], and when instructions arrive over several turns [3]. A vendor-run report adds that a focused prompt can beat a padded one [4]; it is discussed below.

Two results that a bigger window does not fix
Key figures
  • 69.7%

    GPT-4o accuracy at 32K tokens, down from 99.3% (NoLiMa)

  • 39%

    average drop in underspecified multi-turn chats (15 LLMs)

Different tasks and setups, so not comparable point for point. In NoLiMa, 11 of 13 models fell to half or less of their short-context baseline at 32K.

How vendors define context engineering, and where they differ

The major definitions converge. Anthropic calls it "the set of strategies for curating and maintaining the optimal set of tokens (information) during LLM inference" [5]. Harrison Chase of LangChain describes "building dynamic systems to provide the right information and tools in the right format" [6]. Google's agent-framework write-up says "Context is a compiled view over a richer stateful system" [7]. OpenAI's cookbook reduces it to "deciding what goes into the model's input on each request" [8]. Thoughtworks moved it from Assess (November 2025) to Adopt (April 2026, Vol. 34, still the latest volume when we checked on 13 October 2026) on its Technology Radar, saying it "has evolved from an optimization tactic into a foundational architectural concern" [9].

They differ on scope, and we found no formal standard.

Three official framings, side by side
Comparison
Core idea
Anthropic
Optimal set of tokens during inference
Google (ADK)
Context as a compiled view over stored state
Thoughtworks Radar
Designing and optimising the information given to an LLM at inference
Scope stated
Anthropic
System instructions, tools, MCP, external data, history
Google (ADK)
Working context rebuilt per call by ordered processors from Session, Memory, Artifacts
Thoughtworks Radar
Progressive disclosure, tool selection, sub-agent compression
Emphasis
Anthropic
Smallest high-signal set; finite attention budget
Google (ADK)
Separate storage from what the model sees
Thoughtworks Radar
An architectural concern, not a tactic
Each cell paraphrases or quotes the cited page; LangChain's and OpenAI's framings are quoted in the paragraph above. The framings converge on runtime assembly of everything the model sees; they differ on whether tools and memory count.SourceSourceSource

Why more context can make agents worse

"Context rot" is a bundle of mechanisms, not a single law. Separating them matters because the fixes differ.

Position. In Lost in the Middle, accuracy was highest when relevant information sat at the start or end of the input and fell when it sat in the middle, even for models built for long contexts [10]. In the worst settings GPT-3.5-Turbo did worse than with no documents at all (56.1% closed-book) [10]. Those were 2023 models, so take the pattern, not the magnitude. A 2024 follow-up links the effect to a U-shaped attention bias favouring the start and end "regardless of their relevance" [11].

Length itself. Across five models on math, QA and coding, performance fell 13.9% to 85% as input grew, even when the models could retrieve every relevant item, and the drop persisted when irrelevant tokens were replaced with whitespace [12].

Distractors and non-literal matching. Chroma, in a vendor-run report without peer review, found that even a single distractor lowers performance, and, unexpectedly, that shuffled haystacks beat logically coherent ones; the authors call it surprising and offer only an untested speculation about attention [4]. NoLiMa shows the same fragility once literal overlap is removed [2].

Compounding errors. In Laban et al., the 39% average loss (the paper's abstract and text say 39%; its Figure 1 caption says 35%) showed up as a 112% rise in unreliability against a roughly 16% loss of aptitude. Giving the same information in one turn scored 95.1% of the fully specified baseline, so the loss was not missing information. The authors attribute it to early assumptions the model then over-relies on [3].

Headline numbers measure the easy case. Google reports about 99% on a single-needle query, but its own documentation says accuracy is lower when several pieces of information must be found [13]. RULER tested 17 long-context models that all claimed at least 32K tokens; only about half kept satisfactory performance at 32K [14].

GPT-4o accuracy as input length grows (NoLiMa)
Chart
  • Base score (short context)
    99.3
  • 1K tokens
    98.1
  • 2K tokens
    98
  • 4K tokens
    95.7
  • 8K tokens
    89.2
  • 16K tokens
    81.6
  • 32K tokens
    69.7

Values in accuracy, %.

One model, one benchmark, one metric: GPT-4o on NoLiMa questions with little literal overlap. Accuracy falls steadily with length, although the model claims a 128K window.Source

The vendor-run Databricks study (over 2,000 experiments on 13 models) concluded that "Longer context is not always optimal for RAG" [15]. Its failure analysis shows how uneven the effect is: DBRX-instruct's instruction-following failures rose from 5.2% at 8k tokens to 50.4% at 32k, while gpt-4o, claude-3.5-sonnet and gpt-4o-mini showed little to no performance deterioration [15]. The source does not state the denominator for the failure rates, and the models are from 2024. Whether position, length, distractors or step count dominates is unsettled; Anthropic's explanation is an attention budget, because every token attends to every other, giving n² pairwise relationships [5]. The practical advice is mechanism-agnostic: less, cleaner, better-placed material, and a reset when history goes bad.

Our opinion: treat the claimed window as a ceiling and the tested window as the number you plan around. Run your own tasks at roughly 10%, 25%, 50% and 100% of the window, plot accuracy and cost, and take the point where the curve bends as the working limit for that model and task. That is a method, not a published threshold, and the answer will change with the next model.

Four levers, and what each costs

LangChain's taxonomy is a useful frame: write context outside the window, select what comes in, compress what stays, and isolate work into separate windows [16]. Each lever trades tokens for a specific risk.

Write, select, compress, isolate
Comparison
Write
What it does
Persists notes and facts outside the window
Vendor example
Memory tool: client-side files the application controls
Main failure mode
Stale or poisoned memory
Select
What it does
Loads only what the next step needs
Vendor example
Tool search; skills loaded in stages
Main failure mode
Wrong or missed retrieval
Compress
What it does
Replaces old turns or results with less
Vendor example
Compaction, tool-result clearing
Main failure mode
Lossy for exact details
Isolate
What it does
Gives sub-agents clean windows
Vendor example
Lead agent plus sub-agents returning summaries
Main failure mode
Token cost; lost detail at handoff
A decision aid. Failure modes are partly documented (lossy compaction, token cost of multi-agent systems, memory expiry and poisoning) and partly NKK's judgement (missed retrieval, lost detail at handoff). Each lever needs an evaluation, not a switch.SourceSourceSourceSourceSource

Write. Anthropic's memory tool is client-side: Claude asks for file operations and the application executes them. The docs recommend pairing compaction, which keeps active context small, with memory, which preserves what must survive summarisation [17].

Select. Tool definitions are context. A five-server setup can consume about 55k tokens before any work, and selection accuracy degrades beyond 30 to 50 tools [18]. Anthropic reports that on-demand loading cut total context before any work in one setup from about 77K to about 8.7K tokens, about 72K of the 77K being tool definitions [22]. Separately, presenting servers as code APIs cut a Google Drive to Salesforce workflow from about 150,000 to about 2,000 tokens [23]; that post does not itemise how much of the saving is definitions and how much is intermediate data staying out of the model's context. Both are vendor examples, not benchmarks. The first post calls its reduction 85%, but its own figures work out to about 89%.

Total context before any work, in one Anthropic worked example
Chart
  • All tools loaded up front
    77,000
  • On demand, via tool search
    8,700

Values in tokens.

Anthropic's advanced tool use example, rounded as the post states it: about 77K tokens in total, of which about 72K were tool definitions, against about 8.7K on demand (about 89% less on its own figures). A vendor example, not a benchmark.Source

Compress. Anthropic's docs describe compaction as keeping the active context small "because response quality degrades as a conversation grows" [20]. It is lossy. In one cookbook probe, a summary kept 3 of 3 high-level facts and 0 of 3 obscure specifics, from a single run scored by simple string matching [24]. The ACE paper names two related failures, brevity bias and context collapse, where iterative rewriting erodes detail [25].

Peak context in one research-agent task
Chart
  • Baseline (no management)
    335,279
  • Tool-result clearing
    173,137
  • Compaction
    169,164

Values in tokens.

A single run each from Anthropic's cookbook, vendor-published and illustrative. The runs are not turn-matched (baseline 5 turns, the other two 7), the compaction peak came at turn 3 before compaction fired at turn 4, and the cookbook reports no quality comparison. File-read results made up 96.3% of the baseline's context.Source

Isolate. Anthropic reports that multi-agent systems use about 15 times the tokens of chat, and that a lead agent with sub-agents scored 90.2% better than a single agent in a June 2025 internal research eval with Claude Opus 4 leading Claude Sonnet 4 sub-agents [21]. This does not contradict the small-window advice. Spend more tokens in total, across several clean windows, but keep each window small. That is NKK's reading: budget per window, not per task.

Caching cuts across all four. OpenAI notes that reuse needs an identical prefix, so stable content goes first, and that "Summarization, compaction, or context truncation can change the prefix and reset cache reuse" [26]. An archived OpenAI cookbook page, written for models before GPT-5.6 and undated, puts it more bluntly: context engineering and prompt caching "are inherently at odds" [8]; treat that as a historical framing, since the current guide [26] says only that these operations can reset reuse. Caching also changes price, not occupancy: cached prefixes still fill the window [1].

The NKK Context Layer Stack

The stack is our model for deciding what enters the window and in what order. It builds on Google's session, memory and artifact tiers [7], Anthropic's staged loading of skills [19] and OpenAI's stable-prefix rule [26]. Anthropic also advises putting long documents above the query, with query-at-end improving quality by up to 30% in its tests (test details not given) [27], and Google gives the same advice [13].

NKK Context Layer Stack
NKK framework
  1. 1. Policy and role

    System instructions, guardrails, output contract. Short, at the right altitude.

    stable, cache
  2. 2. Capabilities

    Index of tools and skills only; detail loaded on demand.

    semi-stable, defer
  3. 3. Reference knowledge

    Documents and artifact handles, loaded just in time.

    semi-stable, fetch
  4. 4. Durable memory

    Facts and lessons that outlive a session, with provenance and expiry.

    persistent, store
  5. 5. Working state

    Plan, progress notes, recent turns verbatim for a few turns.

    volatile, summarise or reset
  6. 6. Evidence stream

    Raw tool results and observations. Cleared and re-fetchable by default.

    most volatile, clear
Six layers ordered from most stable to most volatile. The user's question goes after all of them. Stable layers sit first so they cache and keep position advantage; volatile layers are the first to be cleared.
Admit, place, age, evict: rules for every item
NKK framework
  1. Step 1: Admit

    Does the next step need this item at all? If not, leave it out.

  2. Step 2: Place

    Stable first, question last. Put it in the layer that matches its volatility.

  3. Step 3: Age

    Set a trigger to summarise, clear or refresh it, such as a token share or a workflow boundary.

  4. Step 4: Evict

    Drop it, move it to a file or store, or reset the window.

Each layer gets an admit, place, age and evict rule. The triggers are yours to measure.

How to use it. Give each layer an owner and the admit, place, age and evict rules. Then measure: log the token share of each layer from the usage field of real runs, and set a trigger for overrun, such as deferring tools when definitions dominate or clearing results when the evidence stream does. The cookbook run, where file reads were 96.3% of context, shows why the split must be measured rather than assumed [24]. We publish no recommended percentages because none exist in the sources we trust. The stack and the triage matrix below are the two core models; the ledger and the scorecard are aids for applying them.

NKK Context Budget Ledger
NKK framework
Capabilities
Measure
Tokens of tool and skill definitions
Trigger (set your own threshold)
Definition tokens exceed tokens of task content
Default action
Defer behind search
Reference knowledge
Measure
Tokens of retrieved documents
Trigger (set your own threshold)
Two or more retrieved documents overlap in what they answer
Default action
Rerank, keep fewer, hold handles
Working state
Measure
Tokens of turns and notes
Trigger (set your own threshold)
Workflow boundary reached, or your set share exceeded
Default action
Summarise, or reset with a handoff note
Evidence stream
Measure
Tokens of raw tool output
Trigger (set your own threshold)
Results no later step references
Default action
Clear and re-fetch on demand
A ledger template with no numbers on purpose: shares are an output of your measurements, set per window. Layers 1 and 4 are left out because they are meant to stay small and are governed by review and expiry rather than token triggers.

Where it breaks. The ordering is a heuristic drawn from vendor guidance and benchmarks, not a measured optimum. Layers blur: a tool result can become memory. The stack is a logical ordering, not a byte layout. Layers 1 to 3 can be physically ordered so they cache, but layers 5 and 6 interleave chronologically in an append-only transcript, and, by the same logic, our inference is that a mid-session memory change that edits the prefix would also reset the cache, so make memory changes at session boundaries. The sources name summarisation, compaction and truncation, not memory edits [26][8]. Summaries lose exact values. And rules age with the model. Anthropic's harness write-up found that with one model, "context anxiety" made compaction insufficient and resets essential, while a later model largely removed the behaviour [28]. A per-window budget also ignores step-count decay across a long run, whose role is contested.

Deciding what to keep: the Context Triage Matrix

The stack says where things live. The matrix sorts any candidate item by two questions: how often later steps will need it, and how costly it is if it is lost or wrong.

NKK Context Triage Matrix
NKK framework Illustrative
HighCost if lost or wrongLow
Externalise
Pin
Clear
Summarise
Compliance constraint
Account number in a table
Raw search result page
Early project background
Rarely neededReuse across later stepsNeeded often
Externalise
Exact, rarely used. Keep in a file or store, load on demand.
Pin
Constraints, schemas, decisions. Known up front: cached prefix. Decided mid-session: a pinned note, exempt from compaction.
Clear
Old tool payloads and dead ends. Replace with a short placeholder.
Summarise
Background that matters in aggregate. Compact it.
Example items placed by judgement, not measured. The point is the treatment each quadrant implies.

The quadrants map back to the stack: Pin to layer 1 (known up front) or layer 5 (decided mid-session, appended after the cached prefix so it does not edit it), Externalise to layers 3 and 4, Summarise to layer 5, and Clear to layer 6. The treatments also map to documented options. OpenAI separates trimming (deterministic, no added latency, forgets long-range context abruptly) from summarisation (keeps long-range decisions, adds latency and cost, and errors can compound) [29]. Its guidance on memory adds that compaction continues one run, memory improves future runs, and compaction belongs "at meaningful workflow boundaries, not after every turn" [30]. Anthropic's cookbook states the split: "Memory solves the cross-session problem; clearing and compaction solve the in-session one" [24].

Where it breaks. Reuse and loss cost are judgements made before the work happens. The lesson from the 0-of-3 probe is that low-salience exact values, such as the account number in the top-left example above, look unimportant and are not. Anything with an exact-value requirement moves to the top row, however minor it appears.

Persistent context is also an attack surface

Anything the model reads can carry instructions. The OWASP Top 10 for LLM Applications 2025 edition says "Indirect prompt injections occur when an LLM accepts input from external sources, such as websites or files." It recommends separating untrusted content, limiting privileges and requiring human approval for privileged actions [31]. That wording and those recommendations are from the 2025 edition; OWASP also lists a 2026 edition [32]. The agentic list includes "Memory & Context Poisoning" as ASI06 [33], and a co-lead of the ASI06 entry writes that "A memory file is not just stored text. It can influence future decisions" [34].

Long contexts weaken oversight too. In an Anthropic-affiliated preprint, frontier models used as monitors missed subtly dangerous agent actions 2x to 30x more often when the action followed 800K tokens of benign activity [35]. And OpenAI's server-side compaction returns an encrypted item that is "opaque and not intended to be human-interpretable" [36]. Our inference: if you cannot read what survived, keep a readable note alongside it.

What to do next

  1. Measure, then test. Log tokens by layer for a sample of real runs and do not tune anything until you know where tokens go [24]. Then rerun your own tasks at several context sizes, because vendor headline windows measure the easy case [14].
  2. Move rarely used tools behind search, especially at ten or more tools or above 10k tokens of definitions, the point at which Anthropic's docs recommend tool search [18].
  3. Set reset and compaction rules per model, and re-test on every model change [28].
  4. Externalise facts that must survive. Use files and progress notes rather than hoping a summary keeps them [37].
  5. Give memory an expiry, and treat it as untrusted input. Anthropic's memory tool docs cover expiration [17]; OWASP treats memory as an attack surface [34]. Recording provenance is NKK's view, not a cited requirement.
  6. Grade outcomes, and use pass^k for reliability. At 75% per trial, three consecutive passes occur about 42% of the time [38]. OpenAI's cookbook agrees: "evals is all you need for context engineering too" [29].

Use this scorecard to prioritise the steps above.

Context readiness
NKK framework
0 of 5 answered
Measurement

Do you know the token share of each layer in real runs?

Triggers

Does each layer have an overrun trigger and action?

Exact-value facts

Are facts that must survive kept outside summaries?

Model change

Do you re-test reset and compaction rules when the model changes?

Memory hygiene

Does memory carry provenance and expiry?

Answer all 5 dimensions to see your score and where to start.

Score each dimension honestly. A one or two on Exact-value facts or Memory hygiene is the first place to act. Provenance is NKK's recommendation; expiry is covered in Anthropic's memory tool documentation.

Conclusion

Context is a managed budget, and the system prompt is one line item in it. The best public evidence comes from benchmarks and vendor engineering, with little independent evidence on enterprise outcomes, so claim no more than you have measured. Our stance: before changing any prompt, model or window size, spend this week on one measurement. Log the token share of each layer on one real workflow, set a trigger for the layer that dominates, and let outcome evaluations decide what stays.

References

Every figure and regulatory statement in this piece traces to a numbered source below. Links open the original publisher in a new tab.

  1. Reference 1: Context windows(opens in a new tab)
    Anthropic (Claude Developer Platform documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  2. Reference 2: NoLiMa: Long-Context Evaluation Beyond Literal Matching(opens in a new tab)
    ICML 2025 (arXiv 2502.05167)Published Feb 2025Accessed 13 Oct 2026Tier 1: Primary source
  3. Reference 3: LLMs Get Lost In Multi-Turn Conversation(opens in a new tab)
    ICLR 2026 (arXiv 2505.06120; Microsoft Research and Salesforce Research)Published 9 May 2025Accessed 13 Oct 2026Tier 1: Primary source
  4. Reference 4: Context Rot: How Increasing Input Tokens Impacts LLM Performance(opens in a new tab)
    Chroma (technical report; vendor-run, not peer reviewed)Published 14 Jul 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  5. Reference 5: Effective context engineering for AI agents(opens in a new tab)
    Anthropic (Engineering blog)Published 29 Sept 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  6. Reference 6: The rise of 'context engineering'(opens in a new tab)
    LangChain (Harrison Chase)Published 23 Jun 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  7. Reference 7: Architecting efficient context-aware multi-agent framework for production(opens in a new tab)
    Google Developers BlogPublished 4 Dec 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  8. Reference 8: Prompt Caching 201(opens in a new tab)
    OpenAI (OpenAI Cookbook; archived page)Published undatedAccessed 13 Oct 2026Tier 2: Research / official docs
  9. Reference 9: Context engineering (Technology Radar blip)(opens in a new tab)
    Thoughtworks Technology RadarPublished 2025-11-05 (Assess); 2026-04 (Adopt, Vol. 34)Accessed 13 Oct 2026Tier 2: Research / official docs
  10. Reference 10: Lost in the Middle: How Language Models Use Long Contexts(opens in a new tab)
    Transactions of the Association for Computational Linguistics (arXiv 2307.03172)Published Jul 2023Accessed 13 Oct 2026Tier 1: Primary source
  11. Reference 11: Found in the Middle: Calibrating Positional Attention Bias Improves Long Context Utilization(opens in a new tab)
    ACL Findings 2024 (arXiv 2406.16008)Published Jun 2024Accessed 13 Oct 2026Tier 1: Primary source
  12. Reference 12: Context Length Alone Hurts LLM Performance Despite Perfect Retrieval(opens in a new tab)
    Findings of EMNLP 2025 (arXiv 2510.05381)Published 6 Oct 2025Accessed 13 Oct 2026Tier 1: Primary source
  13. Reference 13: Long context (Gemini API documentation)(opens in a new tab)
    Google AI for DevelopersPublished undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  14. Reference 14: RULER: What's the Real Context Size of Your Long-Context Language Models?(opens in a new tab)
    COLM 2024 (arXiv 2404.06654)Published Apr 2024Accessed 13 Oct 2026Tier 1: Primary source
  15. Reference 15: Long Context RAG Performance of LLMs(opens in a new tab)
    Databricks (research blog; vendor-run, not peer reviewed)Published 12 Aug 2024Accessed 13 Oct 2026Tier 2: Research / official docs
  16. Reference 16: Context Engineering (for agents)(opens in a new tab)
    LangChain (The LangChain Team)Published 2 Jul 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  17. Reference 17: Memory tool(opens in a new tab)
    Anthropic (Claude Developer Platform documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  18. Reference 18: Tool search tool(opens in a new tab)
    Anthropic (Claude Developer Platform documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  19. Reference 19: Equipping agents for the real world with Agent Skills(opens in a new tab)
    Anthropic (Engineering blog)Published 16 Oct 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  20. Reference 20: Compaction overview(opens in a new tab)
    Anthropic (Claude Developer Platform documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  21. Reference 21: How we built our multi-agent research system(opens in a new tab)
    Anthropic (Engineering blog)Published 13 Jun 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  22. Reference 22: Introducing advanced tool use on the Claude Developer Platform(opens in a new tab)
    Anthropic (Engineering blog)Published 24 Nov 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  23. Reference 23: Code execution with MCP: Building more efficient agents(opens in a new tab)
    Anthropic (Engineering blog)Published 4 Nov 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  24. Reference 24: Context engineering: memory, compaction, and tool clearing(opens in a new tab)
    Anthropic (Claude Cookbook)Published 20 Mar 2026Accessed 13 Oct 2026Tier 2: Research / official docs
  25. Reference 25: Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models(opens in a new tab)
    ICLR 2026 per arXiv comments (arXiv 2510.04618)Published 6 Oct 2025Accessed 13 Oct 2026Tier 1: Primary source
  26. Reference 26: Prompt caching(opens in a new tab)
    OpenAI (API documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  27. Reference 27: Prompting best practices (long-context section)(opens in a new tab)
    Anthropic (Claude Developer Platform documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  28. Reference 28: Harness design for long-running application development(opens in a new tab)
    Anthropic (Engineering blog)Published 24 Mar 2026Accessed 13 Oct 2026Tier 2: Research / official docs
  29. Reference 29: Context Engineering - Short-Term Memory Management with Sessions(opens in a new tab)
    OpenAI (OpenAI Cookbook)Published undatedAccessed 13 Oct 2026Tier 2: Research / official docs
  30. Reference 30: Building Reliable Agents with Memory and Compaction(opens in a new tab)
    OpenAI (OpenAI Cookbook)Published undatedAccessed 13 Oct 2026Tier 2: Research / official docs
  31. Reference 31: LLM01:2025 Prompt Injection(opens in a new tab)
    OWASP Gen AI Security ProjectPublished 2025Accessed 13 Oct 2026Tier 1: Primary source
  32. Reference 32: OWASP GenAI LLM Top 10 2026(opens in a new tab)
    OWASP Gen AI Security ProjectPublished 3 Aug 2026Accessed 13 Oct 2026Tier 1: Primary source
  33. Reference 33: OWASP Top 10 for Agentic Applications - The Benchmark for Agentic Security in the Age of Autonomous AI(opens in a new tab)
    OWASP Gen AI Security ProjectPublished 9 Dec 2025Accessed 13 Oct 2026Tier 1: Primary source
  34. Reference 34: Memory Is a Feature. It Is Also an Attack Surface(opens in a new tab)
    OWASP Gen AI Security Project (Idan Habler)Published 13 May 2026Accessed 13 Oct 2026Tier 2: Research / official docs
  35. Reference 35: Classifier Context Rot: Monitor Performance Degrades with Context Length(opens in a new tab)
    arXiv 2605.12366 (preprint; Anthropic-affiliated authors)Published 12 May 2026Accessed 13 Oct 2026Tier 2: Research / official docs
  36. Reference 36: Compaction (API guide)(opens in a new tab)
    OpenAI (API documentation)Published undated (living documentation)Accessed 13 Oct 2026Tier 2: Research / official docs
  37. Reference 37: Effective harnesses for long-running agents(opens in a new tab)
    Anthropic (Engineering blog)Published 26 Nov 2025Accessed 13 Oct 2026Tier 2: Research / official docs
  38. Reference 38: Demystifying evals for AI agents(opens in a new tab)
    Anthropic (Engineering blog)Published 9 Jan 2026Accessed 13 Oct 2026Tier 2: Research / official docs
Blog
BlogAgentic AI

Evaluating and Observing AI Agents in Production

A benchmark pass, a judge score and a green dashboard are different instruments with documented gaps. Here is what the evidence shows and a layered NKK model for evaluating agents in production.

14 min read
WhitepaperData and Knowledge Foundations for Production AI
Whitepaper PDFKnowledge Platforms

Data and Knowledge Foundations for Production AI

NKK argues that much of RAG's headroom sits upstream of the model; no public source sizes the share. Four principal NKK models for readiness, pattern choice, trust and failure triage, built on cited evidence.

34 min read
Guide
GuideRAG

The Production RAG Guide: Retrieval, Reranking and Evaluation

Debug RAG bottom-up: corpus, candidate recall, rank and cut, context use, answer shape, authorization. A sourced guide to chunking, hybrid search, reranking, evaluation and permissions, with five NKK models.

19 min read