NewCaveman mode: squeeze the prompt and the answer

Cut your AI bill.
Keep every answer

AgentReady squeezes every prompt before it reaches your model and makes the model answer like a caveman: short, exact, no fluff. Code, numbers and facts stay intact, ready for your product.

1 HTTP call · OpenAI, Anthropic, Gemini, any LLM · your LLM key never leaves your server

Example: a 67-token prompt is squeezed to 30 tokens by AgentReady, the model answers in 58 tokens instead of 195, and the cost per 1,000 requests drops from $3.13 to $1.10.

How it works

Two levers. One bill that shrinks.

You pay for every token you send and every token the model writes back. AgentReady trims both, in one call that sits before your existing LLM request.

Lever 01 · inputcompression_level

Prompt diet

Greetings, sign-offs, “could you please”, hedges, filler, articles and web boilerplate go. Your intent, data and code stay. No LLM involved, so it takes milliseconds.

Chatty question96 → 33 tok−66%
Support email128 → 49 tok−62%
Scraped web page108 → 54 tok−50%
Code review (code untouched)56 → 43 tok−23%
System prompt74 → 58 tok−22%

Measured on sample prompts, level “caveman”. Your mix will vary.

Lever 02 · outputoutput

Caveman answers

Output tokens cost 4 to 5 times more than input on most models. One short rule makes the model skip “Great question!”, recaps and filler, and answer with just the substance.

React re-render question195 → 58 tok−70%
SQL query (code identical)165 → 68 tok−59%
Checkout bug report179 → 49 tok−73%
the rule we add · 46 tokens

Answer terse like caveman: no articles, filler, pleasantries, hedging. Fragments OK. Keep code, commands, numbers, names, URLs, errors exact; code, JSON and requested formats complete.

lite · concise, full sentencescaveman · terse fragmentsultra · telegraphic
Live playground

Paste anything.
Watch it lose weight.

This runs the real AgentReady engine, the same one behind /v1/compress. Nothing you type here is stored.

input level
output mode
your prompt96 tok

Squeezing…

prompt tokens
9696
engine time
—ms
output rule

…

We can't call your LLM from here (your key stays yours), so the answer side is shown in the examples above.

What never gets cut

Squeezed,
not mangled.

Caveman talk is for the prose around your data, never the data. Everything a program or a person would need to act on is locked before the squeeze and restored after it.

Code review prompt56 → 43 tok · code identical ✓
Hey! Could you please review this function? I think there might be a bug, it does not handle the empty list case.
```python
def avg(xs):
    return sum(xs) / len(xs)
```I don't want you to change the function name. Thanks!

Code blocks

Byte-for-byte, indentation included.

def avg(xs):
    return sum(xs) / len(xs)

Errors & stack traces

Quoted verbatim, never paraphrased.

TypeError: Cannot read properties of undefined (reading 'price')

Numbers, units, dates

Prices, versions, IDs, measurements.

$129 · 3.4 kg · 1200W · #48213 · 2025-01-01

URLs & paths

Links and file paths pass through.

https://api.acme.dev/v2 · src/app/page.tsx

Negations

“not”, “never”, “no” always survive.

doesn't · never · no · must not

Quotes & formats

Quoted text stays. JSON stays JSON.

"Do not cancel the order"
Integration

Two minutes.
One extra call.

Keep your SDK, your model and your key. Squeeze the messages, then call your LLM exactly like before. Streaming, tools and function calling are untouched.

  1. 1
    Get a key
    Free, 30 seconds, no card.
  2. 2
    Squeeze
    POST your messages to /v1/compress.
  3. 3
    Call your LLM
    Send what comes back. Pay less.
import os, requests
from openai import OpenAI

def squeeze(messages):
    try:
        r = requests.post(
            "https://agentready.cloud/v1/compress",
            headers={"Authorization": f"Bearer {os.environ['AGENTREADY_API_KEY']}"},
            json={"messages": messages, "compression_level": "caveman", "output": "caveman"},
            timeout=3,
        )
        return r.json()["messages"] if r.ok else messages
    except requests.RequestException:
        return messages  # never block your app on us

client = OpenAI()  # your key, your account
reply = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=squeeze([{"role": "user", "content": user_text}]),
)
Savings calculator

What would you keep?

Plug in your monthly LLM bill. The defaults are deliberately conservative, move them to match your traffic.

You keep every month
$1,038
$2,500 → $1,463 · −42%
Per year$12,450
AgentReady during beta$0
Start saving
Pricing

It costs nothing.
It saves a lot.

AgentReady is in open beta. Every feature is free with no usage caps while we tune the engine with real traffic.

Open beta
$0/ month
  • Unlimited /v1/compress calls during beta
  • Caveman input level + lite / caveman / ultra output
  • Dashboard with tokens and money saved
  • Python, Node.js and MCP integrations
  • Web → Markdown, sitemap and LLMO tools
  • No credit card
Get a free API key

After the beta: a generous free tier and simple usage plans. Early users keep their perks. Need it on-prem? Email us.

FAQ

Questions,
answered short.

The output rule removes style, not content: greetings, recaps, hedges, filler. Facts, steps, code and numbers are explicitly kept, and anything you ask for in a specific format (JSON, a table, a full email) comes back complete. If your end users need polished prose, use output "lite", or leave output off and only squeeze the input.

No. You call /v1/compress, get messages back and call your model yourself with your own key. AgentReady never proxies your LLM traffic.

/v1/compress records token counts for your dashboard, not message text. The playground on this page stores nothing. Runs you make in the dashboard playground keep a short snippet in your own history so you can review them.

Any chat model: OpenAI, Anthropic, Google Gemini, Mistral, Llama, local models. For Anthropic-style requests send provider: "anthropic" (or your system prompt as "system") and the output rule is returned in "system" instead of a system message.

The engine is rule-based, not another LLM, so processing takes milliseconds plus one network round-trip. Shorter answers also finish streaming sooner, so end-to-end latency often goes down.

Wrap the call in a short timeout and fall back to your original messages, as the snippets above do. Your app keeps working, it just costs what it cost before.

Yes. Squeezing happens before your LLM call and only touches text content, so streaming, tools, function calling and images pass through as they are.

Stop paying
for fluff.

Key in 30 seconds. First squeezed request in two minutes. Free while in beta.