Skip to content

Concepts

Concepts are curated knowledge — generalized understanding that the agent creates from episodes. They're the persistent, meaningful output of Remind's memory system.

Structure

Each concept has:

FieldDescription
idUnique identifier
titleShort descriptive title
summaryNatural language description of the knowledge
concept_typeType: pattern (generalizations), fact_cluster (grouped facts)
confidenceHow certain (0.0–1.0)
instance_countHow many episodes support this concept
relationsTyped edges to other concepts
conditionsWhen/where this concept applies
exceptionsKnown cases where it doesn't hold
source_episodesEpisode IDs this was derived from
specificsFor fact_clusters: list of verbatim facts
entity_idsEntities linked to this concept
embeddingDense vector for similarity retrieval
tagsSearchable tags
topicKnowledge area (e.g., "architecture", "product")
decay_factorRetrieval priority weight (affected by memory decay)

How concepts differ from episodes

EpisodesConcepts
NatureSpecific, rawCurated, structured
Created byremember()Agent via apply
LifespanPending → processedPersistent
StructurePlain text + typeText + confidence + relations
RetrievalDirect searchPrimary retrieval target

Concept types

Pattern concepts

Generalizations the agent creates from observations, decisions, and outcomes:

Pattern: "The team favors statically typed languages for backend services"

  • Created from multiple language preference observations
  • Generalizes across specific instances
concept from=ep:11,ep:12,ep:13 title="Language preferences" "Team favors statically typed languages"

Fact clusters

Groups of related concrete facts, created automatically when fact episodes are stored:

Fact Cluster: "Redis Configuration"

  • Redis TTL: 300s (alice, 2024-06-01)
  • Redis connection pool: 10 (bob, 2024-06-05)

Fact clusters preserve exact values. When facts conflict, both are kept and a conflict is opened.

Standalone facts

Single fact episodes that don't share entities with other facts are not clustered. They remain as first-class retrieval targets via direct episode search.

Creating concepts with apply

Agents create concepts via the apply tool:

concept as=c1 from=ep:11,ep:12 title="Auth pattern" "JWT with refresh tokens"
link source=$c1 type=implies target=concept:security
processed ids=ep:11,ep:12

This:

  1. Creates a concept from episodes 11 and 12
  2. Links it to an existing security concept
  3. Marks the source episodes as processed

Concept quality

Good concepts are:

  • Specific and falsifiable — Making concrete claims, not abstract platitudes
  • Generalized (for patterns) — Not just restating a single episode
  • Verbatim (for facts) — Preserving exact values
  • Conditional — Stating when they apply
  • Connected — Linked to related concepts via typed relations
  • Grounded — Traceable back to source episodes

Topics

Concepts can belong to a topic — a knowledge area like "architecture" or "product". Topics scope retrieval (queries can be filtered to a specific topic).

Concepts without a topic are treated as general knowledge accessible from any topic context.

Managing concepts

bash
# View a concept
remind snapshot concept:<id>

# Create a concept (via apply)
remind apply << 'EOF'
concept from=ep:11,ep:12 title="New pattern" "Description of the pattern"
EOF

# Update a concept's summary
remind update-concept <id> -s "Refined understanding"

# Update confidence
remind update-concept <id> --confidence 0.9

# Reassign or clear topic
remind update-concept <id> --topic product
remind update-concept <id> --clear-topic

# Soft delete
remind delete-concept <id>

# Restore
remind restore-concept <id>

TIP

Updating a concept's summary clears its embedding vector. The embedding is regenerated on the next recall query.

Released under the Apache 2.0 License.