Skip to main content
After each task session, ByteRover automatically extracts durable knowledge from the conversation and persists it as agent memories. These memories carry forward across sessions, helping the agent recall patterns, preferences, entities, decisions, and skills from past interactions.

Memory Categories

The agent extracts up to 3 memories per category (max 200 characters each):

How Extraction Works

  1. Threshold — Extraction triggers after a session with at least 4 messages (1 for curate sessions). Short or trivial interactions are skipped.
  2. Serialization — The conversation is serialized into a text digest, truncated to 12,000 characters at a natural message boundary.
  3. LLM extraction — An LLM call identifies 0–3 memories per category from the digest.
  4. Fallback — For curate sessions, deterministic fallback drafts are generated from the curated file paths and module labels instead of using the LLM. This is faster, cheaper, and more consistent for routine curations.

Deduplication

Before storing, draft memories are compared against the 60 most recent agent memories. For each draft, the system decides: Decisions always use Create — they are treated as an immutable audit log. Curate-session fallback drafts use fast string-matching deduplication instead of an LLM call.

Storage

Extracted memories are stored as JSON blobs in the project’s .brv/ directory, tagged with source "agent". They persist across sessions and are available for future agent interactions — the agent can reference past patterns, honor stated preferences, and build on prior decisions without being told again.