Agentic Cache
Overview
Section titled “Overview”Agentic Cache is currently a workspace settings and analytics surface. Its live bridge records hit/miss and savings outcomes from the separate semantic-cache plugin with persisted tenant, workspace, Virtual Key, kind, and optional tool dimensions. The Agentic Cache component defines generic storage methods, but no production request path calls those methods to serve a response, tool result, embedding/RAG result, or MCP discovery response in this release.
This distinction matters: a row or enabled toggle in the Agentic Cache console does not prove that an execution cache exists for that kind. Configure the live semantic-cache plugin and Virtual Key scope controls separately, then validate isolation under concurrent traffic.
Key benefits:
- Reconciled analytics - existing semantic-cache outcomes are attributed to exact-response or semantic rows with saved-token and saved-cost counters.
- Scoped reporting - persisted events are tenant/workspace scoped and can be filtered by Virtual Key. Principal class is not persisted in this event table.
- Explicit execution boundary - the console inventories exact response, semantic, tool result, embedding/RAG, and MCP discovery separately while identifying which rows are telemetry-only or reserved. Canonical GAF-governed MCP execution hard-bypasses the legacy tool-result cache.
- Persisted configuration - workspace settings and reserved controls can be saved without a restart, but only a wired execution path can consume them.
How it differs from the other caches
Section titled “How it differs from the other caches”DeepIntShield exposes three related cache surfaces. Do not treat them as one shared execution cache.
| Capability | What it caches | Scope |
|---|---|---|
| Agentic Cache (this page) | Semantic-cache outcome analytics plus reserved response, tool-result, embedding, and discovery settings | Authorization-bound reporting; it does not serve entries on production request paths |
| Semantic caching | LLM responses by exact + vector similarity | Per model/provider, with virtual-key scoping |
| Provider prompt caching | The static prefix of a prompt, at the upstream provider | Per provider |
Agentic Cache attributes the savings from your semantic cache into its
response (exact) and semantic kinds, so you see one reconciled
$/token saved figure across the console rather than two competing numbers.
When to use it
Section titled “When to use it”- You want one workspace view of hit/miss and savings events emitted by the existing semantic-cache plugin.
- You need to distinguish active response-cache telemetry from reserved embedding, MCP discovery, and tool-result controls.
- You are preparing a future cache integration and want to persist intended settings now, without claiming that those settings short-circuit execution.
Configuration
Section titled “Configuration”All per-workspace Agentic Cache settings live on Agentic Cache → Settings. The Agentic Caches page also renders one row per modeled kind. Only the response/semantic rows receive live events, and those events describe work done by the separate semantic-cache plugin; the other rows are reserved inventory.
-
Open Workspace → Agentic Cache → Settings.
-
Under Master, turn on Agentic cache enabled to enable the analytics bridge and its workspace-level event gating. This switch does not enable the separate semantic-cache plugin or create an execution cache.
-
Under Semantic & safety, review the persisted threshold, read-only, high-risk, encryption, and obligation fields. They are reserved Agentic Cache configuration in the current runtime; they do not retune the separately configured semantic-cache plugin or enable MCP result caching.
-
Under TTLs (seconds), set the reserved Exact response, Semantic, and Tool-result values. No production Agentic Cache
Get/Putcall consumes these TTLs today. -
Click Save.
-
Go to Agentic Cache → Agentic Caches to inspect the modeled kinds. Response and semantic hit rates are telemetry bridged from semantic-cache outcomes. Tool-result, embedding, and MCP discovery rows are reserved and should remain at zero unless a future release wires an execution producer. Their toggles persist intent only.
The Security Caches page lists the read-mostly caches that reduce authorization-path latency (decision/verdict, policy, key config). Cache lookup and enforcement still have measurable overhead, and misses require backing-store or policy work. The caches are invalidated structurally and on revocation push - see Agentic Security for the decision cache.
Settings reference
Section titled “Settings reference”| Field | Type | Default | Description |
|---|---|---|---|
enabled | boolean | true | Gates Agentic Cache event recording for the workspace; it does not enable the semantic-cache plugin. |
response_enabled | boolean | true | Gates exact-response outcome analytics bridged from semantic-cache. |
semantic_enabled | boolean | true | Gates semantic outcome analytics bridged from semantic-cache. |
tool_result_enabled | boolean | true | Reserved configuration/UI field; canonical GAF hard-bypasses direct MCP result caching. |
embedding_enabled | boolean | true | Reserved configuration/UI field; no embedding/RAG execution cache is wired. |
mcp_discovery_enabled | boolean | true | Reserved configuration/UI field; no tools/list execution cache is wired. |
semantic_threshold | number (0–1) | 0.92 | Reserved Agentic Cache threshold; it does not configure the semantic-cache plugin. |
semantic_read_only | boolean | true | Reserved Agentic Cache mode. |
never_cache_high_risk | boolean | true | Reserved tool-result safety field; canonical GAF results remain uncached. |
encrypt_at_rest | boolean | true | Reserved payload-storage field; the analytics bridge stores no cached payload. |
honor_obligations | boolean | true | Reserved payload-serving field; the analytics bridge never serves a response. |
response_ttl_seconds | integer | 3600 | Reserved TTL; not consumed by a production Agentic Cache lookup. |
semantic_ttl_seconds | integer | 1800 | Reserved TTL; not consumed by a production Agentic Cache lookup. |
tool_result_ttl_seconds | integer | 600 | Reserved TTL; canonical GAF tool execution does not consume it. |
Cache kinds
Section titled “Cache kinds”| Kind | What it reuses | Notes |
|---|---|---|
| Exact response | Analytics for exact hits reported by semantic-cache | Telemetry only in Agentic Cache; configure the semantic-cache plugin separately. |
| Semantic | Analytics for vector hits reported by semantic-cache | Telemetry only in Agentic Cache; its threshold/TTL fields do not control the plugin. |
| Tool result | Reserved compatibility row | Canonical GAF reads and writes are hard-bypassed; no production Agentic Cache caller serves it. |
| Embedding | Reserved embedding/RAG row | No production execution cache is wired. |
| MCP discovery | Reserved tools/list row | No production execution cache is wired. |
Per-virtual-key cache scope
Section titled “Per-virtual-key cache scope”This section configures the live semantic-cache plugin, not the reserved Agentic Cache storage methods. Semantic reuse is bounded by the scope that distinguishes one caller from another inside a shared virtual key. By default the gateway scopes automatically; you can pin a scope mode on each virtual key for tighter control.
The available scope modes are:
| Mode | A cached entry is shared across… |
|---|---|
virtual_key | All callers using the same virtual key. |
user | The same end user (resolved from request user / governance identity). |
use_case | The same use_case metadata value. |
session | The same session. |
custom_metadata | The same value of the metadata keys you nominate. |
none | No reuse - caching is effectively off for the key. |
On a virtual key (Workspace → Virtual Keys → edit), the cache controls are:
- Automatic Cache - enable or disable automatic cache scoping for the key.
- Semantic Cache - enable or disable semantic matching for the key.
- Scope mode - pick the scope (
virtual_key,user,use_case,session,custom_metadata, ornone) and, for a custom scope, the metadata keys that define it (for exampleuse_case, orsession_idfor a session-scoped key). - Allow semantic reuse on unscoped requests - leave off if several end users share one key and you don’t want one user’s response served to another. When off, semantic lookups on a key with no per-caller scope are suppressed.
- Cache Key - an optional fixed cache key for the key. Leave it empty to use
automatic scoping; a request-level
x-deepintshield-cache-keyheader still overrides it.
Legacy per-tool MCP cache controls
Section titled “Legacy per-tool MCP cache controls”Outside the canonical GAF path, the legacy direct MCP cache can be explicitly
enabled at workspace/client level and its TTL overridden per tool, including
0s to disable a tool. Each entry maps a "<server>-<tool>" name to a duration
string:
{ "search-web_search": "5m", "db-run_query": "0s"}The direct cache defaults off and only explicitly cacheable tools are eligible.
It does not infer which tools are writes or high risk: operators must exclude
those tools from cacheable_tools and avoid the * wildcard. These controls do
not make a canonical GAF call cacheable; see
MCP tool execution for the enforced boundary.
Monitoring savings
Section titled “Monitoring savings”The Agentic Cache → Overview page combines several counters:
- Decision-cache hit rate from the security decision cache.
- Response and Semantic rows populated by the semantic-cache telemetry bridge. Any generic Agentic-cache hit or calls-skipped tile must be read as reported/bridged activity, not proof that Agentic Cache served a payload.
- Saved (24h) - dollars, tokens, and latency saved.
- Cross-boundary serves - a reserved tile in this release. The overview handler does not populate this counter, so its displayed zero is not evidence that a two-principal isolation test ran.
The semantic-cache plugin performs any real response short circuit. Its outcome is bridged into Agentic Cache after the response and credited with the saved tokens/cost when available. Agentic Cache itself does not perform that lookup or serve the response. Open Agent Insights → Caching for the resulting response/semantic time series; reserved kinds should not be presented as live savings sources.
Examples
Section titled “Examples”Reserved Agentic Cache profile - persist conservative intent and keep MCP tool results explicitly off. This object controls Agentic Cache analytics and reserved fields; configure the live semantic-cache plugin separately:
{ "enabled": true, "response_enabled": true, "semantic_enabled": true, "tool_result_enabled": false, "semantic_read_only": true, "never_cache_high_risk": true, "honor_obligations": true, "semantic_threshold": 0.92, "response_ttl_seconds": 3600, "semantic_ttl_seconds": 1800, "tool_result_ttl_seconds": 600}High-throughput chatbot with shared key, scoped per user - semantic reuse within a single end user only:
{ "cache_enabled": true, "semantic_cache_enabled": true, "cache_scope_mode": "user", "cache_allow_semantic_when_unscoped": false}Next steps
Section titled “Next steps”- Semantic caching - the response-similarity cache whose savings feed the agentic cache’s response and semantic kinds.
- Provider prompt caching - cache the static prompt prefix at the upstream provider.
- Virtual keys - the boundary that scopes every cached entry, plus the per-key cache controls.
- MCP tool execution - understand canonical tool authorization and its result-cache bypass.