Reasoning reuse: cache the chain of thought, not just the answer

The expensive part of a hard answer is the thinking. Crowkis stores reasoning as a reusable step graph and replays it for the next question that shares its shape, at a fraction of the token cost.

Answer-level caching has a ceiling: it only helps when the final answer transfers verbatim. But on hard queries the tokens go into the reasoning, the step-by-step derivation, the plan, the structured analysis. Two questions can need identical reasoning with different specifics, and answer caching can't see the kinship.

Crowkis parses a chain-of-thought trace into a step DAG, abstracts the specifics into variables, and stores the shape. When a new query matches that shape, it substitutes the new values and only the final synthesis touches the model, roughly 15% of the original token cost.

flowchart TD
  A["chain-of-thought trace"] --> B["parse into step DAG"]
  B --> C["abstract specifics to variables"]
  C --> D["store the reusable shape"]
  D --> E["new query, same shape"]
  E --> F["substitute + synthesize, ~15% cost"]
Figure 1. how reasoning reuse works First solve pays full price. Every structural sibling after pays a recomposition.

In plain words. The way you solve one amortization problem is the way you solve all of them. Cache the method, swap the numbers.

crowkis cli
CTHINK "amortize 12000 over 24mo at 6%" "step1 ... step2 ... payment="
CREUSE "amortize 8000 over 36mo at 5%"   # matches the shape, reuses the plan

Multi-step reasoning is often several times more expensive than a plain answer, which is exactly why reusing it moves the bill more than answer caching alone. It's gated by the same confidence machinery as every other hit, so a reasoning shape only serves where the match clears the bar.

Everyone caches the conclusion. Almost nobody caches the thinking, which is where the tokens actually went.

Filed under Features. Published .