Skip to main content
Profy experts remember what you said across sessions. Memory enters a conversation through two channels. This page separates them first, then covers ownership and layers. For day-to-day management see personal memory and expert memory.

Two channels

One store, two channels. They do not stand in for each other:
If the expert never calls the memory tool, this turn can still be using memory. Context engineering places relevant memories into context before the first token. What the tool writes is read back on a later turn by that same context path.
Both channels write the same store. Personal versus expert memory, below, is ownership. It is independent of which channel ran. After the conversation ends there is a third write: a silent background review once a threshold is met. That is not an action inside this turn’s context, and it is not a tool you can click.

First, two owners

Memory isn’t one big pool. There are two ownership tracks that never overwrite each other:
What comes out of chatting with an expert does not become personal memory — that path writes expert memory. To make a preference apply everywhere, say it in free chat, or say “remember: …” explicitly at any time.

Three layers

On the expert side, data flows one way:

Where memories come from

Automatic extraction (the main source)

A background pass analyzes the conversation afterwards and keeps only what meets three criteria: specific (not “likes good code”), durable (not “is debugging this right now”), and non-obvious (not “wants working code”). Deduplication runs before every write. There’s a threshold: the expert path requires 5 accumulated turns for that user × expert pair and at least 3 human messages in the session. The counter persists across sessions and expires after 7 days of no interaction. So seeing no new memories after two messages is normal.

Explicit memories

“Remember: my team has a weekly sync on Wednesdays.” That sentence goes through the memory tool: the expert calls it in the conversation and it lands directly, bypassing quality gating. This is the most reliable route.

Creator seeding

Creators can pre-seed domain understanding during distillation so an expert has judgment from the first conversation. It doesn’t interfere with your memories, and creators cannot see your memory content.

Consolidation (Dream)

Periodically the system distills scattered entries into structured knowledge: sync evidence → distill in chunks (at most 12 evidence items per LLM call) → resolve contradictions (the old fact’s validity closes, the new one takes over, history preserved) → update the graph. Deep consolidation only looks at memories with activity in the last 24 hours, has a 600-second budget per tick, and a 6-hour cooldown.
Consolidation never rewrites your memory list. It distills from it and never writes back.

How much gets injected

Injection is the read side of context engineering, not a search from the memory tool. Not everything is included — retrieval runs against a budget: 30 candidates → 1-hop graph expansion from the top 5 → at most 20 facts, capped at 2,000 tokens total. Whichever limit hits first wins; if retrieval fails it degrades to a deterministic top 20. Which memories an answer used is stored with the message, so the citations survive a refresh.
Memory is reference, not instruction. You prefer TypeScript, but when the task is editing a Python project the expert won’t rewrite it in TS — that’s correct.

What you control

When something is wrong, prefer editing: deleting discards the reasoning distilled from it too, while a rewrite lets the next consolidation redo the work with correct input.

Common issues

Next

Personal memory

Your cross-expert profile

Expert memory

Memory list, core memory, and the graph

Temporal memory graph

Entities, facts, and validity windows

Temporary chat

A mode that neither reads nor writes memory