This playbook is for RAG and document intelligence teams who hit context window limits and need a recovery strategy that compresses prior context without losing critical facts. Use this prompt when a model response fails due to token overflow, or when you need to preemptively reduce context size before a retry. It instructs the model to produce a dense, structured summary that explicitly preserves named entities, numbers, dates, and claim-evidence pairs. This is not a general summarization prompt. It is a lossless compression instruction designed for high-stakes workflows where dropping a single figure or entity breaks downstream tasks.
Prompt
Context Compression with Key Fact Preservation Prompt Template

When to Use This Prompt
Defines the specific failure conditions and high-stakes workflows where lossless context compression is the correct recovery strategy.
Do not use this prompt when you need a human-readable summary for display to end users, or when the downstream task tolerates approximate recall. This prompt is inappropriate for creative text shortening, conversational history pruning where emotional tone matters more than exact facts, or scenarios where the compression target is a general topic rather than a set of verifiable claims. It is also the wrong tool when the original context already fits comfortably within the model's context window—premature compression introduces unnecessary latency and potential information loss. Reserve this prompt for recovery paths triggered by explicit token limit errors or preflight token counting that predicts overflow.
Before invoking this prompt, ensure your application has detected a genuine context window failure or has calculated that the next request will exceed the model's limit. Wire this prompt into your retry logic as a recovery step that runs after a context_length_exceeded error, not as a default preprocessing step. After compression, validate the output by checking that all critical entity types (dates, amounts, named entities) from the original context appear in the compressed version. If the compression fails your fact-retention evaluation, escalate to a human reviewer or trigger a chunked processing fallback rather than silently proceeding with degraded context.
Use Case Fit
Where context compression with key fact preservation works, where it fails, and what you must have in place before using it.
Good Fit: RAG and Document Intelligence
Use when: You need to reduce retrieved context size before a generation step while preserving named entities, numbers, dates, and claim-evidence pairs. Guardrail: Always run a fact-retention eval comparing the compressed output against the original source, not just against the model's summary.
Bad Fit: Unstructured Creative or Narrative Text
Avoid when: The task requires preserving tone, voice, narrative flow, or stylistic nuance rather than factual payloads. Compression will strip what matters. Guardrail: If style matters, use a separate style-preservation check or route to a different recovery strategy such as sliding-window summarization.
Required Input: Source Text with Identifiable Facts
What to watch: Compression without explicit fact-preservation instructions produces fluent summaries that drop critical details. Guardrail: The prompt must receive source text containing extractable entities, numbers, dates, or claim-evidence pairs. Vague or opinion-heavy text will produce unreliable compression.
Operational Risk: Silent Fact Loss
What to watch: The model produces a plausible-looking compressed output that drops a key number, date, or entity without any warning signal. Guardrail: Implement a post-compression fact-retention eval that extracts claims from both original and compressed text and flags discrepancies above a threshold before the compressed context is used downstream.
Operational Risk: Compression Ratio Overreach
What to watch: Aggressive compression targets force the model to drop facts even when instructed to preserve them. Guardrail: Set a maximum compression ratio and test at that boundary. If fact retention drops below your threshold, escalate to a chunk-and-continue strategy instead of forcing higher compression.
Operational Risk: Downstream Task Contamination
What to watch: The compressed context is fed into a downstream generation step that misinterprets compressed claims as complete evidence. Guardrail: Label compressed context explicitly as compressed and include a confidence or completeness marker so downstream prompts can adjust their reliance accordingly.
Copy-Ready Prompt Template
A ready-to-use prompt template for compressing context while preserving key facts, entities, and evidence.
This template provides a direct instruction for the model to compress a given context down to a strict token budget. It is designed for RAG and document intelligence pipelines where lossless compression is required. The prompt forces the model to preserve named entities, numbers, dates, and claim-evidence pairs exactly as they appear, preventing hallucination or paraphrasing of critical details. Use this template when you need to reduce context size before a retry, fit more evidence into a limited window, or create a dense summary for a downstream task without losing factual integrity.
textCompress the following context to fit within a strict token budget of [MAX_TOKENS]. Preserve all named entities, numbers, dates, and claim-evidence pairs exactly as they appear. Do not paraphrase figures or infer relationships. Output the compressed result as a JSON object with a 'compressed_context' string field and a 'fact_index' array of preserved facts. Context: [INPUT_CONTEXT] Constraints: - Do not alter any numerical value, date, or proper noun. - Maintain the original meaning of each claim-evidence pair. - If the context cannot be compressed without losing required facts, flag the overflow in an 'overflow_flag' boolean field and list the omitted facts in an 'omitted_facts' array.
To adapt this prompt, replace [MAX_TOKENS] with the target token limit for your model and context window. The [INPUT_CONTEXT] placeholder should receive the raw text, retrieved passages, or conversation history you need to compress. In a production harness, you should validate the output JSON schema strictly: confirm compressed_context is a non-empty string, fact_index is an array of strings, and overflow_flag is a boolean. If the model returns invalid JSON, trigger a structured output repair retry. For high-stakes domains like healthcare or finance, route outputs with overflow_flag: true to human review before using the compressed context in downstream decisions. Always log the original context, compressed output, and fact index for auditability.
Prompt Variables
Required inputs for the Context Compression with Key Fact Preservation prompt. Each placeholder must be populated before the prompt is sent to the model. Validation notes describe how to programmatically verify the input before execution.
| Placeholder | Purpose | Example | Validation Notes |
|---|---|---|---|
[ORIGINAL_CONTEXT] | The full text or document that exceeds the token budget and needs compression | A 15-page legal contract with 8,200 tokens of clause text | Required. Must be a non-empty string. Check length > 0. If null or empty, abort and return error before model call. |
[TARGET_TOKEN_COUNT] | The maximum number of tokens the compressed output must not exceed | 1200 | Required. Must be a positive integer. Validate: parseInt > 0. If target exceeds original estimated token count, skip compression and return original context. |
[PRESERVATION_CATEGORIES] | A list of entity types, data classes, or claim structures that must survive compression | Named entities, monetary amounts, effective dates, party obligations, termination conditions | Required. Must be a non-empty array or comma-separated string. Validate: at least one category present. Empty list means no preservation guidance, which risks critical fact loss. |
[OUTPUT_FORMAT] | The structure of the compressed output: dense prose, bulleted fact list, or structured JSON with fact inventory | structured_json | Required. Must be one of: dense_prose, bulleted_facts, structured_json. Validate against allowed enum. Mismatch causes downstream parsing failures. |
[COMPRESSION_RATIO_TARGET] | The desired ratio of original tokens to compressed tokens, used to guide aggressiveness | 0.15 | Optional. Must be a float between 0.0 and 1.0 if provided. Validate: parseFloat, check range. If omitted, model uses [TARGET_TOKEN_COUNT] as the only constraint. |
[FACT_RETENTION_THRESHOLD] | The minimum acceptable percentage of key facts preserved, used for post-compression evaluation | 0.95 | Optional. Must be a float between 0.0 and 1.0 if provided. Used by eval harness, not the compression prompt itself. If set, trigger retry when fact retention falls below threshold. |
[DOMAIN_GLOSSARY] | Domain-specific terms, acronyms, or jargon that must not be paraphrased or lost during compression | NDA, SOW, indemnification, force majeure, cure period | Optional. If provided, must be a non-empty array or comma-separated string. Post-compression eval should check that all glossary terms appear in output when present in original context. |
Implementation Harness Notes
How to wire the context compression prompt into a production application with validation, retries, and observability.
The context compression prompt is not a standalone utility—it is a recovery step inside a larger pipeline. Wire it as a pre-retry transformation that fires when the primary task prompt fails due to context length. The application layer should catch token-limit errors or truncated outputs, invoke the compression prompt on the original context, and then re-attempt the primary task with the compressed payload. This keeps compression logic separate from task logic and makes both easier to test independently.
Build the harness with these concrete components: (1) Trigger condition—detect context overflow via API error codes (e.g., context_length_exceeded), output truncation markers, or preflight token counting against the model's limit. (2) Compression call—send the original context plus the compression prompt template, requesting a structured output that preserves the required fact categories (entities, numbers, dates, claim-evidence pairs). (3) Validation gate—before passing compressed context to the retry, run a schema check that the compressed output contains all required fields and that preserved facts match the original source spans. A simple overlap check on named entities and numeric values catches most compression failures. (4) Retry with compressed context—substitute the compressed output into the original task prompt's [CONTEXT] placeholder and re-execute. (5) Escalation path—if compression itself fails validation or the retry still exceeds limits, escalate to a larger-context model, chunk the task, or route to human review.
For logging and observability, record the compression ratio (original tokens vs. compressed tokens), the fact-retention score from validation, and whether the retry succeeded. These metrics let you tune the compression prompt's aggressiveness over time. Avoid compressing context that is already within token limits—add a minimum threshold (e.g., only compress when context exceeds 80% of the model's limit) to prevent unnecessary latency. When using this in RAG pipelines, compress retrieved passages before they enter the prompt rather than compressing the assembled prompt, which preserves retrieval provenance and makes validation easier.
Expected Output Contract
Defines the required fields, types, and validation rules for the compressed context output. Use this contract to build a parser and validator before integrating the prompt into a production harness.
| Field or Element | Type or Format | Required | Validation Rule |
|---|---|---|---|
compressed_context | string | Must be a non-empty string. Token length must be less than [MAX_OUTPUT_TOKENS]. Must not contain the phrase 'not enough information' unless the source context was empty. | |
preserved_entities | array of objects | Each object must contain 'name' (string), 'type' (string from [ENTITY_TYPES]), and 'mentions' (array of strings). Array must not be empty if entities were present in [INPUT_CONTEXT]. | |
preserved_entities[].name | string | Must match a named entity extracted from [INPUT_CONTEXT]. Case-insensitive match check required. | |
preserved_entities[].type | string | Must be one of the allowed values in [ENTITY_TYPES]. Enum validation required. | |
preserved_entities[].mentions | array of strings | Each string must be a direct quote or a close paraphrase of a sentence from [INPUT_CONTEXT] containing the entity. Citation check required. | |
preserved_numbers | array of objects | Each object must contain 'value' (number), 'unit' (string or null), and 'context_sentence' (string). Array must not be empty if numbers were present in [INPUT_CONTEXT]. | |
preserved_dates | array of objects | Each object must contain 'date' (string in ISO 8601 format), 'description' (string), and 'context_sentence' (string). Array must not be empty if dates were present in [INPUT_CONTEXT]. | |
claim_evidence_pairs | array of objects | Each object must contain 'claim' (string) and 'evidence' (string). If present, 'evidence' must be a direct quote from [INPUT_CONTEXT]. Null allowed if no claims are detected. |
Common Failure Modes
Context compression trades verbosity for density. These failures occur when the compression prompt loses critical facts, entities, or relationships that downstream tasks require.
Named Entity and Identifier Loss
What to watch: Compression drops proper nouns, IDs, account numbers, or product codes that are essential for downstream retrieval or action. The summary reads fluently but is operationally empty. Guardrail: Add an explicit entity preservation list to the prompt template with required fields such as [ENTITIES_TO_PRESERVE]. Validate compressed output by checking that all source entities appear in the result.
Numerical and Date Drift
What to watch: Quantities, percentages, dates, and currency values shift during compression due to rounding, summarization, or temporal ambiguity. A 23% increase becomes 'significant growth' and loses auditability. Guardrail: Require the compression prompt to extract numbers and dates verbatim into a structured [PRESERVED_VALUES] block before generating the prose summary. Diff this block against the source.
Claim-Evidence Pair Collapse
What to watch: The compression merges multiple distinct claims into one, or separates a claim from its supporting evidence, making downstream fact-checking impossible. Guardrail: Instruct the prompt to preserve claim-evidence pairs as atomic units. Use an eval rubric that scores whether each source claim has a corresponding compressed claim with its evidence intact.
Instruction and Constraint Omission
What to watch: When compressing prior conversation or task context, the model drops original instructions, output format requirements, or safety constraints that must carry forward. Guardrail: Separate the compression prompt into two sections: immutable instructions that must be copied verbatim, and compressible content. Validate that all immutable instructions appear in the compressed output.
Over-Compression Leading to Generic Output
What to watch: Aggressive compression ratios produce summaries so generic that downstream tasks lose the specificity needed to act. The compression succeeds technically but fails operationally. Guardrail: Set a minimum detail threshold in the prompt such as 'preserve at least one specific example per topic.' Test compression quality by running the original downstream task on the compressed context and measuring performance parity.
Temporal and Causal Ordering Reversal
What to watch: The compression reorders events, decisions, or steps, breaking causal chains. A decision made after an incident appears to precede it, confusing downstream reasoning. Guardrail: Add explicit ordering instructions to the prompt template: 'Preserve chronological and causal order. Do not reorder events.' Include an eval check that verifies event sequence alignment between source and compressed output.
Evaluation Rubric
Use this rubric to evaluate the quality of a compressed context before shipping the prompt to production. Each criterion targets a specific failure mode in lossy compression workflows.
| Criterion | Pass Standard | Failure Signal | Test Method |
|---|---|---|---|
Named Entity Preservation | All [NAMED_ENTITIES] from the source appear in the compressed output with correct spelling and type | Missing person, org, location, or product name; entity type mismatch | Exact string match against extracted entity list from source |
Numeric Value Accuracy | All [NUMERIC_VALUES] are preserved with correct magnitude, unit, and precision | Truncated digits, missing units, order-of-magnitude errors | Parse numbers from both source and output; compare within 0.1% tolerance |
Date and Time Integrity | All [DATES_AND_TIMES] retain original values, timezone offsets, and relative references | Date shifted by one day, missing timezone, ambiguous relative date | ISO 8601 parse and exact match; flag any date that differs by more than 0 hours |
Claim-Evidence Pair Retention | Every [CLAIM_EVIDENCE_PAIR] from the source is present with both claim and supporting evidence intact | Claim present but evidence dropped; evidence attached to wrong claim | Count claim-evidence pairs in source vs output; require 100% pair count match |
Instruction Fidelity | The compressed output preserves the original [TASK_INSTRUCTION] constraints and output schema | Compression drops a required output field or constraint from the original prompt | Run the compressed context through the original task; compare output schema compliance |
Token Budget Compliance | Compressed output fits within [MAX_TOKENS] budget while preserving all required elements | Output exceeds token budget; or fits budget but drops required elements | Token count via model tokenizer; assert count <= [MAX_TOKENS] |
No Fabricated Content | Compressed output contains zero facts, entities, or claims not present in the source | New entity appears; claim rephrased with added detail not in source | Diff extracted facts between source and compressed output; flag any additions |
Structural Completeness | Compressed output maintains the [OUTPUT_STRUCTURE] format with all required sections present | Missing section header; truncated list; incomplete sentence at boundary | Schema validation against expected structure; assert all required keys present |
Enabling Efficiency, Speed & Accuracy
Intelligent Analysis, Decision & Execution
We build AI systems for teams that need search across company data, workflow automation across tools, or AI features inside products and internal software.
Talk to Us
Search across company data
Give teams answers from docs, tickets, runbooks, and product data with sources and permissions.
Useful when people spend too long searching or get different answers from different systems.

Automate internal workflows
Use AI to route work, draft outputs, trigger actions, and keep approvals and logs in place.
Useful when repetitive work moves across multiple tools and teams.

Add AI to products and internal tools
Build assistants, guided actions, or decision support into the software your team or customers already use.
Useful when AI needs to be part of the product, not a separate tool.
Adapt This Prompt
How to adapt
Use the base prompt with a single compression pass and manual review of the output. Focus on verifying that named entities, numbers, and dates survive compression. Skip automated eval and just spot-check 5-10 examples.
Watch for
- Dates shifting by one day or year
- Named entities being replaced with pronouns or generic labels
- Claim-evidence pairs losing the evidence half
- Over-compression that removes the task instruction itself

About the author
Prasad Kumkar
CEO & MD, Inference Systems
Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.
His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.
Partnered with leading AI, data, and software stack.
How We Work
Custom AI workflows for your Business
One-fit-all AI don't work for modern businesses. At Inferensys, we aim to understand your business & custom requirements; which we use to define most efficient agentic workflows, the data, and the tools for your business.
01
Review the use case
We understand the task, the users, and where AI can actually help.
Read more02
Pick the right approach
We define what needs search, automation, or product integration.
Read more03
Build the first useful version
We implement the part that proves the value first.
Read more04
Improve from there
We add the checks and visibility needed to keep it useful.
Read moreThe first call is a practical review of your use case and the right next step.
Talk to Us