---
title: "Caveman 3.0 für Claude Code: Input-Kompression"
canonical: https://wavect.io/de/blog/caveman-3-claude-code-input-compression/
language: de
description: "Wie Caveman 3.0 Claude-Code-Tool-Output lokal komprimiert, exakte Recovery erhält, Apache-2.0 nutzt und was der 33,2%-Input-Benchmark wirklich zeigt."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

[**Zurück**](/de/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/de/team/kevin-riedl/)

[Kevin Riedl](/de/team/kevin-riedl/) https://linkedin.com/in/wsdt

16 min Lesezeit · 2. Okt. 2026 Zuletzt geprüft 2. Oktober 2026

[**Weiter**](/de/blog/context-language-models-vs-compaction/)

# Caveman 3.0 für Claude Code: Lokale Input-Kompression, Recovery und Benchmarks

TL;DR

Caveman 3.0 ist nicht mehr nur ein Skill für knappe Antworten. Der lokale Proxy kann Logs, JSON, YAML, Testausgaben und andere Tool-Ergebnisse komprimieren, bevor ein Coding-Agent sie an das Modell sendet, während exakte Originale für Recovery erhalten bleiben. Der veröffentlichte Claude-Code-Benchmark berichtet 33,2% weniger provider-gemessene Input-Tokens über 18 gepaarte Läufe bei 18/18 korrekten Antwortchecks. Ein HTML-Workload verbrauchte allerdings 9,9% mehr Input und die Rohartefakte des Benchmarks sind nicht veröffentlicht. Version 3.0 lizenziert außerdem das gesamte öffentliche Repository unter Apache-2.0 und stabilisiert die TypeScript- und Python-Middleware bei 1.0.0. Dieser Guide zeigt, was ein Pilot messen sollte und welche Datenschutz- und Aufbewahrungsgrenzen bleiben.

**Geprüft am 2. Oktober 2026.** Produktbaseline: Caveman 3.0.0, Runtime `bin-v2.0.0`, SDK 1.2.0 und Middleware 1.0.0. Das ist eine Quellen- und Benchmark-Methodenprüfung, kein Wavect-Produktionsbenchmark. [Caveman-3.0.0-Release](https://github.com/JuliusBrussee/caveman/releases/tag/v3.0.0)

**Caveman 3.0 ist aus einem anderen Grund interessant als wegen des Memes, das das Projekt bekannt gemacht hat.** Die ursprüngliche Idee war simpel: Ein Coding-Agent soll mit weniger Wörtern antworten. Die neuere Architektur adressiert die teurere Seite langer Agent-Sessions, nämlich das, was das Modell immer wieder liest. Ein lokaler Proxy kann große Tool-Ergebnisse vor dem nächsten Modellaufruf komprimieren und gleichzeitig die exakten Originaldaten für Recovery behalten. [Caveman-3.0-README](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/README.md)

Damit gehört dieser Artikel zu einer engeren Suchintention als unser allgemeiner [Guide zur Token-Optimierung bei Coding-Agents](/de/blog/smarter-token-usage-with-your-ai-coding-agent/), der Caching, Routing und Context-Reduktion als Gesamtstack behandelt. Er ist auch enger als unser [Guide zu Tool-Output-Kompression](/de/blog/codag-cost-control/), der die Kategorie erklärt. Hier geht es gezielt um **Caveman 3.0, Claude-Code-Input-Kompression, Recovery, lokalen Betrieb und die Evidenz hinter den veröffentlichten Aussagen**.

## Was hat sich mit Caveman 3.0 geändert?

Caveman 3.0.0 wurde am 30. September 2026 veröffentlicht. Das Release verbindet mehrere zuvor getrennte Produktentscheidungen zu einer klareren Deployment-Story. [Release Notes](#source-release).

| Bereich | Caveman 3.0 | Warum relevant |
| --- | --- | --- |
| Lizenz | Das gesamte öffentliche Repository steht ab 3.0.0 unter Apache-2.0. | Engine, Proxy, CLI, SDKs und Middleware können unter einer permissiven Lizenz geforkt, eingebettet und selbst betrieben werden. |
| Middleware | TypeScript- und Python-Pakete erreichen 1.0.0 und benötigen SDK 1.2.0. | Teams können dieselbe Kompressionsschicht in eigene Agent-Anwendungen integrieren, statt nur einen Terminal-Agent zu wrappen. |
| `caveman learn` | Background-Refresh, Memory-Checks, Trends und zustimmungspflichtige Fixes. | Das Tool kann zeigen, wo wiederholter Kontext entsteht, bevor ihr entscheidet, was überhaupt komprimiert werden sollte. |
| Runtime | `bin-v2.0.0` bringt stärkere Middleware-Lifecycle-, Retention- und Deployment-Primitiven. | Recovery-Originale können an Sessions gebunden und mit ihnen gelöscht werden, statt zu einem unkontrollierten Side Store zu werden. |

Bei der Lizenzänderung lohnt sich Präzision. Vor 3.0.0 standen Teile des Repositorys unter MIT, während Engine-nahe Runtime-Komponenten BSL-1.1 nutzten. Ab 3.0.0 steht das Repository unter Apache-2.0, ohne Hosted-Service-Restriction oder Change Date für diesen Code. Ältere Releases behalten die Lizenzbedingungen, mit denen sie veröffentlicht wurden. Caveman Cloud ist ein separates Hosted-Produkt und nicht von der Repository-Lizenz umfasst. [Caveman Licensing Notes](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/LICENSING.md)

## Bei Agent-Sessions ist oft das wiederholte Lesen teurer als die finale Antwort

Ein Coding-Agent bezahlt nicht nur für seine Schlussantwort. Lange Sessions tragen Instruktionen, vorige Nachrichten und Tool-Ergebnisse immer wieder in spätere Requests. Wenn ein Testbefehl einmal 80 KB Output erzeugt, kann dieser Output mehrere spätere Requests belasten, sofern das Framework ihn in der Conversation-History mitführt. Dasselbe gilt für JSON-Payloads, YAML-Konfigurationen, Diffs und Suchergebnisse.

Caveman trennt zwei Konzepte, die leicht miteinander verwechselt werden:

- **Der Response-Skill** fordert den Agent auf, knapper zu schreiben. Er reduziert Output-Verbosity.
- **Proxy und Middleware** transformieren geeigneten Kontext vor der Inferenz. Sie reduzieren Input-Volumen.

Der zweite Punkt ist architektonisch interessanter. Das Modell braucht für die Diagnose eines einzelnen Stacktraces nicht jede INFO-Zeile aus einem Log. Blindes Abschneiden wäre aber riskant, weil genau die entfernte Zeile die Antwort enthalten könnte. Cavemans Design ist deshalb **komprimieren plus wiederherstellen**, nicht einfach verwerfen. [Projektarchitektur](#source-readme).

## Wie der lokale Caveman-Proxy funktioniert

Der grobe Datenpfad ist einfach:

```
Claude Code / Codex / anderer Agent
        |
        | Request + Tool-Ergebnisse
        v
lokaler Caveman-Proxy
        |-- geeigneten Inhalt erkennen
        |-- verrauschte Blöcke durch kürzere Repräsentationen ersetzen
        |-- exakte Originale lokal speichern
        |-- Recovery-Handles bereitstellen
        v
vom Agent gewählter Modell-Provider
```

Der Proxy leitet die Inferenz weiterhin an den Provider weiter, den der Agent bereits verwendet. Caveman lokal zu betreiben bedeutet daher **nicht, dass Claude, GPT oder ein anderes Hosted Model dadurch lokal wird**. Ihr kontrolliert die Transformations- und Recovery-Schicht. Wenn das Upstream-Modell eine Cloud-API bleibt, erhält der Provider weiterhin den resultierenden Modell-Request. Cavemans Security-Dokumentation trennt diese Datenflüsse ausdrücklich. [Security- und Privacy-Modell](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/SECURITY.md)

Für Teams mit eigenen Agents wendet Middleware 1.0 dieselbe Idee an, ohne das Framework zu ersetzen. Der Adapter kopiert einen Outbound-Request, projiziert geeigneten Tool-Result-Text in die komprimierte Kopie und lässt die ursprüngliche Conversation-History der Anwendung unverändert. Kompression wird nur auf Integrationspfaden aktiviert, die ein echtes Recovery-Tool registrieren können. Falls Recovery nicht gebunden werden kann, soll der dokumentierte Pfad den Inhalt unverändert durchreichen, statt ihn verlustbehaftet zu kürzen. [TypeScript Middleware 1.0](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/packages/middleware/typescript/README.md) [Python Middleware 1.0](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/packages/middleware/python/README.md)

## Was der 33,2%-Claude-Code-Benchmark tatsächlich zeigt

Die stärkste öffentliche Evidenz im Repository ist nicht die Aussage, dass jeder einzelne Block um 98 oder 99 Prozent schrumpft. Es ist ein gepaarter Benchmark auf Agent-Ebene, der provider-gemessene Input-Tokens erfasst, nachdem sich das gesamte Session-Verhalten abgespielt hat. [CaveBench Wrap Benchmark](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/docs/WRAP-BENCHMARK.md)

| Workload | Direkter Input | Caveman-Input | Gemeldete Änderung | Antwortchecks |
| --- | --- | --- | --- | --- |
| Log Needle | 148.807 | 74.068 | -50,2% | 3/3 |
| Deployment JSON | 147.975 | 108.939 | -26,4% | 3/3 |
| Fraud CSV | 165.823 | 74.484 | -55,1% | 3/3 |
| Test-Output | 150.377 | 108.514 | -27,8% | 3/3 |
| Configuration YAML | 132.124 | 71.027 | -46,2% | 3/3 |
| Dashboard HTML | 140.687 | 154.641 | **+9,9%** | 3/3 |

Über alle 18 Direct-vs-Caveman-Paare summiert der Report **885.793 direkte Input-Tokens gegenüber 591.673 mit Caveman**, also 33,2 Prozent weniger. Alle 18 exakten Antwortchecks bestanden. Das gemeldete case-clustered 95%-Intervall liegt zwischen 14,6 und 48,5 Prozent. Die negative HTML-Zeile bleibt im Gesamtwert enthalten, weil dort keine nützliche Kompression griff, während Caveman trotzdem Overhead verursachte. [Benchmark-Report und Methode](#source-benchmark).

Diese rote Zeile ist wichtig. Sie zeigt, warum eine Kompressionsrate für einen einzelnen Payload nicht mit Einsparungen über eine gesamte Session gleichgesetzt werden darf. Ist ein Workload bereits kompakt, nicht unterstützt oder von anderem Kontext dominiert, kann eine zusätzliche Schicht sogar mehr Tokens kosten.

**Es gibt außerdem eine Evidenzgrenze.** Das Repository veröffentlicht Benchmark-Tabelle, Methode und Provenance-Hashes, weist aber ausdrücklich darauf hin, dass Raw Harness und Run-Artefakte nicht enthalten sind. Der Benchmark ist daher als gepinnter Projektbericht zu behandeln, nicht als vollständig aus dem öffentlichen Checkout reproduzierbarer Benchmark. [Reproduction Availability](#source-benchmark).

Die Launch-Kommunikation enthält zusätzlich sehr starke Einzelbeispiele für Log-, CSV-, YAML- und Test-Output-Kompression. Solche Blockwerte sind für einen Smoke Test interessant, aber wir würden aus ihnen keine Kostenprognose ableiten. Der öffentlich dokumentierte Agent-Level-Benchmark ist die stärkere Basis für eine Planungsentscheidung.

## Warum 98% weniger Tool-Output nicht 98% weniger AI-Kosten bedeutet

Ein einzelnes Tool-Ergebnis ist nur ein Teil des Requests. System-Prompt, Repository-Instruktionen, History, weitere Tool-Ergebnisse und Cache-Verhalten bleiben bestehen. Außerdem kann der Agent Recovery aufrufen, wenn die komprimierte Darstellung nicht ausreicht. Deshalb sollte ein Pilot mindestens folgende Größen getrennt messen:

- provider-gemessene Input-Tokens pro kompletter Aufgabe,
- Cache-Read- und Cache-Write-Tokens,
- Output-Tokens,
- Recovery-Aufrufe und nachgeladene Bytes,
- Retries und zusätzliche LLM-Calls,
- akzeptierte Task-Qualität.

Das richtige Ziel ist nicht die maximal beeindruckende Kompressionszahl, sondern **niedrigere Kosten pro akzeptierter Aufgabe**.

## `caveman learn`: Erst messen, wo die Tokens hingehen

`caveman learn` analysiert lokale Session-History und Setup-Dateien, um wiederkehrende Token-Senken zu finden. Die Dokumentation nennt unter anderem immer geladene Instruktionen, ungenutzte Skills, wiederholten Text, Context-Tiefe und Memory-Probleme. Die Analyse läuft lokal und die resultierenden Zahlen werden ausdrücklich als `inferred`, also geschätzt, gekennzeichnet. [caveman learn Dokumentation](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/docs/technical/learn.md)

Das ist relevant, weil der günstigste Kontext oft der Kontext ist, den ihr gar nicht erst laden müsst. Eine 400-Zeilen-`CLAUDE.md`, Skill-Beschreibungen, die nie verwendet werden, oder dieselbe Procedure in jeder Session können ein strukturell größeres Problem sein als ein einzelner lauter Testlauf. Learn kann diese Muster sichtbar machen, bevor ihr noch einen Optimizer in den Stack einbaut.

```
caveman learn --plain --since 7d --sources claude,codex
caveman learn --all
caveman learn implement
```

Version 3.0 ergänzt außerdem einen Autopilot, der nach Sessions im Hintergrund neu scannen kann, höchstens einmal alle sechs Stunden. Laut Release Notes benötigen vorgeschlagene Änderungen weiterhin Zustimmung, werden nachgemessen und zurückgenommen, wenn sie Nachrichten nicht kleiner machen. Der Background-Refresh lässt sich mit `caveman learn autopilot off` deaktivieren. [3.0 Release Notes](#source-release).

## Lokal bedeutet nicht, dass Data-Policy-Arbeit entfällt

Der lokale Modus entfernt einen Caveman-Drittdienst aus dem Inference-Pfad. Trotzdem sollten drei getrennte Datenräume geprüft werden.

### 1. Der Modell-Provider erhält weiterhin den Modell-Request

Wenn Claude Code weiterhin Anthropic nutzt, geht der komprimierte Request an Anthropic. Wenn eure Anwendung OpenAI nutzt, geht er weiterhin an OpenAI. Caveman ändert die Rolle des Providers nicht, nur weil die Kompression vorher lokal stattfindet. Für vollständig lokale Inferenz braucht ihr zusätzlich einen lokalen oder selbst betriebenen Modell-Endpunkt.

### 2. Recovery-Originale sind sensible lokale Daten

Die Runtime speichert exakte Tool-Result-Originale, damit der Agent sie wieder abrufen kann. Ab `bin-v2.0.0` gehören Middleware-Originale zu ihrem Scope, Retention kann diese Originale einbeziehen und das Löschen einer Session kann die gespeicherten Originale ebenfalls löschen. Verschlüsselung at rest ist verfügbar, wenn ein Encryption Key konfiguriert wird. Ohne Key verlässt sich der Store auf Dateisystemschutz. Die Security-Dokumentation weist ausdrücklich darauf hin, dass der Lifecycle vor `bin-v2.0.0` schwächer war. Pinnt daher die Runtime, wenn Retention-Anforderungen relevant sind. [Runtime Storage Lifecycle](#source-security).

### 3. CLI-Telemetrie ist standardmäßig aktiviert

Der Standalone-Skill sendet für sich nichts. CLI und Agent Hooks von 3.0 verwenden jedoch Opt-out-Telemetrie. Release und Security-Dokumentation nennen unter anderem eine zufällige Install-ID, Token-Aggregate und die Sender-IP. Prompts, Code, Dateipfade, Tool-Argumente und Tool-Ergebnisse sollen nicht enthalten sein. Das Projekt bezeichnet diese Telemetrie richtigerweise als pseudonym statt anonym. CI sendet standardmäßig nicht. [Telemetry Details](#source-security).

```
caveman telemetry status
caveman telemetry off
# oder
export DO_NOT_TRACK=1
```

Für einen Enterprise-Pilot sollte diese Entscheidung vor dem ersten produktionsnahen Lauf getroffen werden, nicht erst nachträglich.

## Ein sinnvoller Caveman-3.0-Pilot für Claude Code

Aktiviert Kompression nicht sofort für alle Entwickler. Baut einen gepaarten Test, in dem ein Qualitätsverlust sichtbar und messbar wäre.

### Schritt 1. Version pinnen und prüfen, was tatsächlich läuft

```
npm install -g @caveman-ai/cli@2.0.0
caveman setup
caveman telemetry off   # falls das zu eurer Policy passt
```

Das 3.0-Release ordnet CLI 2.0.0 der Runtime `bin-v2.0.0` zu. Version-Pinning ist wichtig, weil Retention-Verhalten, Middleware-Verträge und Adapter sich ändern können. [Versionsmatrix](#source-release).

### Schritt 2. Zuerst die eigenen Token-Senken messen

```
caveman learn --plain --since 7d
```

Wenn der größte Waste aus immer geladenen Instruktionen kommt, behebt dieses Problem zuerst. Sonst könnte Proxy-Kompression fälschlicherweise als Lösung für alles erscheinen.

### Schritt 3. Aufgaben mit exakten Acceptance Criteria auswählen

Geeignete Pilotaufgaben sind zum Beispiel: eine FATAL-Zeile in einem großen Log finden, einen konkreten JSON-Config-Drift identifizieren, den fehlschlagenden Test isolieren oder einen bestimmten CSV-Outlier extrahieren. Jede Aufgabe sollte einen Oracle haben, den ein separates Skript verifizieren kann. Bewertet Qualität nicht nur danach, ob eine Antwort plausibel klingt.

### Schritt 4. Direkten und komprimierten Arm ausführen

Modell, Agent-Version, Test-Fixtures, Tool-Rechte und Startzustand des Repositorys müssen gleich bleiben. Messt provider-gemessene Input-Tokens, Cache Reads, Cache Writes, Output-Tokens, Latenz, Retries und Recovery-Aufrufe. Rotiert die Reihenfolge der Läufe, damit Warm-Cache- und Zeiteffekte weniger verzerren.

### Schritt 5. Rollout nach Economics pro akzeptierter Aufgabe gaten

| Metrik | Anforderung |
| --- | --- |
| Task-Korrektheit | Kein statistisch oder operativ relevanter Rückgang auf Holdout-Aufgaben. |
| Provider-Input | Niedrigere mediane und aggregierte provider-gemessene Input-Tokens auf komprimierbaren Workloads. |
| Negativfälle | Nicht unterstützte oder bereits kleine Payloads bleiben im Report sichtbar und werden nicht herausgefiltert. |
| Recovery | Das exakte Original kann wiederhergestellt werden, wenn die Kurzansicht nicht reicht. |
| Retries | Kein Anstieg, der Token-Einsparungen aufhebt oder menschliche Korrekturzeit erhöht. |
| Storage Policy | Retention, Löschung, Verschlüsselung und Telemetrie entsprechen der Datenklassifizierung. |

## Caveman Middleware 1.0 im eigenen Agent verwenden

Bei Custom Agents ist die wichtigste Designfrage, ob die Framework-Integration Recovery binden kann. Die TypeScript-Middleware dokumentiert zertifizierte Kompressionspfade für Vercel AI SDK, OpenAI, Anthropic und LangChain. Weitere Adapter sind als experimentell markiert. Python dokumentiert zertifizierte Pfade für LangChain, OpenAI, Anthropic und LiteLLM. Nicht unterstützte Versionen und Runtime-Fehler verhalten sich standardmäßig fail-open. Der Original-Request läuft dann unverändert weiter und ein Grund wird geloggt. [TypeScript Compatibility Contract](#source-ts) [Python Compatibility Contract](#source-py).

Ein guter Rollout verwendet drei Modi:

- `record`, um die Integration zu validieren, ohne den Modell-Input zu verändern.
- `compress` für den Treatment-Arm.
- `off` als expliziten Rollback-Pfad.

Die offiziellen Quickstarts sind besonders nützlich, weil ihre Standard-Demos keinen Provider-Request senden. Sie testen zuerst die echte lokale Runtime, Kompression und exakte paginierte Recovery. Bezahlte Provider-Inferenz bleibt ein optionaler separater Schritt. Das ist die richtige Reihenfolge für einen Infrastruktur-Pilot.

## Bedeutet Apache-2.0, dass ihr eure AI jetzt „besitzt“?

Teams bekommen damit deutlich mehr Kontrolle über diese Schicht. Ihr könnt Caveman 3.0s öffentliche Runtime inspizieren, forken, verändern und einbetten, ohne die frühere BSL-Service-Restriction. Für interne Plattformen und Teams, die keinen proprietären Optimizer in jedem Agent-Request haben möchten, ist das relevant. [Lizenzumfang](#source-license).

Ownership hat aber mehrere Ebenen. Ihr könnt den Kompressionsproxy besitzen und das Modell trotzdem mieten. Ihr könnt das Modell selbst hosten und weiterhin von proprietären Developer Tools abhängen. Ihr könnt beides besitzen und Telemetrie oder Browserdaten trotzdem über externe Services routen. Die nützlichere Frage lautet: **Welche Teile von Inferenz, Kontext, Memory, Tooling und Observability können wir selbst inspizieren, ersetzen und betreiben?**

Caveman 3.0 verbessert diese Antwort für die Context-Efficiency-Schicht. Den Rest löst es nicht automatisch.

## Wann sich ein Caveman-Test lohnt und wann nicht

| Caveman testen, wenn... | Woanders anfangen, wenn... |
| --- | --- |
| Agent-Sessions wiederholt große Logs, Testausgaben, JSON oder YAML einlesen. | Die meisten Requests kurz sind und ohnehin bequem ins Context Window passen. |
| Ihr exakte oder testbare Outcomes definieren könnt. | Ihr nicht verlässlich feststellen könnt, ob komprimierte Runs noch korrekt sind. |
| Ihr byte-exakte lokale Recovery statt irreversiblem Truncation braucht. | Eure Policy die lokale Speicherung von Tool-Output-Originalen verbietet. |
| Ihr eine Apache-2.0-Schicht forken oder einbetten wollt. | Euer eigentliches Kostenproblem Frontier-Model-Overuse, schlechtes Caching oder zu viele Calls ist. |
| Ihr einen Agent auf einem unterstützten Middleware-Pfad baut. | Eure Framework-Version außerhalb des getesteten Adapterbereichs liegt und ihr sie nicht selbst validieren könnt. |

Für den breiteren Ablauf startet unser [Token-Usage-Playbook](/de/blog/smarter-token-usage-with-your-ai-coding-agent/) mit Cacheability und Routing vor Kompression. Für einen breiteren Vergleich der Kategorie nutzt [unseren Guide zu Tool-Output-Kompression](/de/blog/codag-cost-control/). Für modellgesteuerten Kontext statt Proxy-Kompression siehe [Context Language Models versus Compaction](/de/blog/context-language-models-vs-compaction/).

## FAQ

### Ist Caveman 3.0 vollständig Open Source?

Das öffentliche Repository steht ab Version 3.0.0 unter Apache-2.0, einschließlich Engine, Proxy, CLI, SDKs und Middleware. Ältere Releases behalten ihre ursprünglichen Lizenzen. Caveman Cloud ist separate kommerzielle Software und nicht von der Repository-Lizenz umfasst. [Lizenzdetails](#source-license).

### Reduziert Caveman Claude-Code-Input-Tokens?

Im veröffentlichten Benchmark mit sechs Workloads verwendete der gewrappte Claude-Code-Arm aggregiert 33,2 Prozent weniger provider-gemessene Input-Tokens als direkter Claude Code und bestand 18/18 exakte Antwortchecks. Das Ergebnis gilt für diesen Workload und die Raw-Run-Artefakte sind nicht öffentlich. Es sollte daher als kontrolliertes, vom Projekt veröffentlichtes Ergebnis verstanden werden, nicht als universelle Einspargarantie. [Benchmark](#source-benchmark).

### Sendet Caveman meinen Code an Caveman-Server?

Lokaler Proxy und Framework-Middleware benötigen keinen Caveman-Account und senden Prompt- oder Tool-Result-Inhalte nicht an Caveman-Server. Der gewählte Modell-Provider erhält den Inference-Request weiterhin. Die CLI hat separate Opt-out-Telemetrie mit Nutzungsmetadaten und IP-Adresse, jedoch laut Dokumentation ohne Prompts, Code oder Dateipfade. [Security-Modell](#source-security).

### Kann der Agent wegkomprimierte Inhalte wieder abrufen?

Ja. Unterstützte Kompressionspfade speichern exakte Originale und binden einen Recovery-Mechanismus. Middleware-Pfade, die Recovery nicht binden können, sollen den Inhalt unverändert durchreichen, statt ihn zu komprimieren. Recovery-Handles sind gescoped und können gemäß Runtime-Retention ablaufen. [Middleware-Recovery-Vertrag](#source-ts).

### Ist `caveman learn` lokal?

Die Learn-Analyse liest lokale Session-History und Dateien und dokumentiert, dass dabei nichts gesendet wird. Die Reports enthalten lokale Schätzwerte. Davon getrennt existiert die CLI-Telemetrie, die sich mit `caveman telemetry off` oder `DO_NOT_TRACK=1` abschalten lässt. [Learn-Dokumentation](#source-learn) [Telemetry-Dokumentation](#source-security).

### Ist Caveman dasselbe wie Prompt Caching?

Nein. Prompt Caching verwendet Provider-seitig bereits berechnete Zustände für wiederholte Präfixe. Caveman verändert geeigneten Kontext, bevor der Request gesendet wird. Beides kann sich ergänzen, aber Kompression kann auch Cache-Verhalten verändern. Deshalb sollten Cache-Read- und Cache-Write-Counter im selben Pilot gemessen werden.

### Unterstützt Caveman Middleware LiteLLM?

Die Python-Middleware-1.0-Dokumentation führt LiteLLM als zertifizierte Adapterfamilie für unterstützte Async- und Proxy-Pfade auf. Es gelten explizite Recovery-Anforderungen und bei bestimmten Sync-Routen Provider-Limits. Pinnt die getesteten Paketversionen und führt die Compatibility-Checks vor Produktion aus. [Python-Middleware-Matrix](#source-py).

## Quellen und Verifikationshinweise

- [Caveman 3.0.0 Release Notes](https://github.com/JuliusBrussee/caveman/releases/tag/v3.0.0), Versionen, Apache-2.0-Umstellung, Learn Autopilot und Middleware 1.0.
- [LICENSING.md bei v3.0.0](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/LICENSING.md), Repository- und Cloud-Lizenzgrenzen.
- [CaveBench Wrap Benchmark](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/docs/WRAP-BENCHMARK.md), Provider-Input-Totals, exakte Antwortchecks, Konfidenzintervall, negativer HTML-Fall und Reproduktionsgrenzen.
- [SECURITY.md bei v3.0.0](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/SECURITY.md), Datenflüsse, lokaler Recovery-Store und Telemetrie.
- [caveman learn Dokumentation](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/docs/technical/learn.md), lokale Inputs, Outputs, Commands und Evidenzlabels.
- [TypeScript Middleware 1.0 README](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/packages/middleware/typescript/README.md), Recovery- und Fail-open-Verhalten.
- [Python Middleware 1.0 README](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/packages/middleware/python/README.md), zertifizierte Adapter einschließlich LiteLLM und Recovery-Anforderungen.
- [Caveman 3.0 README](https://github.com/JuliusBrussee/caveman/blob/v3.0.0/README.md), Produktarchitektur und Installation.

## Fazit

Caveman 3.0 macht aus einem Gag über knappe Antworten eine ernstzunehmende Context-Efficiency-Schicht. Die Apache-2.0-Relizenzierung, lokal wiederherstellbare Kompression und stabile Middleware sind dort testenswert, wo Coding-Agents immer wieder große Tool-Ergebnisse einlesen. Ein guter Rollout vertraut nicht auf einen 98%-Screenshot. Er testet gepaarte Aufgaben, misst Provider-Usage, behält Negativfälle im Datensatz, verifiziert exakte Recovery und verwirft jede Einsparung, die mit schlechterer Task-Qualität erkauft wird.

## Das könnte dich auch interessieren..

[**Smarter Token Usage with Your AI Coding Agent** Der breitere Cost-Control-Guide zu Caching, Routing und Context-Reduktion.](/de/blog/smarter-token-usage-with-your-ai-coding-agent/) [**Context Language Models vs Compaction** Ein anderer Ansatz, bei dem das Modell seinen Live-Kontext selbst bearbeitet, statt einen Proxy-Compressor zu verwenden.](/de/blog/context-language-models-vs-compaction/)

Modelle und Infrastruktur

## In diesem Cluster weiterlesen

Modellauswahl, Inferenzkosten, lokaler Betrieb, Kompression und Serving-Architektur.

[Mit dem Grundlagenartikel starten**LLMs in der EU selbst hosten: Wann sich Open Weights wirklich rechnen**](/de/blog/self-hosting-llms-eu-cost/)

- [Cloudflare Clef vs. Jev: Preise, Benchmarks und Migration](/de/blog/cloudflare-clef-vs-jev/)
- [Context Language Models vs. Kompaktierung: Was testen?](/de/blog/context-language-models-vs-compaction/)
- [LiteLLM Lens: Agenten-Traces mit SQL und APIs analysieren](/de/blog/litellm-lens-agent-trace-analysis/)
- [SmythOS Studio selbst hosten: Docker, Kosten und Grenzen](/de/blog/smythos-studio-self-hosting/)
- [DeerFlow 2.0: Docker-Setup, Sandboxes und Memory](/de/blog/deerflow-2-docker-setup-sandbox-memory/)

[**Zurück**](/de/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/de/team/kevin-riedl/)

[Kevin Riedl](/de/team/kevin-riedl/) https://linkedin.com/in/wsdt

16 min Lesezeit · 2. Okt. 2026 Zuletzt geprüft 2. Oktober 2026

[**Weiter**](/de/blog/context-language-models-vs-compaction/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/de/blog/caveman-3-claude-code-input-compression/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-10-04",
      "inLanguage": "de",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-10-04",
      "url": "https://wavect.io/de/blog/caveman-3-claude-code-input-compression/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "Caveman 3.0 ist nicht mehr nur ein Skill für knappe Antworten. Der lokale Proxy kann Logs, JSON, YAML, Testausgaben und andere Tool-Ergebnisse komprimieren, bevor ein Coding-Agent sie an das Modell sendet, während exakte Originale für Recovery erhalten bleiben. Der veröffentlichte Claude-Code-Benchmark berichtet 33,2% weniger provider-gemessene Input-Tokens über 18 gepaarte Läufe bei 18/18 korrekten Antwortchecks. Ein HTML-Workload verbrauchte allerdings 9,9% mehr Input und die Rohartefakte des Benchmarks sind nicht veröffentlicht. Version 3.0 lizenziert außerdem das gesamte öffentliche Repository unter Apache-2.0 und stabilisiert die TypeScript- und Python-Middleware bei 1.0.0. Dieser Guide zeigt, was ein Pilot messen sollte und welche Datenschutz- und Aufbewahrungsgrenzen bleiben.",
  "articleBody": " Blog-Übersicht/AI und Agents/Modelle und Infrastruktur Caveman 3.0 für Claude Code: Lokale Input-Kompression, Recovery und Benchmarks TL;DR Caveman 3.0 ist nicht mehr nur ein Skill für knappe Antworten. Der lokale Proxy kann Logs, JSON, YAML, Testausgaben und andere Tool-Ergebnisse komprimieren, bevor ein Coding-Agent sie an das Modell sendet, während exakte Originale für Recovery erhalten bleiben. Der veröffentlichte Claude-Code-Benchmark berichtet 33,2% weniger provider-gemessene Input-Tokens über 18 gepaarte Läufe bei 18/18 korrekten Antwortchecks. Ein HTML-Workload verbrauchte allerdings 9,9% mehr Input und die Rohartefakte des Benchmarks sind nicht veröffentlicht. Version 3.0 lizenziert außerdem das gesamte öffentliche Repository unter Apache-2.0 und stabilisiert die TypeScript- und Python-Middleware bei 1.0.0. Dieser Guide zeigt, was ein Pilot messen sollte und welche Datenschutz- und Aufbewahrungsgrenzen bleiben. Geprüft am 2. Oktober 2026. Produktbaseline: Caveman 3.0.0, Runtime bin-v2.0.0, SDK 1.2.0 und Middleware 1.0.0. Das ist eine Quellen- und Benchmark-Methodenprüfung, kein Wavect-Produktionsbenchmark. Caveman-3.0.0-Release Caveman 3.0 ist aus einem anderen Grund interessant als wegen des Memes, das das Projekt bekannt gemacht hat. Die ursprüngliche Idee war simpel: Ein Coding-Agent soll mit weniger Wörtern antworten. Die neuere Architektur adressiert die teurere Seite langer Agent-Sessions, nämlich das, was das Modell immer wieder liest. Ein lokaler Proxy kann große Tool-Ergebnisse vor dem nächsten Modellaufruf komprimieren und gleichzeitig die exakten Originaldaten für Recovery behalten. Caveman-3.0-README Damit gehört dieser Artikel zu einer engeren Suchintention als unser allgemeiner Guide zur Token-Optimierung bei Coding-Agents, der Caching, Routing und Context-Reduktion als Gesamtstack behandelt. Er ist auch enger als unser Guide zu Tool-Output-Kompression, der die Kategorie erklärt. Hier geht es gezielt um Caveman 3.0, Claude-Code-Input-Kompression, Recovery, lokalen Betrieb und die Evidenz hinter den veröffentlichten Aussagen. Was hat sich mit Caveman 3.0 geändert? Caveman 3.0.0 wurde am 30. September 2026 veröffentlicht. Das Release verbindet mehrere zuvor getrennte Produktentscheidungen zu einer klareren Deployment-Story. Release Notes. Caveman-3.0-Änderungen, die für Engineering-Teams relevant sind BereichCaveman 3.0Warum relevant LizenzDas gesamte öffentliche Repository steht ab 3.0.0 unter Apache-2.0.Engine, Proxy, CLI, SDKs und Middleware können unter einer permissiven Lizenz geforkt, eingebettet und selbst betrieben werden. MiddlewareTypeScript- und Python-Pakete erreichen 1.0.0 und benötigen SDK 1.2.0.Teams können dieselbe Kompressionsschicht in eigene Agent-Anwendungen integrieren, statt nur einen Terminal-Agent zu wrappen. caveman learnBackground-Refresh, Memory-Checks, Trends und zustimmungspflichtige Fixes.Das Tool kann zeigen, wo wiederholter Kontext entsteht, bevor ihr entscheidet, was überhaupt komprimiert werden sollte. Runtimebin-v2.0.0 bringt stärkere Middleware-Lifecycle-, Retention- und Deployment-Primitiven.Recovery-Originale können an Sessions gebunden und mit ihnen gelöscht werden, statt zu einem unkontrollierten Side Store zu werden. Bei der Lizenzänderung lohnt sich Präzision. Vor 3.0.0 standen Teile des Repositorys unter MIT, während Engine-nahe Runtime-Komponenten BSL-1.1 nutzten. Ab 3.0.0 steht das Repository unter Apache-2.0, ohne Hosted-Service-Restriction oder Change Date für diesen Code. Ältere Releases behalten die Lizenzbedingungen, mit denen sie veröffentlicht wurden. Caveman Cloud ist ein separates Hosted-Produkt und nicht von der Repository-Lizenz umfasst. Caveman Licensing Notes Bei Agent-Sessions ist oft das wiederholte Lesen teurer als die finale Antwort Ein Coding-Agent bezahlt nicht nur für seine Schlussantwort. Lange Sessions tragen Instruktionen, vorige Nachrichten und Tool-Ergebnisse immer wieder in spätere Requests. Wenn ein Testbefehl einmal 80 KB Output erzeugt, kann dieser Output mehrere spätere Requests belasten, sofern das Framework ihn in der Conversation-History mitführt. Dasselbe gilt für JSON-Payloads, YAML-Konfigurationen, Diffs und Suchergebnisse. Caveman trennt zwei Konzepte, die leicht miteinander verwechselt werden: Der Response-Skill fordert den Agent auf, knapper zu schreiben. Er reduziert Output-Verbosity. Proxy und Middleware transformieren geeigneten Kontext vor der Inferenz. Sie reduzieren Input-Volumen. Der zweite Punkt ist architektonisch interessanter. Das Modell braucht für die Diagnose eines einzelnen Stacktraces nicht jede INFO-Zeile aus einem Log. Blindes Abschneiden wäre aber riskant, weil genau die entfernte Zeile die Antwort enthalten könnte. Cavemans Design ist deshalb komprimieren plus wiederherstellen, nicht einfach verwerfen. Projektarchitektur. Wie der lokale Caveman-Proxy funktioniert Der grobe Datenpfad ist einfach: Claude Code / Codex / anderer Agent | | Request + Tool-Ergebnisse v lokaler Caveman-Proxy",
  "articleSection": "AI Agents",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "citation": [
    {
      "@type": "WebPage",
      "name": "Caveman-3.0.0-Release",
      "url": "https://github.com/JuliusBrussee/caveman/releases/tag/v3.0.0"
    },
    {
      "@type": "WebPage",
      "name": "Caveman-3.0-README",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/README.md"
    },
    {
      "@type": "WebPage",
      "name": "Caveman Licensing Notes",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/LICENSING.md"
    },
    {
      "@type": "WebPage",
      "name": "Security- und Privacy-Modell",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/SECURITY.md"
    },
    {
      "@type": "WebPage",
      "name": "TypeScript Middleware 1.0",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/packages/middleware/typescript/README.md"
    },
    {
      "@type": "WebPage",
      "name": "Python Middleware 1.0",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/packages/middleware/python/README.md"
    },
    {
      "@type": "WebPage",
      "name": "CaveBench Wrap Benchmark",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/docs/WRAP-BENCHMARK.md"
    },
    {
      "@type": "WebPage",
      "name": "caveman learn Dokumentation",
      "url": "https://github.com/JuliusBrussee/caveman/blob/v3.0.0/docs/technical/learn.md"
    }
  ],
  "dateModified": "2026-10-02",
  "datePublished": "2026-10-02",
  "description": "Caveman 3.0 ist nicht mehr nur ein Skill für knappe Antworten. Der lokale Proxy kann Logs, JSON, YAML, Testausgaben und andere Tool-Ergebnisse komprimieren, bevor ein Coding-Agent sie an das Modell sendet, während exakte Originale für Recovery erhalten bleiben. Der veröffentlichte Claude-Code-Benchmark berichtet 33,2% weniger provider-gemessene Input-Tokens über 18 gepaarte Läufe bei 18/18 korrekten Antwortchecks. Ein HTML-Workload verbrauchte allerdings 9,9% mehr Input und die Rohartefakte des Benchmarks sind nicht veröffentlicht. Version 3.0 lizenziert außerdem das gesamte öffentliche Repository unter Apache-2.0 und stabilisiert die TypeScript- und Python-Middleware bei 1.0.0. Dieser Guide zeigt, was ein Pilot messen sollte und welche Datenschutz- und Aufbewahrungsgrenzen bleiben.",
  "headline": "Caveman 3.0 für Claude Code: Lokale Input-Kompression, Recovery und Benchmarks",
  "image": "https://wavect.io/img/blog/headers/header_caveman-3-claude-code-input-compression.svg",
  "inLanguage": "de",
  "keywords": "AI Coding Agents, Context Compression, Claude Code",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/de/blog/caveman-3-claude-code-input-compression/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/de/blog/caveman-3-claude-code-input-compression/",
  "wordCount": 2914
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/",
      "name": "Startseite",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/blog/overview/",
      "name": "Blog-Übersicht",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/blog/topics/ai-agents/",
      "name": "AI und Agents",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/blog/clusters/models-infrastructure/",
      "name": "Modelle und Infrastruktur",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/de/blog/caveman-3-claude-code-input-compression/",
      "name": "Caveman 3.0 für Claude Code: Input-Kompression",
      "position": 5
    }
  ]
}
```
