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.

One person's history on a single timeline, reconstructed for the question “Why did I decide to stay?”. Long stretches are held as compact chapters; the source messages the question depends on are restored exactly.
JanMarMayJulNow
compact chapterheld in detailexact source

Jan 24 · message

I'm leaving after my bonus.

Apr 11 · message

I accepted the promotion. I'm staying.

Ask this history

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.

Nothing here says which is still true.

Held as an arc

Same 3 facts

  1. Jan

    Wants to leave their job.

    Burned out. Planning to go after the bonus.

  2. Apr

    Accepted a promotion.

    An unexpected offer, from the manager they were avoiding.

  3. Now

    Wants to grow as a leader.

In order, they stop contradicting.

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?”

L1L3L1L2

↑ Jan 24 and Apr 11, restored exactly

Retained, not used this timeChosen for this requestExact source, restored by retrieval

Retrieval decides where to zoom in — never what gets to exist.

Retained source Events stay the evidence of record.

03Point of view

A good recommendation starts with the person, not the product.

Every conversation either continues the relationship or restarts it.

First conversationMonths laterWith ArcWithout memory

One sitting

  • A checkout
  • A support ticket
  • A tool call

Many months

  • Learning over many sittings
  • Health and care
  • Money and long decisions
  • A goal that takes months

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.

Memory tokens sent per query

The whole history92,269
Arc 4K3,887
MeasurementNoneWholeArc 4K
Factual7.9%83.6%79.3%
Temporal7.1%94.8%92.7%
Useful6.8%89.8%87.2%
Token F19.6%46.4%41.9%
Cost$0.0028$0.0819$0.0296

Full raw context is ahead on every dimension. Arc 4K trades 4.3 points of factual support for 64% lower cost — and 16K narrows that to 2.7 on 8,510 tokens.

Long-memory suite · 4 histories · 64 cases · about 92K raw tokens each

Method, costs, and limitations

05Start

One timeline for everything that shapes the story.

  1. 01

    Create the person.

    PUT /v1/users/{user_id}

  2. 02

    Append what happened, in order.

    POST /v1/users/{user_id}/events:append

  3. 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.