Memory for AI that serves the same customer over time
People change.
Your AI should remember how.
A compact, chronological account of what a person wanted, tried, and changed — so each conversation continues their story instead of starting over.
Jan 24 · message
“I'm leaving after my bonus.”
Apr 11 · message
“I accepted the promotion. I'm staying.”
01The human argument
People are not profiles.
Facts are snapshots. A person's story is what connects them.
Stored as a profile
3 fields
- Goal
- Wants to leave their job.
- Goal
- Accepted a promotion.
- Goal
- Wants to grow as a leader.
Three accurate facts. Nothing here says which is still true.
Held as an arc
Same 3 facts
- Jan
Wants to leave their job.
Burned out. Planning to go after the bonus.
- Apr
Accepted a promotion.
An unexpected offer, from the manager they were avoiding.
- Now
Wants to grow as a leader.
In order, they stop contradicting. Arc keeps the sequence, not just the facts.
02What Arc rebuilds
Summaries at every granularity. Exact sources where they count.
Each request picks a level per stretch of time, then spends what the coarse ones save on exact sources.
Level three
Coarsest retained
Level two
Merged neighbours
Level one
Compacted event groups
Source events
Retained in order, never replaced
Reconstructed
For “Why did I decide to stay?”
↑ Jan 24 and Apr 11, restored exactly
Search tells Arc where to zoom in. It does not decide which parts of a person's history get to exist.
Every Event a request may see stays represented, at one resolution or another, in exactly one span. That is all complete means here — not that every detail survives compression.
And narrative does not mean invented. Retained source Events stay the evidence of record.
What the shortcuts drop
| A profile | The path behind them |
|---|---|
| Top-K retrieval | The whole chronology |
| A rolling summary | Exact moments, once folded in |
| A recent window | The distant event that may explain it |
Arc changes resolution instead of dropping history.
03Point of view
A good recommendation starts with the person, not the product.
We believe more commerce will run through an ongoing conversation with an AI acting for a business — not a bot that remembers your name.
What continuity is worth
- Continuity across conversations
- A better read on current intent
- More relevant guidance
- More trust, more reasons to return
Our thesis, not a benchmark result. Memory alone guarantees none of it.
Who this is for
Fits
- A goal that takes months
- Health and care
- Money and long decisions
- Learning over many sittings
Does not fit
- A one-off checkout
- An isolated support ticket
- A tool call that starts fresh
04Measured
Send everything, or send four percent.
On a history small enough to send whole, Arc stays within a few points of full raw context — on a twenty-fourth of the memory.
| Measurement | NoneNo memory | WholeThe whole history | Arc 4KArc 4K |
|---|---|---|---|
| TokensMemory tokens | 0 | 92,269 | 3,887 |
| FactualFactual support | 7.9% | 83.6% | 79.3% |
| TemporalTemporal accuracy | 7.1% | 94.8% | 92.7% |
| UsefulUsefulness | 6.8% | 89.8% | 87.2% |
| Token F1Reference-answer token F1 | 9.6% | 46.4% | 41.9% |
| CostCost per query | $0.0028 | $0.0819 | $0.0296 |
Full raw context is ahead on every dimension. Arc 4K trades 4.3 points of factual support for 96% fewer memory tokens and 64% lower cost. Arc 16K narrows the gap to 2.7 points on 8,510 tokens.
Long-memory suite · 4 histories · 64 cases · about 92K raw tokens each. Every arm completed all 64 cases. On our extreme suite — 1.18M tokens per history — sending it whole is not an option at all.
05Start
One timeline for everything that shapes the story.
- 01
Create the person.
PUT /v1/users/{user_id}
- 02
Append what happened, in order.
POST /v1/users/{user_id}/events:append
- 03
Retrieve the reconstruction — or let Arc answer.
POST /v1/users/{user_id}/memory/retrieve
Append what happened
POST /v1/users/u_8fc2/events:append
{
"idempotency_key": "chat:msg_7741:v1",
"event_type": "message.user",
"occurred_at": "2026-04-11T15:20:11Z",
"source": "guide-chat",
"actor": "user",
"text": "I accepted the promotion. I'm staying.",
"memory_policy": "allow"
}Ask for the arc
POST /v1/users/u_8fc2/memory/retrieve
{
"query": "Why did I decide to stay?",
"budget_tokens": 4000,
"require_fresh": false
}One chronological cover inside the budget, with January and April restored exactly.
Start with one person. Add what happened. Continue from there.